Lines Matching full:scope
19 #include "varbinder/scope.h"
36 auto const *const scope = var->GetScope(); in operator ()() local
37 if (scope == nullptr) { in operator ()()
42 return CheckScope(ctx, scope); in operator ()()
45 …ult CheckScopeDeclaration::CheckScope(CheckContext &ctx, varbinder::Scope const *const scope) const in CheckScope()
47 auto const *const node = scope->Node(); in CheckScope()
54 ctx.AddCheckMessage("NODE IS NOT SCOPE BEARER", *node, node->Start()); in CheckScope()
58 if (node->Scope() == scope) { in CheckScope()
62 if (node->Scope()->IsFunctionScope()) { in CheckScope()
63 auto const *const functionScope = node->Scope()->AsFunctionScope(); in CheckScope()
64 if (functionScope->ParamScope() == scope) { in CheckScope()
70 // Loop Scope has type Local, using flag instead in CheckScope()
71 if (node->Scope()->HasFlag(varbinder::ScopeFlags::LOOP_SCOPE)) { in CheckScope()
73 auto *const loopScope = reinterpret_cast<varbinder::LoopScope *>(node->Scope()); in CheckScope()
74 if (loopScope->DeclScope() == scope) { in CheckScope()
79 if (node->Scope()->IsCatchScope()) { in CheckScope()
80 auto *const catchScope = node->Scope()->AsCatchScope(); in CheckScope()
81 if (catchScope->ParamScope() == scope) { in CheckScope()
86 ctx.AddCheckMessage("SCOPE IS NOT CONSISTENT WITH ITS DECLARING NODE", *node, node->Start()); in CheckScope()