| 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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 charOffset); | 101 charOffset); |
| 102 constructorReferences.clear(); | 102 constructorReferences.clear(); |
| 103 classMembers.forEach((String name, MemberBuilder builder) { | 103 classMembers.forEach((String name, MemberBuilder builder) { |
| 104 while (builder != null) { | 104 while (builder != null) { |
| 105 builder.parent = cls; | 105 builder.parent = cls; |
| 106 builder = builder.next; | 106 builder = builder.next; |
| 107 } | 107 } |
| 108 }); | 108 }); |
| 109 // Nested declaration began in `OutlineBuilder.beginClassDeclaration`. | 109 // Nested declaration began in `OutlineBuilder.beginClassDeclaration`. |
| 110 endNestedDeclaration(); | 110 endNestedDeclaration(); |
| 111 addBuilder(className, cls); | 111 addBuilder(className, cls, charOffset); |
| 112 } | 112 } |
| 113 | 113 |
| 114 void addNamedMixinApplication( | 114 void addNamedMixinApplication( |
| 115 List<MetadataBuilder> metadata, String name, | 115 List<MetadataBuilder> metadata, String name, |
| 116 List<TypeVariableBuilder> typeVariables, int modifiers, | 116 List<TypeVariableBuilder> typeVariables, int modifiers, |
| 117 KernelTypeBuilder mixinApplication, List<KernelTypeBuilder> interfaces, | 117 KernelTypeBuilder mixinApplication, List<KernelTypeBuilder> interfaces, |
| 118 int charOffset) { | 118 int charOffset) { |
| 119 NamedMixinApplicationBuilder builder = | 119 NamedMixinApplicationBuilder builder = |
| 120 new KernelNamedMixinApplicationBuilder(metadata, name, typeVariables, | 120 new KernelNamedMixinApplicationBuilder(metadata, name, typeVariables, |
| 121 modifiers, mixinApplication, interfaces, declarationTypes, this, | 121 modifiers, mixinApplication, interfaces, declarationTypes, this, |
| 122 charOffset); | 122 charOffset); |
| 123 // Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`. | 123 // Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`. |
| 124 endNestedDeclaration(); | 124 endNestedDeclaration(); |
| 125 addBuilder(name, builder); | 125 addBuilder(name, builder, charOffset); |
| 126 } | 126 } |
| 127 | 127 |
| 128 void addField(List<MetadataBuilder> metadata, | 128 void addField(List<MetadataBuilder> metadata, |
| 129 int modifiers, KernelTypeBuilder type, String name, int charOffset) { | 129 int modifiers, KernelTypeBuilder type, String name, int charOffset) { |
| 130 addBuilder(name, new KernelFieldBuilder( | 130 addBuilder(name, new KernelFieldBuilder( |
| 131 metadata, type, name, modifiers, this, charOffset)); | 131 metadata, type, name, modifiers, this, charOffset), charOffset); |
| 132 } | 132 } |
| 133 | 133 |
| 134 void addProcedure(List<MetadataBuilder> metadata, | 134 void addProcedure(List<MetadataBuilder> metadata, |
| 135 int modifiers, KernelTypeBuilder returnType, String name, | 135 int modifiers, KernelTypeBuilder returnType, String name, |
| 136 List<TypeVariableBuilder> typeVariables, | 136 List<TypeVariableBuilder> typeVariables, |
| 137 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier, | 137 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier, |
| 138 ProcedureKind kind, int charOffset) { | 138 ProcedureKind kind, int charOffset) { |
| 139 // Nested declaration began in `OutlineBuilder.beginMethod` or | 139 // Nested declaration began in `OutlineBuilder.beginMethod` or |
| 140 // `OutlineBuilder.beginTopLevelMethod`. | 140 // `OutlineBuilder.beginTopLevelMethod`. |
| 141 endNestedDeclaration().resolveTypes(typeVariables); | 141 endNestedDeclaration().resolveTypes(typeVariables); |
| 142 addBuilder(name, | 142 addBuilder(name, |
| 143 new KernelProcedureBuilder(metadata, modifiers, returnType, name, | 143 new KernelProcedureBuilder(metadata, modifiers, returnType, name, |
| 144 typeVariables, formals, asyncModifier, kind, this, charOffset)); | 144 typeVariables, formals, asyncModifier, kind, this, charOffset), |
| 145 charOffset); |
| 145 } | 146 } |
| 146 | 147 |
| 147 void addFactoryMethod(List<MetadataBuilder> metadata, | 148 void addFactoryMethod(List<MetadataBuilder> metadata, |
| 148 ConstructorReferenceBuilder constructorName, | 149 ConstructorReferenceBuilder constructorName, |
| 149 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier, | 150 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier, |
| 150 ConstructorReferenceBuilder redirectionTarget, int charOffset) { | 151 ConstructorReferenceBuilder redirectionTarget, int charOffset) { |
| 151 String name = constructorName.name; | 152 String name = constructorName.name; |
| 152 assert(constructorName.suffix == null); | 153 assert(constructorName.suffix == null); |
| 153 addBuilder(name, | 154 addBuilder(name, |
| 154 new KernelProcedureBuilder(metadata, staticMask, null, name, null, | 155 new KernelProcedureBuilder(metadata, staticMask, null, name, null, |
| 155 formals, asyncModifier, ProcedureKind.Factory, this, charOffset, | 156 formals, asyncModifier, ProcedureKind.Factory, this, charOffset, |
| 156 redirectionTarget)); | 157 redirectionTarget), charOffset); |
| 157 } | 158 } |
| 158 | 159 |
| 159 void addEnum(List<MetadataBuilder> metadata, String name, | 160 void addEnum(List<MetadataBuilder> metadata, String name, |
| 160 List<String> constants, int charOffset) { | 161 List<String> constants, int charOffset) { |
| 161 addBuilder(name, | 162 addBuilder(name, |
| 162 new KernelEnumBuilder(metadata, name, constants, this, charOffset)); | 163 new KernelEnumBuilder(metadata, name, constants, this, charOffset), |
| 164 charOffset); |
| 163 } | 165 } |
| 164 | 166 |
| 165 void addFunctionTypeAlias(List<MetadataBuilder> metadata, | 167 void addFunctionTypeAlias(List<MetadataBuilder> metadata, |
| 166 KernelTypeBuilder returnType, String name, | 168 KernelTypeBuilder returnType, String name, |
| 167 List<TypeVariableBuilder> typeVariables, | 169 List<TypeVariableBuilder> typeVariables, |
| 168 List<FormalParameterBuilder> formals, int charOffset) { | 170 List<FormalParameterBuilder> formals, int charOffset) { |
| 169 FunctionTypeAliasBuilder typedef = new KernelFunctionTypeAliasBuilder( | 171 FunctionTypeAliasBuilder typedef = new KernelFunctionTypeAliasBuilder( |
| 170 metadata, returnType, name, typeVariables, formals, declarationTypes, | 172 metadata, returnType, name, typeVariables, formals, declarationTypes, |
| 171 this, charOffset); | 173 this, charOffset); |
| 172 // Nested declaration began in `OutlineBuilder.beginFunctionTypeAlias`. | 174 // Nested declaration began in `OutlineBuilder.beginFunctionTypeAlias`. |
| 173 endNestedDeclaration(); | 175 endNestedDeclaration(); |
| 174 addBuilder(name, typedef); | 176 addBuilder(name, typedef, charOffset); |
| 175 } | 177 } |
| 176 | 178 |
| 177 KernelFormalParameterBuilder addFormalParameter( | 179 KernelFormalParameterBuilder addFormalParameter( |
| 178 List<MetadataBuilder> metadata, int modifiers, | 180 List<MetadataBuilder> metadata, int modifiers, |
| 179 KernelTypeBuilder type, String name, bool hasThis, int charOffset) { | 181 KernelTypeBuilder type, String name, bool hasThis, int charOffset) { |
| 180 return new KernelFormalParameterBuilder( | 182 return new KernelFormalParameterBuilder( |
| 181 metadata, modifiers, type, name, hasThis, this, charOffset); | 183 metadata, modifiers, type, name, hasThis, this, charOffset); |
| 182 } | 184 } |
| 183 | 185 |
| 184 KernelTypeVariableBuilder addTypeVariable(String name, | 186 KernelTypeVariableBuilder addTypeVariable(String name, |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 } | 281 } |
| 280 expression.value = | 282 expression.value = |
| 281 defaultArgumentFrom(names[expression.name].initializer) | 283 defaultArgumentFrom(names[expression.name].initializer) |
| 282 ..parent = expression; | 284 ..parent = expression; |
| 283 } | 285 } |
| 284 } | 286 } |
| 285 } | 287 } |
| 286 return argumentsWithMissingDefaultValues.length; | 288 return argumentsWithMissingDefaultValues.length; |
| 287 } | 289 } |
| 288 } | 290 } |
| OLD | NEW |