| Index: pkg/front_end/lib/src/fasta/source/source_class_builder.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
|
| index 1ec438d3eea2861f8c8cb41590b8f88b575624a1..486ee16e9ebf0b62e7826a0088fa7dee9cc638a4 100644
|
| --- a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
|
| +++ b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
|
| @@ -8,6 +8,7 @@ import 'package:kernel/ast.dart' show
|
| Class,
|
| Constructor,
|
| Supertype,
|
| + TreeNode,
|
| setParents;
|
|
|
| import '../errors.dart' show
|
| @@ -33,6 +34,19 @@ import '../kernel/kernel_builder.dart' show
|
| import '../dill/dill_member_builder.dart' show
|
| DillMemberBuilder;
|
|
|
| +import '../util/relativize.dart' show
|
| + relativizeUri;
|
| +
|
| +Class initializeClass(Class cls, String name, LibraryBuilder parent,
|
| + int charOffset) {
|
| + cls ??= new Class(name: name);
|
| + cls.fileUri ??= relativizeUri(parent.fileUri);
|
| + if (cls.fileOffset != TreeNode.noOffset) {
|
| + cls.fileOffset = charOffset;
|
| + }
|
| + return cls;
|
| +}
|
| +
|
| class SourceClassBuilder extends KernelClassBuilder {
|
| final Class cls;
|
|
|
| @@ -46,11 +60,12 @@ class SourceClassBuilder extends KernelClassBuilder {
|
| String name, List<TypeVariableBuilder> typeVariables,
|
| KernelTypeBuilder supertype, List<KernelTypeBuilder>interfaces,
|
| Map<String, Builder> members, List<KernelTypeBuilder> types,
|
| - LibraryBuilder parent, this.constructorReferences, [Class cls])
|
| - : cls = cls ?? new Class(name: name),
|
| + LibraryBuilder parent, this.constructorReferences, int charOffset,
|
| + [Class cls])
|
| + : cls = initializeClass(cls, name, parent, charOffset),
|
| membersInScope = computeMembersInScope(members, name),
|
| super(metadata, modifiers, name, typeVariables, supertype, interfaces,
|
| - members, types, parent);
|
| + members, types, parent, charOffset);
|
|
|
| int resolveTypes(LibraryBuilder library) {
|
| int count = 0;
|
|
|