Lines Matching full:scope
25 static void AddScopes(ir::AstNode *node, std::set<varbinder::Scope *> &scopes) noexcept in AddScopes()
27 if (node->Scope()->IsFunctionScope()) { in AddScopes()
28 scopes.emplace(node->Scope()->AsFunctionScope()->ParamScope()); in AddScopes()
30 if (node->Scope()->IsCatchScope()) { in AddScopes()
31 scopes.emplace(node->Scope()->AsCatchScope()->ParamScope()); in AddScopes()
33 if (node->Scope()->IsLoopScope()) { in AddScopes()
34 scopes.emplace(node->Scope()->AsLoopScope()->DeclScope()); in AddScopes()
36 scopes.emplace(node->Scope()); in AddScopes()
39 static varbinder::Variable *FindVariable(ir::Identifier *ident, std::set<varbinder::Scope *> const … in FindVariable()
42 …// NOTE! For some unknown reasons :) variables exist in scope collections but are not set to iden… in FindVariable()
45 // We start from the innermost scope! in FindVariable()
56 auto *scope = var->GetScope(); in FindVariable() local
57 ASSERT(scope != nullptr); in FindVariable()
59 if (scopes.find(scope) != scopes.cend()) { in FindVariable()
70 auto scopes = std::set<varbinder::Scope *> {}; in FindModifiedCaptured()
76 auto savedScopes = std::set<varbinder::Scope *> {}; in FindModifiedCaptured()