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

Unified Diff: pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart

Issue 2916333002: Setup correct scope for initializers and complain about fields initialized more than once. (Closed)
Patch Set: More typos. Created 3 years, 6 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/kernel/kernel_enum_builder.dart
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart
index 1673f8de544cb23b102f3d8be8eb2cf81db1453e..75e03191b7203ac88f7fefea0d9dd06d3256522a 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart
@@ -28,6 +28,8 @@ import 'package:kernel/ast.dart'
ThisExpression,
VariableGet;
+import 'package:front_end/src/scanner/token.dart' show Token;
+
import '../errors.dart' show inputError;
import '../modifier.dart' show constMask, finalMask, staticMask;
@@ -120,7 +122,14 @@ class KernelEnumBuilder extends SourceClassBuilder
/// String toString() => { 0: ‘E.id0’, . . ., n-1: ‘E.idn-1’}[index]
/// }
members["index"] = new KernelFieldBuilder(
- null, intType, "index", finalMask, parent, charOffset, null);
+ null,
+ intType,
+ "index",
+ finalMask,
+ parent,
+ charOffset,
+ // Synthetic token to signal this field is initialized.
+ new Token.eof(charOffset));
KernelConstructorBuilder constructorBuilder = new KernelConstructorBuilder(
null,
constMask,
@@ -138,8 +147,15 @@ class KernelEnumBuilder extends SourceClassBuilder
constructors[""] = constructorBuilder;
int index = 0;
List<MapEntry> toStringEntries = <MapEntry>[];
- KernelFieldBuilder valuesBuilder = new KernelFieldBuilder(null, listType,
- "values", constMask | staticMask, parent, charOffset, null);
+ KernelFieldBuilder valuesBuilder = new KernelFieldBuilder(
+ null,
+ listType,
+ "values",
+ constMask | staticMask,
+ parent,
+ charOffset,
+ // Synthetic token to signal this field is initialized.
+ new Token.eof(charOffset));
members["values"] = valuesBuilder;
KernelProcedureBuilder toStringBuilder = new KernelProcedureBuilder(
null,
@@ -162,8 +178,15 @@ class KernelEnumBuilder extends SourceClassBuilder
inputError(null, null, "Duplicated name: $name");
continue;
}
- KernelFieldBuilder fieldBuilder = new KernelFieldBuilder(null, selfType,
- name, constMask | staticMask, parent, charOffset, null);
+ KernelFieldBuilder fieldBuilder = new KernelFieldBuilder(
+ null,
+ selfType,
+ name,
+ constMask | staticMask,
+ parent,
+ charOffset,
+ // Synthetic token to signal this field is initialized.
+ new Token.eof(charOffset));
members[name] = fieldBuilder;
toStringEntries.add(new MapEntry(
new IntLiteral(index), new StringLiteral("$className.$name")));
« no previous file with comments | « pkg/front_end/lib/src/fasta/kernel/fasta_accessors.dart ('k') | pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698