| 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' | 7 import 'package:kernel/ast.dart' | 
| 8     show Class, Constructor, Supertype, TreeNode, setParents; | 8     show Class, Constructor, Supertype, TreeNode, setParents; | 
| 9 | 9 | 
| 10 import '../errors.dart' show internalError; | 10 import '../errors.dart' show internalError; | 
| 11 | 11 | 
| 12 import '../kernel/kernel_builder.dart' | 12 import '../kernel/kernel_builder.dart' | 
| 13     show | 13     show | 
| 14         Builder, | 14         Builder, | 
| 15         ConstructorReferenceBuilder, | 15         ConstructorReferenceBuilder, | 
| 16         KernelClassBuilder, | 16         KernelClassBuilder, | 
| 17         KernelFieldBuilder, | 17         KernelFieldBuilder, | 
| 18         KernelFunctionBuilder, | 18         KernelFunctionBuilder, | 
| 19         KernelLibraryBuilder, | 19         KernelLibraryBuilder, | 
| 20         KernelTypeBuilder, | 20         KernelTypeBuilder, | 
| 21         KernelTypeVariableBuilder, | 21         KernelTypeVariableBuilder, | 
| 22         LibraryBuilder, | 22         LibraryBuilder, | 
| 23         MetadataBuilder, | 23         MetadataBuilder, | 
| 24         ProcedureBuilder, | 24         ProcedureBuilder, | 
| 25         TypeVariableBuilder; | 25         TypeVariableBuilder, | 
|  | 26         compareProcedures; | 
| 26 | 27 | 
| 27 import '../dill/dill_member_builder.dart' show DillMemberBuilder; | 28 import '../dill/dill_member_builder.dart' show DillMemberBuilder; | 
| 28 | 29 | 
| 29 import '../util/relativize.dart' show relativizeUri; | 30 import '../util/relativize.dart' show relativizeUri; | 
| 30 | 31 | 
| 31 Class initializeClass( | 32 Class initializeClass( | 
| 32     Class cls, String name, LibraryBuilder parent, int charOffset) { | 33     Class cls, String name, LibraryBuilder parent, int charOffset) { | 
| 33   cls ??= new Class(name: name); | 34   cls ??= new Class(name: name); | 
| 34   cls.fileUri ??= relativizeUri(parent.fileUri); | 35   cls.fileUri ??= relativizeUri(parent.fileUri); | 
| 35   if (cls.fileOffset == TreeNode.noOffset) { | 36   if (cls.fileOffset == TreeNode.noOffset) { | 
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 106     cls.isAbstract = isAbstract; | 107     cls.isAbstract = isAbstract; | 
| 107     if (interfaces != null) { | 108     if (interfaces != null) { | 
| 108       for (KernelTypeBuilder interface in interfaces) { | 109       for (KernelTypeBuilder interface in interfaces) { | 
| 109         Supertype supertype = interface.buildSupertype(library); | 110         Supertype supertype = interface.buildSupertype(library); | 
| 110         if (supertype != null) { | 111         if (supertype != null) { | 
| 111           // TODO(ahe): Report an error if supertype is null. | 112           // TODO(ahe): Report an error if supertype is null. | 
| 112           cls.implementedTypes.add(supertype); | 113           cls.implementedTypes.add(supertype); | 
| 113         } | 114         } | 
| 114       } | 115       } | 
| 115     } | 116     } | 
|  | 117 | 
|  | 118     cls.procedures.sort(compareProcedures); | 
| 116     return cls; | 119     return cls; | 
| 117   } | 120   } | 
| 118 | 121 | 
| 119   Builder findConstructorOrFactory(String name) => constructors[name]; | 122   Builder findConstructorOrFactory(String name) => constructors[name]; | 
| 120 | 123 | 
| 121   void addSyntheticConstructor(Constructor constructor) { | 124   void addSyntheticConstructor(Constructor constructor) { | 
| 122     String name = constructor.name.name; | 125     String name = constructor.name.name; | 
| 123     cls.constructors.add(constructor); | 126     cls.constructors.add(constructor); | 
| 124     constructor.parent = cls; | 127     constructor.parent = cls; | 
| 125     DillMemberBuilder memberBuilder = new DillMemberBuilder(constructor, this); | 128     DillMemberBuilder memberBuilder = new DillMemberBuilder(constructor, this); | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 142 Map<String, Builder> computeConstructors(Map<String, Builder> members) { | 145 Map<String, Builder> computeConstructors(Map<String, Builder> members) { | 
| 143   Map<String, Builder> constructors = <String, Builder>{}; | 146   Map<String, Builder> constructors = <String, Builder>{}; | 
| 144   members.forEach((String name, Builder builder) { | 147   members.forEach((String name, Builder builder) { | 
| 145     if (builder is ProcedureBuilder && | 148     if (builder is ProcedureBuilder && | 
| 146         (builder.isConstructor || builder.isFactory)) { | 149         (builder.isConstructor || builder.isFactory)) { | 
| 147       constructors[name] = builder; | 150       constructors[name] = builder; | 
| 148     } | 151     } | 
| 149   }); | 152   }); | 
| 150   return constructors; | 153   return constructors; | 
| 151 } | 154 } | 
| OLD | NEW | 
|---|