| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library fasta.kernel_mixin_application_builder; | 5 library fasta.kernel_mixin_application_builder; |
| 6 | 6 |
| 7 import 'package:kernel/ast.dart' show InterfaceType, Supertype, setParents; | 7 import 'package:kernel/ast.dart' show InterfaceType, Supertype, setParents; |
| 8 | 8 |
| 9 import '../modifier.dart' show abstractMask; | 9 import '../modifier.dart' show abstractMask; |
| 10 | 10 |
| 11 import '../source/source_class_builder.dart' show SourceClassBuilder; |
| 12 |
| 13 import '../util/relativize.dart' show relativizeUri; |
| 14 |
| 11 import 'kernel_builder.dart' | 15 import 'kernel_builder.dart' |
| 12 show | 16 show |
| 13 Builder, | |
| 14 ConstructorReferenceBuilder, | 17 ConstructorReferenceBuilder, |
| 15 KernelLibraryBuilder, | 18 KernelLibraryBuilder, |
| 16 KernelNamedTypeBuilder, | 19 KernelNamedTypeBuilder, |
| 17 KernelTypeBuilder, | 20 KernelTypeBuilder, |
| 18 KernelTypeVariableBuilder, | 21 KernelTypeVariableBuilder, |
| 19 LibraryBuilder, | 22 LibraryBuilder, |
| 23 MemberBuilder, |
| 20 MixinApplicationBuilder, | 24 MixinApplicationBuilder, |
| 25 Scope, |
| 21 TypeBuilder, | 26 TypeBuilder, |
| 22 TypeVariableBuilder; | 27 TypeVariableBuilder; |
| 23 | 28 |
| 24 import '../util/relativize.dart' show relativizeUri; | |
| 25 | |
| 26 import '../source/source_class_builder.dart' show SourceClassBuilder; | |
| 27 | |
| 28 class KernelMixinApplicationBuilder | 29 class KernelMixinApplicationBuilder |
| 29 extends MixinApplicationBuilder<KernelTypeBuilder> | 30 extends MixinApplicationBuilder<KernelTypeBuilder> |
| 30 implements KernelTypeBuilder { | 31 implements KernelTypeBuilder { |
| 31 final int charOffset; | 32 final int charOffset; |
| 32 | 33 |
| 33 final String relativeFileUri; | 34 final String relativeFileUri; |
| 34 | 35 |
| 35 final KernelLibraryBuilder library; | 36 final KernelLibraryBuilder library; |
| 36 | 37 |
| 37 Supertype builtType; | 38 Supertype builtType; |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 | 87 |
| 87 SourceClassBuilder cls = | 88 SourceClassBuilder cls = |
| 88 library.mixinApplicationClasses.putIfAbsent(name, () { | 89 library.mixinApplicationClasses.putIfAbsent(name, () { |
| 89 SourceClassBuilder cls = new SourceClassBuilder( | 90 SourceClassBuilder cls = new SourceClassBuilder( |
| 90 null, | 91 null, |
| 91 abstractMask, | 92 abstractMask, |
| 92 name, | 93 name, |
| 93 newTypeVariables, | 94 newTypeVariables, |
| 94 supertype, | 95 supertype, |
| 95 null, | 96 null, |
| 96 <String, Builder>{}, | 97 new Scope(<String, MemberBuilder>{}, <String, MemberBuilder>{}, |
| 98 library.scope.withTypeVariables(newTypeVariables), |
| 99 isModifiable: false), |
| 100 new Scope(<String, MemberBuilder>{}, null, null, isModifiable: false), |
| 97 library, | 101 library, |
| 98 <ConstructorReferenceBuilder>[], | 102 <ConstructorReferenceBuilder>[], |
| 99 charOffset, | 103 charOffset, |
| 100 null, | 104 null, |
| 101 mixin); | 105 mixin); |
| 102 library.addImplementationBuilder(name, cls, charOffset); | 106 library.addImplementationBuilder(name, cls, charOffset); |
| 103 if (newTypeVariables != null) { | 107 if (newTypeVariables != null) { |
| 104 for (KernelTypeVariableBuilder t in newTypeVariables) { | 108 for (KernelTypeVariableBuilder t in newTypeVariables) { |
| 105 cls.cls.typeParameters.add(t.parameter); | 109 cls.cls.typeParameters.add(t.parameter); |
| 106 } | 110 } |
| 107 setParents(cls.cls.typeParameters, cls.cls); | 111 setParents(cls.cls.typeParameters, cls.cls); |
| 108 } | 112 } |
| 109 return cls; | 113 return cls; |
| 110 }); | 114 }); |
| 111 return new KernelNamedTypeBuilder( | 115 return new KernelNamedTypeBuilder( |
| 112 name, typeArguments, charOffset, library.fileUri)..builder = cls; | 116 name, typeArguments, charOffset, library.fileUri)..builder = cls; |
| 113 } | 117 } |
| 114 } | 118 } |
| OLD | NEW |