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

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: A parenthesized expression doesn't have a name. 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..5c38868e3a725ec24c8e9ab7018caa44b51aa62c 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;
@@ -119,8 +121,8 @@ class KernelEnumBuilder extends SourceClassBuilder
/// static const List<E> values = const <E>[id0, ..., idn-1];
/// String toString() => { 0: ‘E.id0’, . . ., n-1: ‘E.idn-1’}[index]
/// }
- members["index"] = new KernelFieldBuilder(
- null, intType, "index", finalMask, parent, charOffset, null);
+ members["index"] = new KernelFieldBuilder(null, intType, "index", finalMask,
+ parent, charOffset, new Token.eof(charOffset));
Johnni Winther 2017/06/06 10:35:08 Document why you pass `new Token.eof(...)`
ahe 2017/06/06 15:08:24 Done.
KernelConstructorBuilder constructorBuilder = new KernelConstructorBuilder(
null,
constMask,
@@ -138,8 +140,14 @@ 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,
+ new Token.eof(charOffset));
members["values"] = valuesBuilder;
KernelProcedureBuilder toStringBuilder = new KernelProcedureBuilder(
null,
@@ -162,8 +170,14 @@ 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,
+ new Token.eof(charOffset));
members[name] = fieldBuilder;
toStringEntries.add(new MapEntry(
new IntLiteral(index), new StringLiteral("$className.$name")));

Powered by Google App Engine
This is Rietveld 408576698