| 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.source_class_builder; | 5 library fasta.source_class_builder; |
| 6 | 6 |
| 7 import 'package:kernel/ast.dart' show | 7 import 'package:kernel/ast.dart' show |
| 8 Class, | 8 Class, |
| 9 Constructor, | 9 Constructor, |
| 10 Supertype, | 10 Supertype, |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 | 52 |
| 53 final Map<String, Builder> constructors = <String, Builder>{}; | 53 final Map<String, Builder> constructors = <String, Builder>{}; |
| 54 | 54 |
| 55 final Map<String, Builder> membersInScope; | 55 final Map<String, Builder> membersInScope; |
| 56 | 56 |
| 57 final List<ConstructorReferenceBuilder> constructorReferences; | 57 final List<ConstructorReferenceBuilder> constructorReferences; |
| 58 | 58 |
| 59 SourceClassBuilder(List<MetadataBuilder> metadata, int modifiers, | 59 SourceClassBuilder(List<MetadataBuilder> metadata, int modifiers, |
| 60 String name, List<TypeVariableBuilder> typeVariables, | 60 String name, List<TypeVariableBuilder> typeVariables, |
| 61 KernelTypeBuilder supertype, List<KernelTypeBuilder>interfaces, | 61 KernelTypeBuilder supertype, List<KernelTypeBuilder>interfaces, |
| 62 Map<String, Builder> members, List<KernelTypeBuilder> types, | 62 Map<String, Builder> members, LibraryBuilder parent, |
| 63 LibraryBuilder parent, this.constructorReferences, int charOffset, | 63 this.constructorReferences, int charOffset, [Class cls]) |
| 64 [Class cls]) | |
| 65 : cls = initializeClass(cls, name, parent, charOffset), | 64 : cls = initializeClass(cls, name, parent, charOffset), |
| 66 membersInScope = computeMembersInScope(members, name), | 65 membersInScope = computeMembersInScope(members, name), |
| 67 super(metadata, modifiers, name, typeVariables, supertype, interfaces, | 66 super(metadata, modifiers, name, typeVariables, supertype, interfaces, |
| 68 members, types, parent, charOffset); | 67 members, parent, charOffset); |
| 69 | 68 |
| 70 int resolveTypes(LibraryBuilder library) { | 69 int resolveTypes(LibraryBuilder library) { |
| 71 int count = 0; | 70 int count = 0; |
| 72 if (typeVariables != null) { | 71 if (typeVariables != null) { |
| 73 for (KernelTypeVariableBuilder t in typeVariables) { | 72 for (KernelTypeVariableBuilder t in typeVariables) { |
| 74 cls.typeParameters.add(t.parameter); | 73 cls.typeParameters.add(t.parameter); |
| 75 } | 74 } |
| 76 setParents(cls.typeParameters, cls); | 75 setParents(cls.typeParameters, cls); |
| 77 count += cls.typeParameters.length; | 76 count += cls.typeParameters.length; |
| 78 } | 77 } |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 if (isConstructorName(builder.name, className)) return; | 172 if (isConstructorName(builder.name, className)) return; |
| 174 } | 173 } |
| 175 if (name.indexOf(".") != -1) { | 174 if (name.indexOf(".") != -1) { |
| 176 inputError(null, null, "Only constructors and factories can have names " | 175 inputError(null, null, "Only constructors and factories can have names " |
| 177 "containing a period ('.'): $name"); | 176 "containing a period ('.'): $name"); |
| 178 } | 177 } |
| 179 membersInScope[name] = builder; | 178 membersInScope[name] = builder; |
| 180 }); | 179 }); |
| 181 return membersInScope; | 180 return membersInScope; |
| 182 } | 181 } |
| OLD | NEW |