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

Side by Side Diff: pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart

Issue 2731553004: [Fasta] Offset and end offset on procedures (Closed)
Patch Set: Addressed comments 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
« no previous file with comments | « no previous file | pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.kernel_enum_builder; 5 library fasta.kernel_enum_builder;
6 6
7 import 'package:kernel/ast.dart' 7 import 'package:kernel/ast.dart'
8 show 8 show
9 Arguments, 9 Arguments,
10 AsyncMarker, 10 AsyncMarker,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 Class cls, 68 Class cls,
69 this.constants, 69 this.constants,
70 this.toStringMap, 70 this.toStringMap,
71 this.intType, 71 this.intType,
72 this.stringType, 72 this.stringType,
73 LibraryBuilder parent, 73 LibraryBuilder parent,
74 int charOffset) 74 int charOffset)
75 : super(metadata, 0, name, null, null, null, members, parent, null, 75 : super(metadata, 0, name, null, null, null, members, parent, null,
76 charOffset, cls); 76 charOffset, cls);
77 77
78 factory KernelEnumBuilder(List<MetadataBuilder> metadata, String name, 78 factory KernelEnumBuilder(
79 List<String> constants, KernelLibraryBuilder parent, int charOffset) { 79 List<MetadataBuilder> metadata,
80 String name,
81 List<String> constants,
82 KernelLibraryBuilder parent,
83 int charOffset,
84 int charEndOffset) {
80 constants ??= const <String>[]; 85 constants ??= const <String>[];
81 // TODO(ahe): These types shouldn't be looked up in scope, they come 86 // TODO(ahe): These types shouldn't be looked up in scope, they come
82 // directly from dart:core. 87 // directly from dart:core.
83 KernelTypeBuilder intType = parent.addType( 88 KernelTypeBuilder intType = parent.addType(
84 new KernelNamedTypeBuilder("int", null, charOffset, parent.fileUri)); 89 new KernelNamedTypeBuilder("int", null, charOffset, parent.fileUri));
85 KernelTypeBuilder stringType = parent.addType( 90 KernelTypeBuilder stringType = parent.addType(
86 new KernelNamedTypeBuilder("String", null, charOffset, parent.fileUri)); 91 new KernelNamedTypeBuilder("String", null, charOffset, parent.fileUri));
87 Class cls = new Class(name: name); 92 Class cls = new Class(name: name);
88 Map<String, Builder> members = <String, Builder>{}; 93 Map<String, Builder> members = <String, Builder>{};
89 KernelNamedTypeBuilder selfType = 94 KernelNamedTypeBuilder selfType =
(...skipping 17 matching lines...) Expand all
107 null, 112 null,
108 constMask, 113 constMask,
109 null, 114 null,
110 "", 115 "",
111 null, 116 null,
112 <FormalParameterBuilder>[ 117 <FormalParameterBuilder>[
113 new KernelFormalParameterBuilder( 118 new KernelFormalParameterBuilder(
114 null, 0, intType, "index", true, parent, charOffset) 119 null, 0, intType, "index", true, parent, charOffset)
115 ], 120 ],
116 parent, 121 parent,
117 charOffset); 122 charOffset,
123 charEndOffset);
118 members[""] = constructorBuilder; 124 members[""] = constructorBuilder;
119 int index = 0; 125 int index = 0;
120 List<MapEntry> toStringEntries = <MapEntry>[]; 126 List<MapEntry> toStringEntries = <MapEntry>[];
121 KernelFieldBuilder valuesBuilder = new KernelFieldBuilder( 127 KernelFieldBuilder valuesBuilder = new KernelFieldBuilder(
122 null, listType, "values", constMask | staticMask, parent, charOffset); 128 null, listType, "values", constMask | staticMask, parent, charOffset);
123 members["values"] = valuesBuilder; 129 members["values"] = valuesBuilder;
124 KernelProcedureBuilder toStringBuilder = new KernelProcedureBuilder( 130 KernelProcedureBuilder toStringBuilder = new KernelProcedureBuilder(
125 null, 131 null,
126 0, 132 0,
127 stringType, 133 stringType,
128 "toString", 134 "toString",
129 null, 135 null,
130 null, 136 null,
131 AsyncMarker.Sync, 137 AsyncMarker.Sync,
132 ProcedureKind.Method, 138 ProcedureKind.Method,
133 parent, 139 parent,
134 charOffset); 140 charOffset,
141 charEndOffset);
135 members["toString"] = toStringBuilder; 142 members["toString"] = toStringBuilder;
136 String className = name; 143 String className = name;
137 for (String name in constants) { 144 for (String name in constants) {
138 if (members.containsKey(name)) { 145 if (members.containsKey(name)) {
139 inputError(null, null, "Duplicated name: $name"); 146 inputError(null, null, "Duplicated name: $name");
140 continue; 147 continue;
141 } 148 }
142 KernelFieldBuilder fieldBuilder = new KernelFieldBuilder( 149 KernelFieldBuilder fieldBuilder = new KernelFieldBuilder(
143 null, 150 null,
144 selfType, 151 selfType,
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 Arguments arguments = 224 Arguments arguments =
218 new Arguments(<Expression>[new IntLiteral(index++)]); 225 new Arguments(<Expression>[new IntLiteral(index++)]);
219 field.initializer = 226 field.initializer =
220 new ConstructorInvocation(constructor, arguments, isConst: true); 227 new ConstructorInvocation(constructor, arguments, isConst: true);
221 } 228 }
222 return super.build(libraryBuilder); 229 return super.build(libraryBuilder);
223 } 230 }
224 231
225 Builder findConstructorOrFactory(String name) => null; 232 Builder findConstructorOrFactory(String name) => null;
226 } 233 }
OLDNEW
« no previous file with comments | « no previous file | pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698