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

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

Issue 2743633003: [fasta] Add and correct more offsets (Closed)
Patch Set: Fix long line 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.builder_accessors; 5 library fasta.builder_accessors;
6 6
7 export 'frontend_accessors.dart' show wrapInvalid; 7 export 'frontend_accessors.dart' show wrapInvalid;
8 8
9 import 'frontend_accessors.dart' show Accessor; 9 import 'frontend_accessors.dart' show Accessor;
10 10
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 doInvocation(int charOffset, Arguments arguments) => this; 135 doInvocation(int charOffset, Arguments arguments) => this;
136 136
137 buildPropertyAccess(IncompleteSend send, bool isNullAware) => this; 137 buildPropertyAccess(IncompleteSend send, bool isNullAware) => this;
138 138
139 buildThrowNoSuchMethodError(Arguments arguments) => this; 139 buildThrowNoSuchMethodError(Arguments arguments) => this;
140 140
141 Expression buildAssignment(Expression value, {bool voidContext: false}) { 141 Expression buildAssignment(Expression value, {bool voidContext: false}) {
142 return buildError(); 142 return buildError();
143 } 143 }
144 144
145 Expression buildCompoundAssignment(Name binaryOperator, Expression value, 145 Expression buildCompoundAssignment(
146 Name binaryOperator, Expression value, int charOffset,
146 {bool voidContext: false, Procedure interfaceTarget}) { 147 {bool voidContext: false, Procedure interfaceTarget}) {
147 return buildError(); 148 return buildError();
148 } 149 }
149 150
150 Expression buildPrefixIncrement(Name binaryOperator, 151 Expression buildPrefixIncrement(Name binaryOperator, int charOffset,
151 {bool voidContext: false, Procedure interfaceTarget}) { 152 {bool voidContext: false, Procedure interfaceTarget}) {
152 return buildError(); 153 return buildError();
153 } 154 }
154 155
155 Expression buildPostfixIncrement(Name binaryOperator, 156 Expression buildPostfixIncrement(Name binaryOperator, int charOffset,
156 {bool voidContext: false, Procedure interfaceTarget}) { 157 {bool voidContext: false, Procedure interfaceTarget}) {
157 return buildError(); 158 return buildError();
158 } 159 }
159 160
160 Expression buildNullAwareAssignment(Expression value, DartType type, 161 Expression buildNullAwareAssignment(Expression value, DartType type,
161 {bool voidContext: false}) { 162 {bool voidContext: false}) {
162 return buildError(); 163 return buildError();
163 } 164 }
164 165
165 Expression buildSimpleRead() => buildError(); 166 Expression buildSimpleRead() => buildError();
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 252
252 Expression buildAssignment(Expression value, {bool voidContext: false}) { 253 Expression buildAssignment(Expression value, {bool voidContext: false}) {
253 return internalError(""); 254 return internalError("");
254 } 255 }
255 256
256 Expression buildNullAwareAssignment(Expression value, DartType type, 257 Expression buildNullAwareAssignment(Expression value, DartType type,
257 {bool voidContext: false}) { 258 {bool voidContext: false}) {
258 return internalError(""); 259 return internalError("");
259 } 260 }
260 261
261 Expression buildCompoundAssignment(Name binaryOperator, Expression value, 262 Expression buildCompoundAssignment(
263 Name binaryOperator, Expression value, int charOffset,
262 {bool voidContext: false, Procedure interfaceTarget}) { 264 {bool voidContext: false, Procedure interfaceTarget}) {
263 return internalError(""); 265 return internalError("");
264 } 266 }
265 267
266 Expression buildPrefixIncrement(Name binaryOperator, 268 Expression buildPrefixIncrement(Name binaryOperator, int charOffset,
267 {bool voidContext: false, Procedure interfaceTarget}) { 269 {bool voidContext: false, Procedure interfaceTarget}) {
268 return internalError(""); 270 return internalError("");
269 } 271 }
270 272
271 Expression buildPostfixIncrement(Name binaryOperator, 273 Expression buildPostfixIncrement(Name binaryOperator, int charOffset,
272 {bool voidContext: false, Procedure interfaceTarget}) { 274 {bool voidContext: false, Procedure interfaceTarget}) {
273 return internalError(""); 275 return internalError("");
274 } 276 }
275 277
276 toString() => "ThisAccessor($charOffset${isSuper ? ', super' : ''})"; 278 toString() => "ThisAccessor($charOffset${isSuper ? ', super' : ''})";
277 } 279 }
278 280
279 abstract class IncompleteSend extends BuilderAccessor { 281 abstract class IncompleteSend extends BuilderAccessor {
280 final BuilderHelper helper; 282 final BuilderHelper helper;
281 283
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 isNullAware: isNullAware); 362 isNullAware: isNullAware);
361 } 363 }
362 return result..fileOffset = charOffset; 364 return result..fileOffset = charOffset;
363 } 365 }
364 366
365 Expression buildNullAwareAssignment(Expression value, DartType type, 367 Expression buildNullAwareAssignment(Expression value, DartType type,
366 {bool voidContext: false}) { 368 {bool voidContext: false}) {
367 return internalError(""); 369 return internalError("");
368 } 370 }
369 371
370 Expression buildCompoundAssignment(Name binaryOperator, Expression value, 372 Expression buildCompoundAssignment(
373 Name binaryOperator, Expression value, int charOffset,
371 {bool voidContext: false, Procedure interfaceTarget}) { 374 {bool voidContext: false, Procedure interfaceTarget}) {
372 return internalError(""); 375 return internalError("");
373 } 376 }
374 377
375 Expression buildPrefixIncrement(Name binaryOperator, 378 Expression buildPrefixIncrement(Name binaryOperator, int charOffset,
376 {bool voidContext: false, Procedure interfaceTarget}) { 379 {bool voidContext: false, Procedure interfaceTarget}) {
377 return internalError("Unhandled"); 380 return internalError("Unhandled");
378 } 381 }
379 382
380 Expression buildPostfixIncrement(Name binaryOperator, 383 Expression buildPostfixIncrement(Name binaryOperator, int charOffset,
381 {bool voidContext: false, Procedure interfaceTarget}) { 384 {bool voidContext: false, Procedure interfaceTarget}) {
382 return internalError("Unhandled"); 385 return internalError("Unhandled");
383 } 386 }
384 387
385 Expression doInvocation(int charOffset, Arguments arguments) { 388 Expression doInvocation(int charOffset, Arguments arguments) {
386 return internalError("Unhandled"); 389 return internalError("Unhandled");
387 } 390 }
388 391
389 toString() => "SendAccessor($charOffset, $name, $arguments)"; 392 toString() => "SendAccessor($charOffset, $name, $arguments)";
390 } 393 }
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 } 454 }
452 return PropertyAccessor.make(helper, charOffset, helper.toValue(receiver), 455 return PropertyAccessor.make(helper, charOffset, helper.toValue(receiver),
453 name, null, null, isNullAware); 456 name, null, null, isNullAware);
454 } 457 }
455 458
456 Expression buildNullAwareAssignment(Expression value, DartType type, 459 Expression buildNullAwareAssignment(Expression value, DartType type,
457 {bool voidContext: false}) { 460 {bool voidContext: false}) {
458 return internalError("Unhandled"); 461 return internalError("Unhandled");
459 } 462 }
460 463
461 Expression buildCompoundAssignment(Name binaryOperator, Expression value, 464 Expression buildCompoundAssignment(
465 Name binaryOperator, Expression value, int charOffset,
462 {bool voidContext: false, Procedure interfaceTarget}) { 466 {bool voidContext: false, Procedure interfaceTarget}) {
463 return internalError("Unhandled"); 467 return internalError("Unhandled");
464 } 468 }
465 469
466 Expression buildPrefixIncrement(Name binaryOperator, 470 Expression buildPrefixIncrement(Name binaryOperator, int charOffset,
467 {bool voidContext: false, Procedure interfaceTarget}) { 471 {bool voidContext: false, Procedure interfaceTarget}) {
468 return internalError("Unhandled"); 472 return internalError("Unhandled");
469 } 473 }
470 474
471 Expression buildPostfixIncrement(Name binaryOperator, 475 Expression buildPostfixIncrement(Name binaryOperator, int charOffset,
472 {bool voidContext: false, Procedure interfaceTarget}) { 476 {bool voidContext: false, Procedure interfaceTarget}) {
473 return internalError("Unhandled"); 477 return internalError("Unhandled");
474 } 478 }
475 479
476 Expression doInvocation(int charOffset, Arguments arguments) { 480 Expression doInvocation(int charOffset, Arguments arguments) {
477 return internalError("Unhandled"); 481 return internalError("Unhandled");
478 } 482 }
479 483
480 toString() => "IncompletePropertyAccessor($charOffset, $name)"; 484 toString() => "IncompletePropertyAccessor($charOffset, $name)";
481 } 485 }
482 486
483 class IndexAccessor extends kernel.IndexAccessor with BuilderAccessor { 487 class IndexAccessor extends kernel.IndexAccessor with BuilderAccessor {
484 final BuilderHelper helper; 488 final BuilderHelper helper;
485 489
486 final int charOffset; 490 IndexAccessor.internal(this.helper, int charOffset, Expression receiver,
487
488 IndexAccessor.internal(this.helper, this.charOffset, Expression receiver,
489 Expression index, Procedure getter, Procedure setter) 491 Expression index, Procedure getter, Procedure setter)
490 : super.internal(receiver, index, getter, setter); 492 : super.internal(receiver, index, getter, setter, charOffset);
491 493
492 String get plainNameForRead => "[]"; 494 String get plainNameForRead => "[]";
493 495
494 String get plainNameForWrite => "[]="; 496 String get plainNameForWrite => "[]=";
495 497
496 Expression doInvocation(int charOffset, Arguments arguments) { 498 Expression doInvocation(int charOffset, Arguments arguments) {
497 return buildMethodInvocation( 499 return buildMethodInvocation(
498 buildSimpleRead(), new Name("call"), arguments, charOffset); 500 buildSimpleRead(), new Name("call"), arguments, charOffset);
499 } 501 }
500 502
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 class VariableAccessor extends kernel.VariableAccessor with BuilderAccessor { 699 class VariableAccessor extends kernel.VariableAccessor with BuilderAccessor {
698 final BuilderHelper helper; 700 final BuilderHelper helper;
699 701
700 VariableAccessor(this.helper, int charOffset, VariableDeclaration variable, 702 VariableAccessor(this.helper, int charOffset, VariableDeclaration variable,
701 [DartType promotedType]) 703 [DartType promotedType])
702 : super.internal(variable, charOffset, promotedType); 704 : super.internal(variable, charOffset, promotedType);
703 705
704 String get plainNameForRead => variable.name; 706 String get plainNameForRead => variable.name;
705 707
706 Expression doInvocation(int charOffset, Arguments arguments) { 708 Expression doInvocation(int charOffset, Arguments arguments) {
707 return buildMethodInvocation( 709 // Normally the offset is at the start of the token, but in this case,
708 buildSimpleRead(), new Name("call"), arguments, charOffset); 710 // because we insert a '.call', we want it at the end instead.
711 return buildMethodInvocation(buildSimpleRead(), new Name("call"), arguments,
712 charOffset + variable.name.length);
ahe 2017/03/09 12:19:37 variable.name might be null.
jensj 2017/03/09 12:55:25 Fixed.
709 } 713 }
710 714
711 toString() => "VariableAccessor()"; 715 toString() => "VariableAccessor()";
712 } 716 }
713 717
714 Expression throwNoSuchMethodError(String name, Arguments arguments, Uri uri, 718 Expression throwNoSuchMethodError(String name, Arguments arguments, Uri uri,
715 int charOffset, CoreTypes coreTypes, 719 int charOffset, CoreTypes coreTypes,
716 {bool isSuper: false, isGetter: false, isSetter: false}) { 720 {bool isSuper: false, isGetter: false, isSetter: false}) {
717 printUnexpected(uri, charOffset, "Method not found: '$name'."); 721 printUnexpected(uri, charOffset, "Method not found: '$name'.");
718 Constructor constructor = 722 Constructor constructor =
(...skipping 26 matching lines...) Expand all
745 buildIsNull(new VariableGet(variable)), 749 buildIsNull(new VariableGet(variable)),
746 new NullLiteral(), 750 new NullLiteral(),
747 new MethodInvocation(new VariableGet(variable), name, arguments) 751 new MethodInvocation(new VariableGet(variable), name, arguments)
748 ..fileOffset = charOffset, 752 ..fileOffset = charOffset,
749 const DynamicType())); 753 const DynamicType()));
750 } else { 754 } else {
751 return new MethodInvocation(receiver, name, arguments) 755 return new MethodInvocation(receiver, name, arguments)
752 ..fileOffset = charOffset; 756 ..fileOffset = charOffset;
753 } 757 }
754 } 758 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698