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

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

Issue 2729943003: Recover from bad supertypes. (Closed)
Patch Set: Update status files. Created 3 years, 10 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 1a368778d117646b1ecadf140aa490cfe63aa679..4261723ee8af1f95cbf76f06c52333b4b8c007fb 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
@@ -174,7 +174,8 @@ class KernelEnumBuilder extends SourceClassBuilder
KernelTypeBuilder get mixedInType => null;
- InterfaceType buildType(List<KernelTypeBuilder> arguments) {
+ InterfaceType buildType(
+ LibraryBuilder library, List<KernelTypeBuilder> arguments) {
return cls.rawType;
}
@@ -183,10 +184,10 @@ class KernelEnumBuilder extends SourceClassBuilder
libraryBuilder.addCompileTimeError(
-1, "An enum declaration can't be empty.");
}
- toStringMap.keyType = intType.build();
- toStringMap.valueType = stringType.build();
+ toStringMap.keyType = intType.build(libraryBuilder);
+ toStringMap.valueType = stringType.build(libraryBuilder);
KernelFieldBuilder indexFieldBuilder = members["index"];
- Field indexField = indexFieldBuilder.build(libraryBuilder.library);
+ Field indexField = indexFieldBuilder.build(libraryBuilder);
KernelProcedureBuilder toStringBuilder = members["toString"];
toStringBuilder.body = new ReturnStatement(new MethodInvocation(
toStringMap,
@@ -197,14 +198,14 @@ class KernelEnumBuilder extends SourceClassBuilder
List<Expression> values = <Expression>[];
for (String name in constants) {
KernelFieldBuilder builder = members[name];
- values.add(new StaticGet(builder.build(libraryBuilder.library)));
+ values.add(new StaticGet(builder.build(libraryBuilder)));
}
KernelFieldBuilder valuesBuilder = members["values"];
- valuesBuilder.build(libraryBuilder.library);
+ valuesBuilder.build(libraryBuilder);
valuesBuilder.initializer =
new ListLiteral(values, typeArgument: cls.rawType, isConst: true);
KernelConstructorBuilder constructorBuilder = members[""];
- Constructor constructor = constructorBuilder.build(libraryBuilder.library);
+ Constructor constructor = constructorBuilder.build(libraryBuilder);
constructor.initializers.insert(
0,
new FieldInitializer(indexField,
@@ -213,7 +214,7 @@ class KernelEnumBuilder extends SourceClassBuilder
int index = 0;
for (String constant in constants) {
KernelFieldBuilder field = members[constant];
- field.build(libraryBuilder.library);
+ field.build(libraryBuilder);
Arguments arguments =
new Arguments(<Expression>[new IntLiteral(index++)]);
field.initializer =

Powered by Google App Engine
This is Rietveld 408576698