Lines Matching refs:Scope
25 class Scope;
30 struct PointerWithPayloadTraits<v8::internal::Scope> {
66 Variable* Declare(Zone* zone, Scope* scope, const AstRawString* name,
88 // JS environments are represented in the parser using Scope, DeclarationScope
92 class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
97 Scope(Zone* zone, Scope* outer_scope, ScopeType scope_type);
115 inline explicit Snapshot(Scope* scope);
134 Scope* outer_scope_;
135 Scope* declaration_scope_;
136 Scope* top_inner_scope_;
153 static Scope* DeserializeScopeChain(IsolateT* isolate, Zone* zone,
167 Scope* FinalizeBlockScope();
172 void ReplaceOuterScope(Scope* outer_scope);
200 Variable* LookupInScopeInfo(const AstRawString* name, Scope* cache);
271 const AstRawString* FindVariableDeclaredIn(Scope* scope,
275 // Scope-specific info.
283 for (Scope* scope = outer_scope(); scope != nullptr;
420 // Use Scope::ForEach for depth first traversal of scopes.
422 // void Scope::VisitRecursively() {
424 // for (Scope* s = inner_scope_; s != nullptr; s = s->sibling_) {
431 // void Scope::VisitIteratively() {
432 // this->ForEach([](Scope* s) {
450 bool IsOuterScopeOf(Scope* other) const;
466 Scope* inner_scope() const { return inner_scope_; }
467 Scope* sibling() const { return sibling_; }
470 Scope* outer_scope() const { return outer_scope_; }
511 bool AllowsLazyParsingWithoutUnresolvedVariables(const Scope* outer) const;
514 int ContextChainLength(Scope* scope) const;
551 Scope* GetHomeObjectScope();
556 Scope* GetOuterScopeWithContext();
612 bool RemoveInnerScope(Scope* inner_scope) {
618 for (Scope* scope = inner_scope_; scope != nullptr;
628 Variable* LookupInScopeOrScopeInfo(const AstRawString* name, Scope* cache) {
635 for (Scope* scope = this; scope != nullptr; scope = scope->outer_scope()) {
643 explicit Scope(Zone* zone);
689 static Variable* Lookup(VariableProxy* proxy, Scope* scope,
690 Scope* outer_scope_end, Scope* cache_scope = nullptr,
692 static Variable* LookupWith(VariableProxy* proxy, Scope* scope,
693 Scope* outer_scope_end, Scope* cache_scope,
695 static Variable* LookupSloppyEval(VariableProxy* proxy, Scope* scope,
696 Scope* outer_scope_end, Scope* cache_scope,
698 static void ResolvePreparsedVariable(VariableProxy* proxy, Scope* scope,
699 Scope* end);
702 V8_WARN_UNUSED_RESULT bool ResolveVariablesRecursively(Scope* end);
733 Scope(Zone* zone, ScopeType type, AstValueFactory* ast_value_factory,
737 Scope(Zone* zone, const AstRawString* catch_variable_name,
740 void AddInnerScope(Scope* inner_scope) {
753 // Scope tree.
754 Scope* outer_scope_; // the immediately enclosing outer scope, or nullptr
755 Scope* inner_scope_; // an inner scope of this scope
756 Scope* sibling_; // a sibling inner scope of the outer scope of this scope.
798 // Scope-specific information computed during parsing.
834 // Scope's variable map. This will be true for every scope above the first
856 class V8_EXPORT_PRIVATE DeclarationScope : public Scope {
858 DeclarationScope(Zone* zone, Scope* outer_scope, ScopeType scope_type,
870 Scope* RecordSuperPropertyUsage() {
875 Scope* home_object_scope = GetHomeObjectScope();
1012 Scope* cache = nullptr);
1033 VariableKind variable_kind, Scope* cache);
1151 // discard the Scope contents for lazily compiled functions. In particular,
1152 // this records variables which cannot be resolved inside the Scope (we don't
1349 void Scope::RecordEvalCall() {
1365 Scope::Snapshot::Snapshot(Scope* scope)
1398 class V8_EXPORT_PRIVATE ClassScope : public Scope {
1400 ClassScope(Zone* zone, Scope* outer_scope, bool is_anonymous);
1507 friend class Scope;
1561 explicit PrivateNameScopeIterator(Scope* start);
1576 Scope* start_scope_;
1577 Scope* current_scope_;