| 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_library_builder; | 5 library fasta.kernel_library_builder; |
| 6 | 6 |
| 7 import 'package:front_end/src/fasta/scanner/token.dart' show Token; |
| 8 |
| 7 import 'package:kernel/ast.dart'; | 9 import 'package:kernel/ast.dart'; |
| 8 | 10 |
| 9 import 'package:kernel/clone.dart' show CloneVisitor; | 11 import 'package:kernel/clone.dart' show CloneVisitor; |
| 10 | 12 |
| 11 import '../errors.dart' show internalError; | 13 import '../errors.dart' show internalError; |
| 12 | 14 |
| 13 import '../loader.dart' show Loader; | 15 import '../loader.dart' show Loader; |
| 14 | 16 |
| 15 import '../modifier.dart' show abstractMask, staticMask; | 17 import '../modifier.dart' show abstractMask, staticMask; |
| 16 | 18 |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 int charOffset) { | 155 int charOffset) { |
| 154 NamedMixinApplicationBuilder builder = | 156 NamedMixinApplicationBuilder builder = |
| 155 new KernelNamedMixinApplicationBuilder(metadata, name, typeVariables, | 157 new KernelNamedMixinApplicationBuilder(metadata, name, typeVariables, |
| 156 modifiers, mixinApplication, interfaces, this, charOffset); | 158 modifiers, mixinApplication, interfaces, this, charOffset); |
| 157 // Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`. | 159 // Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`. |
| 158 endNestedDeclaration().resolveTypes(typeVariables, this); | 160 endNestedDeclaration().resolveTypes(typeVariables, this); |
| 159 addBuilder(name, builder, charOffset); | 161 addBuilder(name, builder, charOffset); |
| 160 } | 162 } |
| 161 | 163 |
| 162 void addField(List<MetadataBuilder> metadata, int modifiers, | 164 void addField(List<MetadataBuilder> metadata, int modifiers, |
| 163 KernelTypeBuilder type, String name, int charOffset) { | 165 KernelTypeBuilder type, String name, int charOffset, Token initializer) { |
| 164 addBuilder( | 166 addBuilder( |
| 165 name, | 167 name, |
| 166 new KernelFieldBuilder( | 168 new KernelFieldBuilder(loader.astFactory, loader.topLevelTypeInferrer, |
| 167 metadata, type, name, modifiers, this, charOffset), | 169 metadata, type, name, modifiers, this, charOffset, initializer), |
| 168 charOffset); | 170 charOffset); |
| 169 } | 171 } |
| 170 | 172 |
| 171 String computeAndValidateConstructorName(String name, int charOffset) { | 173 String computeAndValidateConstructorName(String name, int charOffset) { |
| 172 String className = currentDeclaration.name; | 174 String className = currentDeclaration.name; |
| 173 bool startsWithClassName = name.startsWith(className); | 175 bool startsWithClassName = name.startsWith(className); |
| 174 if (startsWithClassName && name.length == className.length) { | 176 if (startsWithClassName && name.length == className.length) { |
| 175 // Unnamed constructor or factory. | 177 // Unnamed constructor or factory. |
| 176 return ""; | 178 return ""; |
| 177 } | 179 } |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 addBuilder(name, procedure, charOffset); | 290 addBuilder(name, procedure, charOffset); |
| 289 if (nativeMethodName != null) { | 291 if (nativeMethodName != null) { |
| 290 addNativeMethod(procedure); | 292 addNativeMethod(procedure); |
| 291 } | 293 } |
| 292 } | 294 } |
| 293 | 295 |
| 294 void addEnum(List<MetadataBuilder> metadata, String name, | 296 void addEnum(List<MetadataBuilder> metadata, String name, |
| 295 List<Object> constantNamesAndOffsets, int charOffset, int charEndOffset) { | 297 List<Object> constantNamesAndOffsets, int charOffset, int charEndOffset) { |
| 296 addBuilder( | 298 addBuilder( |
| 297 name, | 299 name, |
| 298 new KernelEnumBuilder(metadata, name, constantNamesAndOffsets, this, | 300 new KernelEnumBuilder(loader.astFactory, metadata, name, |
| 299 charOffset, charEndOffset), | 301 constantNamesAndOffsets, this, charOffset, charEndOffset), |
| 300 charOffset); | 302 charOffset); |
| 301 } | 303 } |
| 302 | 304 |
| 303 void addFunctionTypeAlias( | 305 void addFunctionTypeAlias( |
| 304 List<MetadataBuilder> metadata, | 306 List<MetadataBuilder> metadata, |
| 305 KernelTypeBuilder returnType, | 307 KernelTypeBuilder returnType, |
| 306 String name, | 308 String name, |
| 307 List<TypeVariableBuilder> typeVariables, | 309 List<TypeVariableBuilder> typeVariables, |
| 308 List<FormalParameterBuilder> formals, | 310 List<FormalParameterBuilder> formals, |
| 309 int charOffset) { | 311 int charOffset) { |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 } | 541 } |
| 540 | 542 |
| 541 @override | 543 @override |
| 542 void includePart(covariant KernelLibraryBuilder part) { | 544 void includePart(covariant KernelLibraryBuilder part) { |
| 543 super.includePart(part); | 545 super.includePart(part); |
| 544 nativeMethods.addAll(part.nativeMethods); | 546 nativeMethods.addAll(part.nativeMethods); |
| 545 boundlessTypeVariables.addAll(part.boundlessTypeVariables); | 547 boundlessTypeVariables.addAll(part.boundlessTypeVariables); |
| 546 assert(mixinApplicationClasses.isEmpty); | 548 assert(mixinApplicationClasses.isEmpty); |
| 547 } | 549 } |
| 548 } | 550 } |
| OLD | NEW |