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

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

Issue 2974933002: Remove deprecated_internalProblem. (Closed)
Patch Set: Created 3 years, 5 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.fasta_accessors; 5 library fasta.fasta_accessors;
6 6
7 import 'package:kernel/ast.dart' 7 import 'package:kernel/ast.dart'
8 hide InvalidExpression, InvalidInitializer, InvalidStatement; 8 hide InvalidExpression, InvalidInitializer, InvalidStatement;
9 9
10 import '../../scanner/token.dart' show Token; 10 import '../../scanner/token.dart' show Token;
11 11
12 import '../deprecated_problems.dart' show deprecated_internalProblem;
13
14 import '../messages.dart' show Message; 12 import '../messages.dart' show Message;
15 13
16 import '../names.dart' show callName, lengthName; 14 import '../names.dart' show callName, lengthName;
17 15
18 import '../scope.dart' 16 import '../problems.dart' show unhandled, unimplemented, unsupported;
19 show deprecated_AccessErrorBuilder, ProblemBuilder, Scope; 17
18 import '../scope.dart' show AccessErrorBuilder, ProblemBuilder, Scope;
20 19
21 import '../type_inference/type_promotion.dart' show TypePromoter; 20 import '../type_inference/type_promotion.dart' show TypePromoter;
22 21
23 import 'kernel_shadow_ast.dart'
24 show
25 KernelArguments,
26 KernelComplexAssignment,
27 KernelIllegalAssignment,
28 KernelIndexAssign,
29 KernelPropertyAssign,
30 KernelStaticAssignment,
31 KernelThisExpression,
32 KernelTypeLiteral,
33 KernelVariableAssignment;
34
35 import 'utils.dart' show offsetForToken;
36
37 import 'frontend_accessors.dart' show Accessor;
38
39 import 'frontend_accessors.dart' as kernel 22 import 'frontend_accessors.dart' as kernel
40 show 23 show
41 IndexAccessor, 24 IndexAccessor,
42 NullAwarePropertyAccessor, 25 NullAwarePropertyAccessor,
43 PropertyAccessor, 26 PropertyAccessor,
44 ReadOnlyAccessor, 27 ReadOnlyAccessor,
45 StaticAccessor, 28 StaticAccessor,
46 SuperIndexAccessor, 29 SuperIndexAccessor,
47 SuperPropertyAccessor, 30 SuperPropertyAccessor,
48 ThisIndexAccessor, 31 ThisIndexAccessor,
49 ThisPropertyAccessor, 32 ThisPropertyAccessor,
50 VariableAccessor; 33 VariableAccessor;
51 34
35 import 'frontend_accessors.dart' show Accessor;
36
52 import 'kernel_builder.dart' 37 import 'kernel_builder.dart'
53 show 38 show
54 Builder, 39 Builder,
55 KernelClassBuilder, 40 KernelClassBuilder,
56 KernelInvalidTypeBuilder, 41 KernelInvalidTypeBuilder,
57 LibraryBuilder, 42 LibraryBuilder,
58 PrefixBuilder, 43 PrefixBuilder,
59 TypeDeclarationBuilder; 44 TypeDeclarationBuilder;
60 45
46 import 'kernel_shadow_ast.dart'
47 show
48 KernelArguments,
49 KernelComplexAssignment,
50 KernelIllegalAssignment,
51 KernelIndexAssign,
52 KernelPropertyAssign,
53 KernelStaticAssignment,
54 KernelThisExpression,
55 KernelTypeLiteral,
56 KernelVariableAssignment;
57
58 import 'utils.dart' show offsetForToken;
59
61 abstract class BuilderHelper { 60 abstract class BuilderHelper {
62 LibraryBuilder get library; 61 LibraryBuilder get library;
63 62
64 Uri get uri; 63 Uri get uri;
65 64
66 TypePromoter get typePromoter; 65 TypePromoter get typePromoter;
67 66
68 int get functionNestingLevel; 67 int get functionNestingLevel;
69 68
70 bool get constantExpressionRequired; 69 bool get constantExpressionRequired;
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 new KernelIllegalAssignment(rhs); 211 new KernelIllegalAssignment(rhs);
213 } 212 }
214 213
215 abstract class ErrorAccessor implements FastaAccessor { 214 abstract class ErrorAccessor implements FastaAccessor {
216 /// Pass [arguments] that must be evaluated before throwing an error. At 215 /// Pass [arguments] that must be evaluated before throwing an error. At
217 /// most one of [isGetter] and [isSetter] should be true and they're passed 216 /// most one of [isGetter] and [isSetter] should be true and they're passed
218 /// to [BuilderHelper.buildThrowNoSuchMethodError] if it is used. 217 /// to [BuilderHelper.buildThrowNoSuchMethodError] if it is used.
219 Expression buildError(Arguments arguments, 218 Expression buildError(Arguments arguments,
220 {bool isGetter: false, bool isSetter: false, int offset}); 219 {bool isGetter: false, bool isSetter: false, int offset});
221 220
222 Name get name => deprecated_internalProblem("Unsupported operation."); 221 Name get name => unsupported("name", offsetForToken(token), uri);
223 222
224 @override 223 @override
225 String get plainNameForRead => name.name; 224 String get plainNameForRead => name.name;
226 225
227 withReceiver(Object receiver, int operatorOffset, {bool isNullAware}) => this; 226 withReceiver(Object receiver, int operatorOffset, {bool isNullAware}) => this;
228 227
229 @override 228 @override
230 Initializer buildFieldInitializer(Map<String, int> initializedFields) { 229 Initializer buildFieldInitializer(Map<String, int> initializedFields) {
231 return helper.buildInvalidInitializer( 230 return helper.buildInvalidInitializer(
232 buildError(new Arguments.empty(), isSetter: true)); 231 buildError(new Arguments.empty(), isSetter: true));
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 311
313 final Token token; 312 final Token token;
314 313
315 final bool isInitializer; 314 final bool isInitializer;
316 315
317 final bool isSuper; 316 final bool isSuper;
318 317
319 ThisAccessor(this.helper, this.token, this.isInitializer, 318 ThisAccessor(this.helper, this.token, this.isInitializer,
320 {this.isSuper: false}); 319 {this.isSuper: false});
321 320
322 String get plainNameForRead => 321 String get plainNameForRead {
323 deprecated_internalProblem(isSuper ? "super" : "this"); 322 return unsupported("${isSuper ? 'super' : 'this'}.plainNameForRead",
323 offsetForToken(token), uri);
324 }
324 325
325 Expression buildSimpleRead() { 326 Expression buildSimpleRead() {
326 if (!isSuper) { 327 if (!isSuper) {
327 return new KernelThisExpression(); 328 return new KernelThisExpression();
328 } else { 329 } else {
329 return helper.deprecated_buildCompileTimeError( 330 return helper.deprecated_buildCompileTimeError(
330 "Can't use `super` as an expression.", offsetForToken(token)); 331 "Can't use `super` as an expression.", offsetForToken(token));
331 } 332 }
332 } 333 }
333 334
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 @override 483 @override
483 final Arguments arguments; 484 final Arguments arguments;
484 485
485 SendAccessor(BuilderHelper helper, Token token, Name name, this.arguments) 486 SendAccessor(BuilderHelper helper, Token token, Name name, this.arguments)
486 : super(helper, token, name) { 487 : super(helper, token, name) {
487 assert(arguments != null); 488 assert(arguments != null);
488 } 489 }
489 490
490 String get plainNameForRead => name.name; 491 String get plainNameForRead => name.name;
491 492
492 Expression buildSimpleRead() { 493 Expression buildSimpleRead() {
Johnni Winther 2017/07/11 18:34:05 Here and many below: Should it be 'unhandled' inst
ahe 2017/07/12 14:04:02 Similar reasoning: I know now that this is unsuppo
493 return deprecated_internalProblem("Unhandled"); 494 return unsupported("buildSimpleRead", offsetForToken(token), uri);
494 } 495 }
495 496
496 Expression buildAssignment(Expression value, {bool voidContext: false}) { 497 Expression buildAssignment(Expression value, {bool voidContext: false}) {
497 return deprecated_internalProblem("Unhandled"); 498 return unsupported("buildAssignment", offsetForToken(token), uri);
498 } 499 }
499 500
500 withReceiver(Object receiver, int operatorOffset, {bool isNullAware: false}) { 501 withReceiver(Object receiver, int operatorOffset, {bool isNullAware: false}) {
501 if (receiver is FastaAccessor) { 502 if (receiver is FastaAccessor) {
502 return receiver.buildPropertyAccess(this, operatorOffset, isNullAware); 503 return receiver.buildPropertyAccess(this, operatorOffset, isNullAware);
503 } 504 }
504 if (receiver is PrefixBuilder) { 505 if (receiver is PrefixBuilder) {
505 PrefixBuilder prefix = receiver; 506 PrefixBuilder prefix = receiver;
506 if (isNullAware) { 507 if (isNullAware) {
507 helper.deprecated_addCompileTimeError( 508 helper.deprecated_addCompileTimeError(
508 offsetForToken(token), 509 offsetForToken(token),
509 "Library prefix '${prefix.name}' can't be used with null-aware " 510 "Library prefix '${prefix.name}' can't be used with null-aware "
510 "operator.\nTry removing '?'."); 511 "operator.\nTry removing '?'.");
511 } 512 }
512 receiver = helper.scopeLookup(prefix.exports, name.name, token, 513 receiver = helper.scopeLookup(prefix.exports, name.name, token,
513 isQualified: true, prefix: prefix); 514 isQualified: true, prefix: prefix);
514 return helper.finishSend(receiver, arguments, offsetForToken(token)); 515 return helper.finishSend(receiver, arguments, offsetForToken(token));
515 } 516 }
516 return helper.buildMethodInvocation( 517 return helper.buildMethodInvocation(
517 helper.toValue(receiver), name, arguments, offsetForToken(token), 518 helper.toValue(receiver), name, arguments, offsetForToken(token),
518 isNullAware: isNullAware); 519 isNullAware: isNullAware);
519 } 520 }
520 521
521 Expression buildNullAwareAssignment( 522 Expression buildNullAwareAssignment(
522 Expression value, DartType type, int offset, 523 Expression value, DartType type, int offset,
523 {bool voidContext: false}) { 524 {bool voidContext: false}) {
524 return deprecated_internalProblem("Unhandled"); 525 return unsupported("buildNullAwareAssignment", offset, uri);
525 } 526 }
526 527
527 Expression buildCompoundAssignment(Name binaryOperator, Expression value, 528 Expression buildCompoundAssignment(Name binaryOperator, Expression value,
528 {int offset, 529 {int offset,
529 bool voidContext: false, 530 bool voidContext: false,
530 Procedure interfaceTarget, 531 Procedure interfaceTarget,
531 bool isPreIncDec: false}) { 532 bool isPreIncDec: false}) {
532 return deprecated_internalProblem("Unhandled"); 533 return unsupported(
534 "buildCompoundAssignment", offset ?? offsetForToken(token), uri);
533 } 535 }
534 536
535 Expression buildPrefixIncrement(Name binaryOperator, 537 Expression buildPrefixIncrement(Name binaryOperator,
536 {int offset, bool voidContext: false, Procedure interfaceTarget}) { 538 {int offset, bool voidContext: false, Procedure interfaceTarget}) {
537 return deprecated_internalProblem("Unhandled"); 539 return unsupported(
540 "buildPrefixIncrement", offset ?? offsetForToken(token), uri);
538 } 541 }
539 542
540 Expression buildPostfixIncrement(Name binaryOperator, 543 Expression buildPostfixIncrement(Name binaryOperator,
541 {int offset, bool voidContext: false, Procedure interfaceTarget}) { 544 {int offset, bool voidContext: false, Procedure interfaceTarget}) {
542 return deprecated_internalProblem("Unhandled"); 545 return unsupported(
546 "buildPostfixIncrement", offset ?? offsetForToken(token), uri);
543 } 547 }
544 548
545 Expression doInvocation(int offset, Arguments arguments) { 549 Expression doInvocation(int offset, Arguments arguments) {
546 return deprecated_internalProblem("Unhandled"); 550 return unsupported("doInvocation", offset, uri);
547 } 551 }
548 552
549 toString() { 553 toString() {
550 int offset = offsetForToken(token); 554 int offset = offsetForToken(token);
551 return "SendAccessor($offset, $name, $arguments)"; 555 return "SendAccessor($offset, $name, $arguments)";
552 } 556 }
553 } 557 }
554 558
555 class IncompletePropertyAccessor extends IncompleteSend { 559 class IncompletePropertyAccessor extends IncompleteSend {
556 IncompletePropertyAccessor(BuilderHelper helper, Token token, Name name) 560 IncompletePropertyAccessor(BuilderHelper helper, Token token, Name name)
557 : super(helper, token, name); 561 : super(helper, token, name);
558 562
559 String get plainNameForRead => name.name; 563 String get plainNameForRead => name.name;
560 564
561 Expression buildSimpleRead() => deprecated_internalProblem("Unhandled"); 565 Expression buildSimpleRead() {
566 return unsupported("buildSimpleRead", offsetForToken(token), uri);
567 }
562 568
563 Expression buildAssignment(Expression value, {bool voidContext: false}) { 569 Expression buildAssignment(Expression value, {bool voidContext: false}) {
564 return deprecated_internalProblem("Unhandled"); 570 return unsupported("buildAssignment", offsetForToken(token), uri);
565 } 571 }
566 572
567 withReceiver(Object receiver, int operatorOffset, {bool isNullAware: false}) { 573 withReceiver(Object receiver, int operatorOffset, {bool isNullAware: false}) {
568 if (receiver is FastaAccessor) { 574 if (receiver is FastaAccessor) {
569 return receiver.buildPropertyAccess(this, operatorOffset, isNullAware); 575 return receiver.buildPropertyAccess(this, operatorOffset, isNullAware);
570 } 576 }
571 if (receiver is PrefixBuilder) { 577 if (receiver is PrefixBuilder) {
572 PrefixBuilder prefix = receiver; 578 PrefixBuilder prefix = receiver;
573 if (isNullAware) { 579 if (isNullAware) {
574 helper.deprecated_addCompileTimeError( 580 helper.deprecated_addCompileTimeError(
575 offsetForToken(token), 581 offsetForToken(token),
576 "Library prefix '${prefix.name}' can't be used with null-aware " 582 "Library prefix '${prefix.name}' can't be used with null-aware "
577 "operator.\nTry removing '?'."); 583 "operator.\nTry removing '?'.");
578 } 584 }
579 return helper.scopeLookup(prefix.exports, name.name, token, 585 return helper.scopeLookup(prefix.exports, name.name, token,
580 isQualified: true, prefix: prefix); 586 isQualified: true, prefix: prefix);
581 } 587 }
582 588
583 return PropertyAccessor.make( 589 return PropertyAccessor.make(
584 helper, token, helper.toValue(receiver), name, null, null, isNullAware); 590 helper, token, helper.toValue(receiver), name, null, null, isNullAware);
585 } 591 }
586 592
587 Expression buildNullAwareAssignment( 593 Expression buildNullAwareAssignment(
588 Expression value, DartType type, int offset, 594 Expression value, DartType type, int offset,
589 {bool voidContext: false}) { 595 {bool voidContext: false}) {
590 return deprecated_internalProblem("Unhandled"); 596 return unsupported("buildNullAwareAssignment", offset, uri);
591 } 597 }
592 598
593 Expression buildCompoundAssignment(Name binaryOperator, Expression value, 599 Expression buildCompoundAssignment(Name binaryOperator, Expression value,
594 {int offset, 600 {int offset,
595 bool voidContext: false, 601 bool voidContext: false,
596 Procedure interfaceTarget, 602 Procedure interfaceTarget,
597 bool isPreIncDec: false}) { 603 bool isPreIncDec: false}) {
598 return deprecated_internalProblem("Unhandled"); 604 return unsupported(
605 "buildCompoundAssignment", offset ?? offsetForToken(token), uri);
599 } 606 }
600 607
601 Expression buildPrefixIncrement(Name binaryOperator, 608 Expression buildPrefixIncrement(Name binaryOperator,
602 {int offset, bool voidContext: false, Procedure interfaceTarget}) { 609 {int offset, bool voidContext: false, Procedure interfaceTarget}) {
603 return deprecated_internalProblem("Unhandled"); 610 return unsupported(
611 "buildPrefixIncrement", offset ?? offsetForToken(token), uri);
604 } 612 }
605 613
606 Expression buildPostfixIncrement(Name binaryOperator, 614 Expression buildPostfixIncrement(Name binaryOperator,
607 {int offset, bool voidContext: false, Procedure interfaceTarget}) { 615 {int offset, bool voidContext: false, Procedure interfaceTarget}) {
608 return deprecated_internalProblem("Unhandled"); 616 return unsupported(
617 "buildPostfixIncrement", offset ?? offsetForToken(token), uri);
609 } 618 }
610 619
611 Expression doInvocation(int offset, Arguments arguments) { 620 Expression doInvocation(int offset, Arguments arguments) {
612 return deprecated_internalProblem("Unhandled"); 621 return unsupported("doInvocation", offset, uri);
613 } 622 }
614 623
615 toString() { 624 toString() {
616 int offset = offsetForToken(token); 625 int offset = offsetForToken(token);
617 return "IncompletePropertyAccessor($offset, $name)"; 626 return "IncompletePropertyAccessor($offset, $name)";
618 } 627 }
619 } 628 }
620 629
621 class IndexAccessor extends kernel.IndexAccessor with FastaAccessor { 630 class IndexAccessor extends kernel.IndexAccessor with FastaAccessor {
622 final BuilderHelper helper; 631 final BuilderHelper helper;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 709
701 class StaticAccessor extends kernel.StaticAccessor with FastaAccessor { 710 class StaticAccessor extends kernel.StaticAccessor with FastaAccessor {
702 StaticAccessor( 711 StaticAccessor(
703 BuilderHelper helper, Token token, Member readTarget, Member writeTarget) 712 BuilderHelper helper, Token token, Member readTarget, Member writeTarget)
704 : super(helper, readTarget, writeTarget, token) { 713 : super(helper, readTarget, writeTarget, token) {
705 assert(readTarget != null || writeTarget != null); 714 assert(readTarget != null || writeTarget != null);
706 } 715 }
707 716
708 factory StaticAccessor.fromBuilder(BuilderHelper helper, Builder builder, 717 factory StaticAccessor.fromBuilder(BuilderHelper helper, Builder builder,
709 Token token, Builder builderSetter) { 718 Token token, Builder builderSetter) {
710 if (builder is deprecated_AccessErrorBuilder) { 719 if (builder is AccessErrorBuilder) {
711 deprecated_AccessErrorBuilder error = builder; 720 AccessErrorBuilder error = builder;
712 builder = error.builder; 721 builder = error.builder;
713 // We should only see an access error here if we've looked up a setter 722 // We should only see an access error here if we've looked up a setter
714 // when not explicitly looking for a setter. 723 // when not explicitly looking for a setter.
715 assert(builder.isSetter); 724 assert(builder.isSetter);
716 } else if (builder.target == null) { 725 } else if (builder.target == null) {
717 return deprecated_internalProblem("Unhandled: ${builder}"); 726 return unhandled("${builder.runtimeType}", "StaticAccessor.fromBuilder",
727 offsetForToken(token), helper.uri);
718 } 728 }
719 Member getter = builder.target.hasGetter ? builder.target : null; 729 Member getter = builder.target.hasGetter ? builder.target : null;
720 Member setter = builder.target.hasSetter ? builder.target : null; 730 Member setter = builder.target.hasSetter ? builder.target : null;
721 if (setter == null) { 731 if (setter == null) {
722 if (builderSetter?.target?.hasSetter ?? false) { 732 if (builderSetter?.target?.hasSetter ?? false) {
723 setter = builderSetter.target; 733 setter = builderSetter.target;
724 } 734 }
725 } 735 }
726 return new StaticAccessor(helper, token, getter, setter); 736 return new StaticAccessor(helper, token, getter, setter);
727 } 737 }
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 if (getter == null || isFieldOrGetter(getter)) { 779 if (getter == null || isFieldOrGetter(getter)) {
770 return helper.buildMethodInvocation( 780 return helper.buildMethodInvocation(
771 buildSimpleRead(), callName, arguments, offset, 781 buildSimpleRead(), callName, arguments, offset,
772 // This isn't a constant expression, but we have checked if a 782 // This isn't a constant expression, but we have checked if a
773 // constant expression error should be emitted already. 783 // constant expression error should be emitted already.
774 isConstantExpression: true, 784 isConstantExpression: true,
775 isImplicitCall: true); 785 isImplicitCall: true);
776 } else { 786 } else {
777 // TODO(ahe): This could be something like "super.property(...)" where 787 // TODO(ahe): This could be something like "super.property(...)" where
778 // property is a setter. 788 // property is a setter.
779 return deprecated_internalProblem( 789 return unhandled("${getter.runtimeType}", "doInvocation", offset, uri);
780 "Unhandled invocation ${getter.runtimeType}.",
781 helper.uri,
782 offsetForToken(token));
783 } 790 }
784 } 791 }
785 792
786 toString() => "SuperPropertyAccessor()"; 793 toString() => "SuperPropertyAccessor()";
787 794
788 @override 795 @override
789 KernelComplexAssignment startComplexAssignment(Expression rhs) => 796 KernelComplexAssignment startComplexAssignment(Expression rhs) =>
790 new KernelPropertyAssign(null, rhs, isSuper: true); 797 new KernelPropertyAssign(null, rhs, isSuper: true);
791 } 798 }
792 799
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 with FastaAccessor { 875 with FastaAccessor {
869 final BuilderHelper helper; 876 final BuilderHelper helper;
870 877
871 NullAwarePropertyAccessor(this.helper, Token token, Expression receiver, 878 NullAwarePropertyAccessor(this.helper, Token token, Expression receiver,
872 Name name, Member getter, Member setter, DartType type) 879 Name name, Member getter, Member setter, DartType type)
873 : super(helper, receiver, name, getter, setter, type, token); 880 : super(helper, receiver, name, getter, setter, type, token);
874 881
875 String get plainNameForRead => name.name; 882 String get plainNameForRead => name.name;
876 883
877 Expression doInvocation(int offset, Arguments arguments) { 884 Expression doInvocation(int offset, Arguments arguments) {
878 return deprecated_internalProblem("Not implemented yet."); 885 return unimplemented("doInvocation", offset, uri);
879 } 886 }
880 887
881 toString() => "NullAwarePropertyAccessor()"; 888 toString() => "NullAwarePropertyAccessor()";
882 889
883 @override 890 @override
884 KernelComplexAssignment startComplexAssignment(Expression rhs) => 891 KernelComplexAssignment startComplexAssignment(Expression rhs) =>
885 new KernelPropertyAssign(receiverExpression, rhs); 892 new KernelPropertyAssign(receiverExpression, rhs);
886 } 893 }
887 894
888 int adjustForImplicitCall(String name, int offset) { 895 int adjustForImplicitCall(String name, int offset) {
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
983 Arguments arguments = send.arguments; 990 Arguments arguments = send.arguments;
984 991
985 if (declaration is KernelClassBuilder) { 992 if (declaration is KernelClassBuilder) {
986 KernelClassBuilder declaration = this.declaration; 993 KernelClassBuilder declaration = this.declaration;
987 Builder builder = declaration.findStaticBuilder( 994 Builder builder = declaration.findStaticBuilder(
988 name.name, offsetForToken(token), uri, helper.library); 995 name.name, offsetForToken(token), uri, helper.library);
989 996
990 FastaAccessor accessor; 997 FastaAccessor accessor;
991 if (builder == null) { 998 if (builder == null) {
992 // If we find a setter, [builder] is an 999 // If we find a setter, [builder] is an
993 // [deprecated_AccessErrorBuilder], not null. 1000 // [AccessErrorBuilder], not null.
994 accessor = new UnresolvedAccessor(helper, name, token); 1001 accessor = new UnresolvedAccessor(helper, name, token);
995 } else { 1002 } else {
996 Builder setter; 1003 Builder setter;
997 if (builder.isSetter) { 1004 if (builder.isSetter) {
998 setter = builder; 1005 setter = builder;
999 } else if (builder.isGetter) { 1006 } else if (builder.isGetter) {
1000 setter = declaration.findStaticBuilder( 1007 setter = declaration.findStaticBuilder(
1001 name.name, offsetForToken(token), uri, helper.library, 1008 name.name, offsetForToken(token), uri, helper.library,
1002 isSetter: true); 1009 isSetter: true);
1003 } else if (builder.isField && !builder.isFinal) { 1010 } else if (builder.isField && !builder.isFinal) {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 offset ??= offsetForToken(this.token); 1056 offset ??= offsetForToken(this.token);
1050 return helper.throwNoSuchMethodError(new NullLiteral()..fileOffset = offset, 1057 return helper.throwNoSuchMethodError(new NullLiteral()..fileOffset = offset,
1051 plainNameForRead, arguments, offset, 1058 plainNameForRead, arguments, offset,
1052 isGetter: isGetter, isSetter: isSetter); 1059 isGetter: isGetter, isSetter: isSetter);
1053 } 1060 }
1054 } 1061 }
1055 1062
1056 bool isFieldOrGetter(Member member) { 1063 bool isFieldOrGetter(Member member) {
1057 return member is Field || (member is Procedure && member.isGetter); 1064 return member is Field || (member is Procedure && member.isGetter);
1058 } 1065 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698