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

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

Issue 2828253003: Add top level type inference logic for integer literals. (Closed)
Patch Set: Clean up, bug fix, and remove unintentional expectations changes Created 3 years, 8 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/outline_builder.dart
diff --git a/pkg/front_end/lib/src/fasta/source/outline_builder.dart b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
index 20d32895ba10359a672b3190ee49a5e50c50c949..12ef5d5bea8ff34e7e9b2cc88bcc67d35f83f5da 100644
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
@@ -653,11 +653,11 @@ class OutlineBuilder extends UnhandledListener {
@override
void endTopLevelFields(int count, Token beginToken, Token endToken) {
debugEvent("endTopLevelFields");
- List namesAndOffsets = popList(count * 2);
+ List namesOffsetsAndInitializers = popList(count * 4);
TypeBuilder type = pop();
int modifiers = Modifier.validate(pop());
List<MetadataBuilder> metadata = pop();
- library.addFields(metadata, modifiers, type, namesAndOffsets);
+ library.addFields(metadata, modifiers, type, namesOffsetsAndInitializers);
checkEmpty(beginToken.charOffset);
}
@@ -665,11 +665,11 @@ class OutlineBuilder extends UnhandledListener {
void endFields(
int count, Token covariantToken, Token beginToken, Token endToken) {
debugEvent("Fields");
- List namesAndOffsets = popList(count * 2);
+ List namesOffsetsAndInitializers = popList(count * 4);
TypeBuilder type = pop();
int modifiers = Modifier.validate(pop());
List<MetadataBuilder> metadata = pop();
- library.addFields(metadata, modifiers, type, namesAndOffsets);
+ library.addFields(metadata, modifiers, type, namesOffsetsAndInitializers);
}
@override
@@ -751,14 +751,17 @@ class OutlineBuilder extends UnhandledListener {
}
@override
- void endFieldInitializer(Token assignmentOperator) {
+ void endFieldInitializer(Token assignmentOperator, Token token) {
debugEvent("FieldInitializer");
- // Ignoring field initializers for now.
+ push(assignmentOperator.next);
+ push(token);
}
@override
void handleNoFieldInitializer(Token token) {
debugEvent("NoFieldInitializer");
+ push(NullValue.FieldInitializer);
+ push(NullValue.FieldInitializer);
}
@override

Powered by Google App Engine
This is Rietveld 408576698