Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(324)

Side by Side Diff: pkg/front_end/lib/src/fasta/source/source_class_builder.dart

Issue 2718113003: Run dartfmt on pkg/front_end/lib. (Closed)
Patch Set: Rerun after merging. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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'
8 Class, 8 show Class, Constructor, Supertype, TreeNode, setParents;
9 Constructor,
10 Supertype,
11 TreeNode,
12 setParents;
13 9
14 import '../errors.dart' show 10 import '../errors.dart' show internalError;
15 internalError;
16 11
17 import '../kernel/kernel_builder.dart' show 12 import '../kernel/kernel_builder.dart'
18 Builder, 13 show
19 ConstructorReferenceBuilder, 14 Builder,
20 KernelClassBuilder, 15 ConstructorReferenceBuilder,
21 KernelFieldBuilder, 16 KernelClassBuilder,
22 KernelFunctionBuilder, 17 KernelFieldBuilder,
23 KernelLibraryBuilder, 18 KernelFunctionBuilder,
24 KernelTypeBuilder, 19 KernelLibraryBuilder,
25 KernelTypeVariableBuilder, 20 KernelTypeBuilder,
26 LibraryBuilder, 21 KernelTypeVariableBuilder,
27 MetadataBuilder, 22 LibraryBuilder,
28 ProcedureBuilder, 23 MetadataBuilder,
29 TypeVariableBuilder; 24 ProcedureBuilder,
25 TypeVariableBuilder;
30 26
31 import '../dill/dill_member_builder.dart' show 27 import '../dill/dill_member_builder.dart' show DillMemberBuilder;
32 DillMemberBuilder;
33 28
34 import '../util/relativize.dart' show 29 import '../util/relativize.dart' show relativizeUri;
35 relativizeUri;
36 30
37 Class initializeClass(Class cls, String name, LibraryBuilder parent, 31 Class initializeClass(
38 int charOffset) { 32 Class cls, String name, LibraryBuilder parent, int charOffset) {
39 cls ??= new Class(name: name); 33 cls ??= new Class(name: name);
40 cls.fileUri ??= relativizeUri(parent.fileUri); 34 cls.fileUri ??= relativizeUri(parent.fileUri);
41 if (cls.fileOffset != TreeNode.noOffset) { 35 if (cls.fileOffset != TreeNode.noOffset) {
42 cls.fileOffset = charOffset; 36 cls.fileOffset = charOffset;
43 } 37 }
44 return cls; 38 return cls;
45 } 39 }
46 40
47 class SourceClassBuilder extends KernelClassBuilder { 41 class SourceClassBuilder extends KernelClassBuilder {
48 final Class cls; 42 final Class cls;
49 43
50 final Map<String, Builder> constructors; 44 final Map<String, Builder> constructors;
51 45
52 final Map<String, Builder> membersInScope; 46 final Map<String, Builder> membersInScope;
53 47
54 final List<ConstructorReferenceBuilder> constructorReferences; 48 final List<ConstructorReferenceBuilder> constructorReferences;
55 49
56 final KernelTypeBuilder mixedInType; 50 final KernelTypeBuilder mixedInType;
57 51
58 SourceClassBuilder(List<MetadataBuilder> metadata, int modifiers, 52 SourceClassBuilder(
59 String name, List<TypeVariableBuilder> typeVariables, 53 List<MetadataBuilder> metadata,
60 KernelTypeBuilder supertype, List<KernelTypeBuilder> interfaces, 54 int modifiers,
61 Map<String, Builder> members, LibraryBuilder parent, 55 String name,
62 this.constructorReferences, int charOffset, [Class cls, this.mixedInType]) 56 List<TypeVariableBuilder> typeVariables,
57 KernelTypeBuilder supertype,
58 List<KernelTypeBuilder> interfaces,
59 Map<String, Builder> members,
60 LibraryBuilder parent,
61 this.constructorReferences,
62 int charOffset,
63 [Class cls,
64 this.mixedInType])
63 : cls = initializeClass(cls, name, parent, charOffset), 65 : cls = initializeClass(cls, name, parent, charOffset),
64 membersInScope = computeMembersInScope(members), 66 membersInScope = computeMembersInScope(members),
65 constructors = computeConstructors(members), 67 constructors = computeConstructors(members),
66 super(metadata, modifiers, name, typeVariables, supertype, interfaces, 68 super(metadata, modifiers, name, typeVariables, supertype, interfaces,
67 members, parent, charOffset); 69 members, parent, charOffset);
68 70
69 int resolveTypes(LibraryBuilder library) { 71 int resolveTypes(LibraryBuilder library) {
70 int count = 0; 72 int count = 0;
71 if (typeVariables != null) { 73 if (typeVariables != null) {
72 for (KernelTypeVariableBuilder t in typeVariables) { 74 for (KernelTypeVariableBuilder t in typeVariables) {
(...skipping 10 matching lines...) Expand all
83 if (builder is KernelFieldBuilder) { 85 if (builder is KernelFieldBuilder) {
84 // TODO(ahe): It would be nice to have a common interface for the build 86 // TODO(ahe): It would be nice to have a common interface for the build
85 // method to avoid duplicating these two cases. 87 // method to avoid duplicating these two cases.
86 cls.addMember(builder.build(library.library)); 88 cls.addMember(builder.build(library.library));
87 } else if (builder is KernelFunctionBuilder) { 89 } else if (builder is KernelFunctionBuilder) {
88 cls.addMember(builder.build(library.library)); 90 cls.addMember(builder.build(library.library));
89 } else { 91 } else {
90 internalError("Unhandled builder: ${builder.runtimeType}"); 92 internalError("Unhandled builder: ${builder.runtimeType}");
91 } 93 }
92 } 94 }
95
93 members.forEach((String name, Builder builder) { 96 members.forEach((String name, Builder builder) {
94 do { 97 do {
95 buildBuilder(builder); 98 buildBuilder(builder);
96 builder = builder.next; 99 builder = builder.next;
97 } while (builder != null); 100 } while (builder != null);
98 }); 101 });
99 cls.supertype = supertype?.buildSupertype(); 102 cls.supertype = supertype?.buildSupertype();
100 cls.mixedInType = mixedInType?.buildSupertype(); 103 cls.mixedInType = mixedInType?.buildSupertype();
101 // TODO(ahe): If `cls.supertype` is null, and this isn't Object, report a 104 // TODO(ahe): If `cls.supertype` is null, and this isn't Object, report a
102 // compile-time error. 105 // compile-time error.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 Map<String, Builder> computeConstructors(Map<String, Builder> members) { 142 Map<String, Builder> computeConstructors(Map<String, Builder> members) {
140 Map<String, Builder> constructors = <String, Builder>{}; 143 Map<String, Builder> constructors = <String, Builder>{};
141 members.forEach((String name, Builder builder) { 144 members.forEach((String name, Builder builder) {
142 if (builder is ProcedureBuilder && 145 if (builder is ProcedureBuilder &&
143 (builder.isConstructor || builder.isFactory)) { 146 (builder.isConstructor || builder.isFactory)) {
144 constructors[name] = builder; 147 constructors[name] = builder;
145 } 148 }
146 }); 149 });
147 return constructors; 150 return constructors;
148 } 151 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/source/scope_listener.dart ('k') | pkg/front_end/lib/src/fasta/source/source_library_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698