Chromium Code Reviews| Index: pkg/front_end/lib/src/fasta/builder/class_builder.dart |
| diff --git a/pkg/front_end/lib/src/fasta/builder/class_builder.dart b/pkg/front_end/lib/src/fasta/builder/class_builder.dart |
| index b87f675781bd82a8b06b42819beb5d5f62936405..13a0eda74b9b4479ec82bbbaf571bd657569a695 100644 |
| --- a/pkg/front_end/lib/src/fasta/builder/class_builder.dart |
| +++ b/pkg/front_end/lib/src/fasta/builder/class_builder.dart |
| @@ -11,6 +11,7 @@ import 'builder.dart' |
| Builder, |
| ConstructorReferenceBuilder, |
| LibraryBuilder, |
| + MemberBuilder, |
| MetadataBuilder, |
| MixinApplicationBuilder, |
| NamedTypeBuilder, |
| @@ -74,9 +75,9 @@ abstract class ClassBuilder<T extends TypeBuilder, R> |
| for (TypeVariableBuilder t in typeVariables) { |
| local[t.name] = t; |
| } |
| - parent = new Scope(local, parent, isModifiable: false); |
| + parent = new Scope(local, null, parent, isModifiable: false); |
| } |
| - return new Scope(membersInScope, parent, isModifiable: false); |
| + return new Scope(membersInScope, null, parent, isModifiable: false); |
| } |
| /// Used to lookup a static member of this class. |
| @@ -123,7 +124,9 @@ abstract class ClassBuilder<T extends TypeBuilder, R> |
| } |
| } |
| - Builder findConstructorOrFactory(String name); |
| + Builder findConstructorOrFactory(String name, int charOffset, Uri uri) { |
| + return constructors[name]; |
| + } |
| /// Returns a map which maps the type variables of [superclass] to their |
| /// respective values as defined by the superclass clause of this class (and |
| @@ -188,6 +191,16 @@ abstract class ClassBuilder<T extends TypeBuilder, R> |
| return substitutionMap; |
| } |
| + void forEach(void f(String name, MemberBuilder builder)) { |
| + members.forEach(f); |
| + } |
| + |
| + /// Don't use for scope lookup. Only use when an element is known to exist |
| + /// (and not a setter). |
|
karlklose
2017/04/03 06:28:52
'(and not a setter)' -> 'and is not a setter'.
Is
ahe
2017/04/04 09:41:33
Done.
|
| + MemberBuilder operator [](String name) { |
| + return members[name] ?? internalError("Not found: '$name'."); |
| + } |
| + |
| void addCompileTimeError(int charOffset, String message) { |
| library.addCompileTimeError(charOffset, message, fileUri: fileUri); |
| } |