Chromium Code Reviews| 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 44 EnumBuilder, | 44 EnumBuilder, |
| 45 FormalParameterBuilder, | 45 FormalParameterBuilder, |
| 46 KernelConstructorBuilder, | 46 KernelConstructorBuilder, |
| 47 KernelFieldBuilder, | 47 KernelFieldBuilder, |
| 48 KernelFormalParameterBuilder, | 48 KernelFormalParameterBuilder, |
| 49 KernelInterfaceTypeBuilder, | 49 KernelInterfaceTypeBuilder, |
| 50 KernelLibraryBuilder, | 50 KernelLibraryBuilder, |
| 51 KernelProcedureBuilder, | 51 KernelProcedureBuilder, |
| 52 KernelTypeBuilder, | 52 KernelTypeBuilder, |
| 53 LibraryBuilder, | 53 LibraryBuilder, |
| 54 MemberBuilder, | |
| 55 MetadataBuilder; | 54 MetadataBuilder; |
| 56 | 55 |
| 57 class KernelEnumBuilder extends SourceClassBuilder | 56 class KernelEnumBuilder extends SourceClassBuilder |
| 58 implements EnumBuilder<KernelTypeBuilder, InterfaceType> { | 57 implements EnumBuilder<KernelTypeBuilder, InterfaceType> { |
| 59 final List<String> constants; | 58 final List<String> constants; |
| 60 | 59 |
| 61 final MapLiteral toStringMap; | 60 final MapLiteral toStringMap; |
| 62 | 61 |
| 63 final KernelTypeBuilder intType; | 62 final KernelTypeBuilder intType; |
| 64 | 63 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 129 new KernelFieldBuilder(null, selfType, name, constMask | staticMask); | 128 new KernelFieldBuilder(null, selfType, name, constMask | staticMask); |
| 130 members[name] = fieldBuilder; | 129 members[name] = fieldBuilder; |
| 131 toStringEntries.add(new MapEntry( | 130 toStringEntries.add(new MapEntry( |
| 132 new IntLiteral(index), new StringLiteral("$className.$name"))); | 131 new IntLiteral(index), new StringLiteral("$className.$name"))); |
| 133 index++; | 132 index++; |
| 134 } | 133 } |
| 135 MapLiteral toStringMap = new MapLiteral(toStringEntries, isConst: true); | 134 MapLiteral toStringMap = new MapLiteral(toStringEntries, isConst: true); |
| 136 KernelEnumBuilder enumBuilder = new KernelEnumBuilder.internal(metadata, | 135 KernelEnumBuilder enumBuilder = new KernelEnumBuilder.internal(metadata, |
| 137 name, members, types, cls, constants, toStringMap, intType, stringType, | 136 name, members, types, cls, constants, toStringMap, intType, stringType, |
| 138 parent); | 137 parent); |
| 139 members.forEach((String name, MemberBuilder builder) { | 138 // TODO(sigmund): dynamic should be `covariant MemberBuilder`. |
| 139 members.forEach((String name, dynamic builder) { | |
|
ahe
2017/02/07 11:03:08
I think I prefer this:
members.forEach((String na
Siggi Cherem (dart-lang)
2017/02/07 21:59:26
Done. I had that in on my first change and I thoug
ahe
2017/02/08 19:59:23
Yeah, sorry about that. Sometimes stuffs needs to
Siggi Cherem (dart-lang)
2017/02/09 04:44:02
No problem, I understand
| |
| 140 builder.parent = enumBuilder; | 140 builder.parent = enumBuilder; |
| 141 }); | 141 }); |
| 142 selfType.builder = enumBuilder; | 142 selfType.builder = enumBuilder; |
| 143 return enumBuilder; | 143 return enumBuilder; |
| 144 } | 144 } |
| 145 | 145 |
| 146 InterfaceType buildType(List<KernelTypeBuilder> arguments) { | 146 InterfaceType buildType(List<KernelTypeBuilder> arguments) { |
| 147 return cls.rawType; | 147 return cls.rawType; |
| 148 } | 148 } |
| 149 | 149 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 182 Arguments arguments = | 182 Arguments arguments = |
| 183 new Arguments(<Expression>[new IntLiteral(index++)]); | 183 new Arguments(<Expression>[new IntLiteral(index++)]); |
| 184 field.initializer = | 184 field.initializer = |
| 185 new ConstructorInvocation(constructor, arguments, isConst: true); | 185 new ConstructorInvocation(constructor, arguments, isConst: true); |
| 186 } | 186 } |
| 187 return super.build(libraryBuilder); | 187 return super.build(libraryBuilder); |
| 188 } | 188 } |
| 189 | 189 |
| 190 Builder findConstructorOrFactory(String name) => null; | 190 Builder findConstructorOrFactory(String name) => null; |
| 191 } | 191 } |
| OLD | NEW |