Index: pkg/front_end/lib/src/fasta/source/diet_listener.dart |
diff --git a/pkg/front_end/lib/src/fasta/source/diet_listener.dart b/pkg/front_end/lib/src/fasta/source/diet_listener.dart |
index 8f51cfdae72f675cee3c8a6e343fe927fde2ffb1..89cbf4a5ce129a2c37669e2912486ede133098d5 100644 |
--- a/pkg/front_end/lib/src/fasta/source/diet_listener.dart |
+++ b/pkg/front_end/lib/src/fasta/source/diet_listener.dart |
@@ -29,12 +29,8 @@ import '../kernel/body_builder.dart' show BodyBuilder; |
import '../builder/builder.dart'; |
-import '../analyzer/analyzer.dart'; |
- |
import '../builder/scope.dart' show Scope; |
-import '../ast_kind.dart' show AstKind; |
- |
import 'source_library_builder.dart' show SourceLibraryBuilder; |
import '../kernel/kernel_library_builder.dart' show isConstructorName; |
@@ -42,14 +38,10 @@ import '../kernel/kernel_library_builder.dart' show isConstructorName; |
class DietListener extends StackListener { |
final SourceLibraryBuilder library; |
- final ElementStore elementStore; |
- |
final ClassHierarchy hierarchy; |
final CoreTypes coreTypes; |
- final AstKind astKind; |
- |
final bool isDartLibrary; |
ClassBuilder currentClass; |
@@ -61,8 +53,7 @@ class DietListener extends StackListener { |
@override |
Uri uri; |
- DietListener(SourceLibraryBuilder library, this.elementStore, this.hierarchy, |
- this.coreTypes, this.astKind) |
+ DietListener(SourceLibraryBuilder library, this.hierarchy, this.coreTypes) |
: library = library, |
uri = library.fileUri, |
memberScope = library.scope, |
@@ -380,24 +371,8 @@ class DietListener extends StackListener { |
StackListener createListener( |
MemberBuilder builder, Scope memberScope, bool isInstanceMember, |
[Scope formalParameterScope]) { |
- switch (astKind) { |
- case AstKind.Kernel: |
- return new BodyBuilder( |
- library, |
- builder, |
- memberScope, |
- formalParameterScope, |
- hierarchy, |
- coreTypes, |
- currentClass, |
- isInstanceMember, |
- uri); |
- |
- case AstKind.Analyzer: |
- return new AstBuilder(library, builder, elementStore, memberScope, uri); |
- } |
- |
- return internalError("Unknown $astKind"); |
+ return new BodyBuilder(library, builder, memberScope, formalParameterScope, |
+ hierarchy, coreTypes, currentClass, isInstanceMember, uri); |
} |
void buildFunctionBody(Token token, ProcedureBuilder builder) { |
@@ -487,6 +462,8 @@ class DietListener extends StackListener { |
return removeNativeClause(identifiers); |
} |
+ AsyncMarker getAsyncMarker(StackListener listener) => listener.pop(); |
+ |
void parseFunctionBody(StackListener listener, Token token) { |
try { |
Parser parser = new Parser(listener); |
@@ -496,8 +473,7 @@ class DietListener extends StackListener { |
listener.prepareInitializers(); |
token = parser.parseInitializersOpt(token); |
token = parser.parseAsyncModifier(token); |
- AsyncMarker asyncModifier = |
- astKind == AstKind.Analyzer ? null : listener.pop(); |
+ AsyncMarker asyncModifier = getAsyncMarker(listener); |
bool isExpression = false; |
bool allowAbstract = true; |
parser.parseFunctionBody(token, isExpression, allowAbstract); |