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

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

Issue 2704753002: Implement line and column numbers. (Closed)
Patch Set: Undo whitespace change. Created 3 years, 10 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.kernel_procedure_builder; 5 library fasta.kernel_procedure_builder;
6 6
7 import 'package:kernel/ast.dart' show 7 import 'package:kernel/ast.dart' show
8 Arguments, 8 Arguments,
9 AsyncMarker, 9 AsyncMarker,
10 Constructor, 10 Constructor,
(...skipping 22 matching lines...) Expand all
33 VoidType, 33 VoidType,
34 setParents; 34 setParents;
35 35
36 import 'package:kernel/type_algebra.dart' show 36 import 'package:kernel/type_algebra.dart' show
37 containsTypeVariable, 37 containsTypeVariable,
38 substitute; 38 substitute;
39 39
40 import '../errors.dart' show 40 import '../errors.dart' show
41 internalError; 41 internalError;
42 42
43 import '../messages.dart' show
44 warning;
45
43 import '../loader.dart' show 46 import '../loader.dart' show
44 Loader; 47 Loader;
45 48
46 import '../util/relativize.dart' show 49 import '../util/relativize.dart' show
47 relativizeUri; 50 relativizeUri;
48 51
49 import 'kernel_builder.dart' show 52 import 'kernel_builder.dart' show
50 Builder, 53 Builder,
51 ClassBuilder, 54 ClassBuilder,
52 ConstructorReferenceBuilder, 55 ConstructorReferenceBuilder,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 List<TypeParameter> typeParameters = parent.target.typeParameters; 125 List<TypeParameter> typeParameters = parent.target.typeParameters;
123 if (typeParameters.isNotEmpty) { 126 if (typeParameters.isNotEmpty) {
124 Map<TypeParameter, DartType> substitution; 127 Map<TypeParameter, DartType> substitution;
125 DartType removeTypeVariables(DartType type) { 128 DartType removeTypeVariables(DartType type) {
126 if (substitution == null) { 129 if (substitution == null) {
127 substitution = <TypeParameter, DartType>{}; 130 substitution = <TypeParameter, DartType>{};
128 for (TypeParameter parameter in typeParameters) { 131 for (TypeParameter parameter in typeParameters) {
129 substitution[parameter] = const DynamicType(); 132 substitution[parameter] = const DynamicType();
130 } 133 }
131 } 134 }
132 print("Can only use type variables in instance methods."); 135 warning(fileUri, charOffset,
136 "Can only use type variables in instance methods.");
133 return substitute(type, substitution); 137 return substitute(type, substitution);
134 } 138 }
135 Set<TypeParameter> set = typeParameters.toSet(); 139 Set<TypeParameter> set = typeParameters.toSet();
136 for (VariableDeclaration parameter in result.positionalParameters) { 140 for (VariableDeclaration parameter in result.positionalParameters) {
137 if (containsTypeVariable(parameter.type, set)) { 141 if (containsTypeVariable(parameter.type, set)) {
138 parameter.type = removeTypeVariables(parameter.type); 142 parameter.type = removeTypeVariables(parameter.type);
139 } 143 }
140 } 144 }
141 for (VariableDeclaration parameter in result.namedParameters) { 145 for (VariableDeclaration parameter in result.namedParameters) {
142 if (containsTypeVariable(parameter.type, set)) { 146 if (containsTypeVariable(parameter.type, set)) {
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 } 331 }
328 } 332 }
329 initializers.add(initializer..parent = constructor); 333 initializers.add(initializer..parent = constructor);
330 initializers.add(superInitializer); 334 initializers.add(superInitializer);
331 return; 335 return;
332 } 336 }
333 initializers.add(initializer); 337 initializers.add(initializer);
334 initializer.parent = constructor; 338 initializer.parent = constructor;
335 } 339 }
336 } 340 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698