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

Unified Diff: pkg/front_end/lib/src/fasta/source/diet_listener.dart

Issue 2987503003: Further integration of front end type inference into analyzer. (Closed)
Patch Set: Created 3 years, 5 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 side-by-side diff with in-line comments
Download patch
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 0fd97f655d43c98e407bc2c091f71e8cc326fb51..08b0fe62c9368ffb3d43bf831078e4f570a5bcb8 100644
--- a/pkg/front_end/lib/src/fasta/source/diet_listener.dart
+++ b/pkg/front_end/lib/src/fasta/source/diet_listener.dart
@@ -554,6 +554,15 @@ class DietListener extends StackListener {
listener.finishFunction(metadataConstants, formals, asyncModifier, body);
}
+ /// Invokes the listener's [finishFields] method.
+ ///
+ /// This is a separate method so that it may be overridden by a derived class
+ /// if more computation must be done before finishing the function.
+ void listenerFinishFields(StackListener listener, Token startToken,
+ Token metadata, bool isTopLevel) {
+ listener.finishFields();
+ }
+
void parseFunctionBody(StackListener listener, Token startToken,
Token metadata, MemberKind kind) {
Token token = startToken;
@@ -584,8 +593,9 @@ class DietListener extends StackListener {
}
}
- void parseFields(
- StackListener listener, Token token, Token metadata, bool isTopLevel) {
+ void parseFields(StackListener listener, Token startToken, Token metadata,
+ bool isTopLevel) {
+ Token token = startToken;
Parser parser = new Parser(listener);
if (isTopLevel) {
// There's a slight asymmetry between [parseTopLevelMember] and
@@ -595,6 +605,7 @@ class DietListener extends StackListener {
} else {
token = parser.parseMember(metadata ?? token);
}
+ listenerFinishFields(listener, startToken, metadata, isTopLevel);
listener.checkEmpty(token.charOffset);
}
« no previous file with comments | « pkg/front_end/lib/src/fasta/kernel/body_builder.dart ('k') | pkg/front_end/lib/src/fasta/source/stack_listener.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698