| 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_enum_builder; | 5 library fasta.kernel_enum_builder; |
| 6 | 6 |
| 7 import 'package:kernel/ast.dart' show | 7 import 'package:kernel/ast.dart' show |
| 8 Arguments, | 8 Arguments, |
| 9 AsyncMarker, | 9 AsyncMarker, |
| 10 Class, | 10 Class, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 FormalParameterBuilder, | 45 FormalParameterBuilder, |
| 46 KernelConstructorBuilder, | 46 KernelConstructorBuilder, |
| 47 KernelFieldBuilder, | 47 KernelFieldBuilder, |
| 48 KernelFormalParameterBuilder, | 48 KernelFormalParameterBuilder, |
| 49 KernelLibraryBuilder, | 49 KernelLibraryBuilder, |
| 50 KernelNamedTypeBuilder, | 50 KernelNamedTypeBuilder, |
| 51 KernelProcedureBuilder, | 51 KernelProcedureBuilder, |
| 52 KernelTypeBuilder, | 52 KernelTypeBuilder, |
| 53 LibraryBuilder, | 53 LibraryBuilder, |
| 54 MemberBuilder, | 54 MemberBuilder, |
| 55 MetadataBuilder, | 55 MetadataBuilder; |
| 56 TypeBuilder; | |
| 57 | 56 |
| 58 class KernelEnumBuilder extends SourceClassBuilder | 57 class KernelEnumBuilder extends SourceClassBuilder |
| 59 implements EnumBuilder<KernelTypeBuilder, InterfaceType> { | 58 implements EnumBuilder<KernelTypeBuilder, InterfaceType> { |
| 60 final List<String> constants; | 59 final List<String> constants; |
| 61 | 60 |
| 62 final MapLiteral toStringMap; | 61 final MapLiteral toStringMap; |
| 63 | 62 |
| 64 final KernelTypeBuilder intType; | 63 final KernelTypeBuilder intType; |
| 65 | 64 |
| 66 final KernelTypeBuilder stringType; | 65 final KernelTypeBuilder stringType; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 parent, charOffset); | 133 parent, charOffset); |
| 135 // TODO(sigmund): dynamic should be `covariant MemberBuilder`. | 134 // TODO(sigmund): dynamic should be `covariant MemberBuilder`. |
| 136 members.forEach((String name, dynamic b) { | 135 members.forEach((String name, dynamic b) { |
| 137 MemberBuilder builder = b; | 136 MemberBuilder builder = b; |
| 138 builder.parent = enumBuilder; | 137 builder.parent = enumBuilder; |
| 139 }); | 138 }); |
| 140 selfType.builder = enumBuilder; | 139 selfType.builder = enumBuilder; |
| 141 return enumBuilder; | 140 return enumBuilder; |
| 142 } | 141 } |
| 143 | 142 |
| 144 TypeBuilder get mixedInType => null; | 143 KernelTypeBuilder get mixedInType => null; |
| 145 | 144 |
| 146 InterfaceType buildType(List<KernelTypeBuilder> arguments) { | 145 InterfaceType buildType(List<KernelTypeBuilder> arguments) { |
| 147 return cls.rawType; | 146 return cls.rawType; |
| 148 } | 147 } |
| 149 | 148 |
| 150 Class build(KernelLibraryBuilder libraryBuilder) { | 149 Class build(KernelLibraryBuilder libraryBuilder) { |
| 151 if (constants.isEmpty) { | 150 if (constants.isEmpty) { |
| 152 libraryBuilder.addCompileTimeError( | 151 libraryBuilder.addCompileTimeError( |
| 153 -1, "An enum declaration can't be empty."); | 152 -1, "An enum declaration can't be empty."); |
| 154 } | 153 } |
| (...skipping 27 matching lines...) Expand all Loading... |
| 182 Arguments arguments = | 181 Arguments arguments = |
| 183 new Arguments(<Expression>[new IntLiteral(index++)]); | 182 new Arguments(<Expression>[new IntLiteral(index++)]); |
| 184 field.initializer = | 183 field.initializer = |
| 185 new ConstructorInvocation(constructor, arguments, isConst: true); | 184 new ConstructorInvocation(constructor, arguments, isConst: true); |
| 186 } | 185 } |
| 187 return super.build(libraryBuilder); | 186 return super.build(libraryBuilder); |
| 188 } | 187 } |
| 189 | 188 |
| 190 Builder findConstructorOrFactory(String name) => null; | 189 Builder findConstructorOrFactory(String name) => null; |
| 191 } | 190 } |
| OLD | NEW |