Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(372)

Side by Side Diff: sdk/lib/_internal/compiler/implementation/resolution/scope.dart

Issue 11783009: Big merge from experimental to bleeding edge. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of resolution; 5 part of resolution;
6 6
7 abstract class Scope { 7 abstract class Scope {
8 /** 8 /**
9 * Adds [element] to this scope. This operation is only allowed on mutable 9 * Adds [element] to this scope. This operation is only allowed on mutable
10 * scopes such as [MethodScope] and [BlockScope]. 10 * scopes such as [MethodScope] and [BlockScope].
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 97
98 Element localLookup(SourceString name) => elements[name]; 98 Element localLookup(SourceString name) => elements[name];
99 } 99 }
100 100
101 class MethodScope extends MutableScope { 101 class MethodScope extends MutableScope {
102 final Element element; 102 final Element element;
103 103
104 MethodScope(Scope parent, this.element) 104 MethodScope(Scope parent, this.element)
105 : super(parent); 105 : super(parent);
106 106
107 String toString() => 'MethodScope($element${elements.keys})'; 107 String toString() => 'MethodScope($element${elements.keys.toList()})';
108 } 108 }
109 109
110 class BlockScope extends MutableScope { 110 class BlockScope extends MutableScope {
111 BlockScope(Scope parent) : super(parent); 111 BlockScope(Scope parent) : super(parent);
112 112
113 String toString() => 'BlockScope(${elements.keys})'; 113 String toString() => 'BlockScope(${elements.keys.toList()})';
114 } 114 }
115 115
116 /** 116 /**
117 * [ClassScope] defines the inner scope of a class/interface declaration in 117 * [ClassScope] defines the inner scope of a class/interface declaration in
118 * which declared members, declared type variables, entities in the enclosing 118 * which declared members, declared type variables, entities in the enclosing
119 * scope and inherited members are available, in the given order. 119 * scope and inherited members are available, in the given order.
120 */ 120 */
121 class ClassScope extends TypeDeclarationScope { 121 class ClassScope extends TypeDeclarationScope {
122 ClassElement get element => super.element; 122 ClassElement get element => super.element;
123 123
(...skipping 30 matching lines...) Expand all
154 154
155 Element localLookup(SourceString name) => library.find(name); 155 Element localLookup(SourceString name) => library.find(name);
156 Element lookup(SourceString name) => localLookup(name); 156 Element lookup(SourceString name) => localLookup(name);
157 157
158 Element add(Element newElement) { 158 Element add(Element newElement) {
159 throw "Cannot add an element to a library scope"; 159 throw "Cannot add an element to a library scope";
160 } 160 }
161 161
162 String toString() => 'LibraryScope($library)'; 162 String toString() => 'LibraryScope($library)';
163 } 163 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698