| Index: pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
|
| index 2ed1a8cfb5f3fed3f6dca27abde3a2b74e87a2a5..93ef76172e29583654c9f2b40c62a6190b6b6a85 100644
|
| --- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
|
| +++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
|
| @@ -132,9 +132,6 @@ class KernelTarget extends TargetImplementation {
|
| Builder builder = type.builder;
|
| if (builder is ClassBuilder) {
|
| set.add(builder);
|
| - } else if (builder is! InvalidTypeBuilder &&
|
| - builder is! DynamicTypeBuilder) {
|
| - internalError("Unhandled: ${builder.runtimeType}");
|
| }
|
| }
|
|
|
| @@ -247,7 +244,7 @@ class KernelTarget extends TargetImplementation {
|
| loader.buildProgram();
|
| loader.checkSemantics();
|
| List<SourceClassBuilder> sourceClasses = collectAllSourceClasses();
|
| - installDefaultSupertypes(sourceClasses);
|
| + installDefaultSupertypes();
|
| installDefaultConstructors(sourceClasses);
|
| loader.resolveConstructors();
|
| loader.finishTypeVariables(objectClassBuilder);
|
| @@ -353,17 +350,21 @@ class KernelTarget extends TargetImplementation {
|
| return null;
|
| }
|
|
|
| - void installDefaultSupertypes(List<SourceClassBuilder> builders) {
|
| + void installDefaultSupertypes() {
|
| Class objectClass = this.objectClass;
|
| - for (SourceClassBuilder builder in builders) {
|
| - Class cls = builder.target;
|
| - if (cls != objectClass) {
|
| - cls.supertype ??= objectClass.asRawSupertype;
|
| - }
|
| - if (builder.isMixinApplication) {
|
| - cls.mixedInType = builder.mixedInType.buildSupertype();
|
| - }
|
| - }
|
| + loader.builders.forEach((Uri uri, LibraryBuilder library) {
|
| + library.members.forEach((String name, Builder builder) {
|
| + if (builder is SourceClassBuilder) {
|
| + Class cls = builder.target;
|
| + if (cls != objectClass) {
|
| + cls.supertype ??= objectClass.asRawSupertype;
|
| + }
|
| + if (builder.isMixinApplication) {
|
| + cls.mixedInType = builder.mixedInType.buildSupertype(library);
|
| + }
|
| + }
|
| + });
|
| + });
|
| ticker.logMs("Installed Object as implicit superclass");
|
| }
|
|
|
|
|