| 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:kernel/ast.dart'; | 7 import 'package:kernel/ast.dart'; |
| 8 | 8 |
| 9 import 'package:kernel/clone.dart' show | 9 import 'package:kernel/clone.dart' show |
| 10 CloneVisitor; | 10 CloneVisitor; |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 procedure = new KernelProcedureBuilder(metadata, modifiers, returnType, | 160 procedure = new KernelProcedureBuilder(metadata, modifiers, returnType, |
| 161 name, typeVariables, formals, asyncModifier, kind, this, charOffset, | 161 name, typeVariables, formals, asyncModifier, kind, this, charOffset, |
| 162 nativeMethodName); | 162 nativeMethodName); |
| 163 } | 163 } |
| 164 addBuilder(name, procedure, charOffset); | 164 addBuilder(name, procedure, charOffset); |
| 165 if (nativeMethodName != null) { | 165 if (nativeMethodName != null) { |
| 166 addNativeMethod(procedure); | 166 addNativeMethod(procedure); |
| 167 } | 167 } |
| 168 } | 168 } |
| 169 | 169 |
| 170 void addFactoryMethod(List<MetadataBuilder> metadata, | 170 void addFactoryMethod(List<MetadataBuilder> metadata, int modifiers, |
| 171 ConstructorReferenceBuilder constructorName, | 171 ConstructorReferenceBuilder constructorName, |
| 172 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier, | 172 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier, |
| 173 ConstructorReferenceBuilder redirectionTarget, int charOffset, | 173 ConstructorReferenceBuilder redirectionTarget, int charOffset, |
| 174 String nativeMethodName) { | 174 String nativeMethodName) { |
| 175 // Nested declaration began in `OutlineBuilder.beginFactoryMethod`. | 175 // Nested declaration began in `OutlineBuilder.beginFactoryMethod`. |
| 176 DeclarationBuilder<KernelTypeBuilder> factoryDeclaration = | 176 DeclarationBuilder<KernelTypeBuilder> factoryDeclaration = |
| 177 endNestedDeclaration(); | 177 endNestedDeclaration(); |
| 178 String name = constructorName.name; | 178 String name = constructorName.name; |
| 179 int index = name.indexOf("."); | 179 int index = name.indexOf("."); |
| 180 name = index == -1 ? "" : name.substring(index + 1); | 180 name = index == -1 ? "" : name.substring(index + 1); |
| 181 assert(constructorName.suffix == null); | 181 assert(constructorName.suffix == null); |
| 182 KernelProcedureBuilder procedure = new KernelProcedureBuilder(metadata, | 182 KernelProcedureBuilder procedure = new KernelProcedureBuilder(metadata, |
| 183 staticMask, null, name, <TypeVariableBuilder>[], formals, asyncModifier, | 183 staticMask | modifiers, null, name, <TypeVariableBuilder>[], formals, |
| 184 ProcedureKind.Factory, this, charOffset, nativeMethodName, | 184 asyncModifier, ProcedureKind.Factory, this, charOffset, |
| 185 redirectionTarget); | 185 nativeMethodName, redirectionTarget); |
| 186 currentDeclaration.addFactoryDeclaration(procedure, factoryDeclaration); | 186 currentDeclaration.addFactoryDeclaration(procedure, factoryDeclaration); |
| 187 addBuilder(name, procedure, charOffset); | 187 addBuilder(name, procedure, charOffset); |
| 188 if (nativeMethodName != null) { | 188 if (nativeMethodName != null) { |
| 189 addNativeMethod(procedure); | 189 addNativeMethod(procedure); |
| 190 } | 190 } |
| 191 } | 191 } |
| 192 | 192 |
| 193 void addEnum(List<MetadataBuilder> metadata, String name, | 193 void addEnum(List<MetadataBuilder> metadata, String name, |
| 194 List<String> constants, int charOffset) { | 194 List<String> constants, int charOffset) { |
| 195 addBuilder(name, | 195 addBuilder(name, |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 } | 356 } |
| 357 } | 357 } |
| 358 | 358 |
| 359 bool isConstructorName(String name, String className) { | 359 bool isConstructorName(String name, String className) { |
| 360 if (name.startsWith(className)) { | 360 if (name.startsWith(className)) { |
| 361 if (name.length == className.length) return true; | 361 if (name.length == className.length) return true; |
| 362 if (name.startsWith(".", className.length)) return true; | 362 if (name.startsWith(".", className.length)) return true; |
| 363 } | 363 } |
| 364 return false; | 364 return false; |
| 365 } | 365 } |
| OLD | NEW |