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

Side by Side Diff: pkg/analyzer/test/src/task/strong/checker_test.dart

Issue 2319233002: Have setters use strict -> like methods (Closed)
Patch Set: fix tests Created 4 years, 3 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 analyzer.test.src.task.strong.checker_test; 5 library analyzer.test.src.task.strong.checker_test;
6 6
7 import 'package:test_reflective_loader/test_reflective_loader.dart'; 7 import 'package:test_reflective_loader/test_reflective_loader.dart';
8 8
9 import 'strong_test_helper.dart'; 9 import 'strong_test_helper.dart';
10 10
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 B f1; 579 B f1;
580 B f2; 580 B f2;
581 B f3; 581 B f3;
582 B f4; 582 B f4;
583 } 583 }
584 584
585 class Child extends Base { 585 class Child extends Base {
586 /*error:INVALID_FIELD_OVERRIDE,error:INVALID_METHOD_OVERRIDE*/A f1; // invalid for getter 586 /*error:INVALID_FIELD_OVERRIDE,error:INVALID_METHOD_OVERRIDE*/A f1; // invalid for getter
587 /*error:INVALID_FIELD_OVERRIDE,error:INVALID_METHOD_OVERRIDE*/C f2; // invalid for setter 587 /*error:INVALID_FIELD_OVERRIDE,error:INVALID_METHOD_OVERRIDE*/C f2; // invalid for setter
588 /*error:INVALID_FIELD_OVERRIDE*/var f3; 588 /*error:INVALID_FIELD_OVERRIDE*/var f3;
589 /*error:INVALID_FIELD_OVERRIDE,error:INVALID_METHOD_OVERRIDE,error:INVALID_MET HOD_OVERRIDE*/dynamic f4; 589 /*error:INVALID_FIELD_OVERRIDE,error:INVALID_METHOD_OVERRIDE*/dynamic f4;
590 } 590 }
591 591
592 class Child2 implements Base { 592 class Child2 implements Base {
593 /*error:INVALID_METHOD_OVERRIDE*/A f1; // invalid for getter 593 /*error:INVALID_METHOD_OVERRIDE*/A f1; // invalid for getter
594 /*error:INVALID_METHOD_OVERRIDE*/C f2; // invalid for setter 594 /*error:INVALID_METHOD_OVERRIDE*/C f2; // invalid for setter
595 var f3; 595 var f3;
596 /*error:INVALID_METHOD_OVERRIDE,error:INVALID_METHOD_OVERRIDE*/dynamic f4; 596 /*error:INVALID_METHOD_OVERRIDE*/dynamic f4;
597 } 597 }
598 '''); 598 ''');
599 } 599 }
600 600
601 void test_fieldGetterOverride() { 601 void test_fieldGetterOverride() {
602 checkFile(''' 602 checkFile('''
603 class A {} 603 class A {}
604 class B extends A {} 604 class B extends A {}
605 class C extends B {} 605 class C extends B {}
606 606
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 class Child extends Base { 664 class Child extends Base {
665 /*error:INVALID_FIELD_OVERRIDE*/B get f1 => null; 665 /*error:INVALID_FIELD_OVERRIDE*/B get f1 => null;
666 /*error:INVALID_FIELD_OVERRIDE*/B get f2 => null; 666 /*error:INVALID_FIELD_OVERRIDE*/B get f2 => null;
667 /*error:INVALID_FIELD_OVERRIDE*/B get f3 => null; 667 /*error:INVALID_FIELD_OVERRIDE*/B get f3 => null;
668 /*error:INVALID_FIELD_OVERRIDE*/B get f4 => null; 668 /*error:INVALID_FIELD_OVERRIDE*/B get f4 => null;
669 /*error:INVALID_FIELD_OVERRIDE*/B get f5 => null; 669 /*error:INVALID_FIELD_OVERRIDE*/B get f5 => null;
670 670
671 /*error:INVALID_FIELD_OVERRIDE*/void set f1(A value) {} 671 /*error:INVALID_FIELD_OVERRIDE*/void set f1(A value) {}
672 /*error:INVALID_FIELD_OVERRIDE,error:INVALID_METHOD_OVERRIDE*/void set f2(C va lue) {} 672 /*error:INVALID_FIELD_OVERRIDE,error:INVALID_METHOD_OVERRIDE*/void set f2(C va lue) {}
673 /*error:INVALID_FIELD_OVERRIDE*/void set f3(value) {} 673 /*error:INVALID_FIELD_OVERRIDE*/void set f3(value) {}
674 /*error:INVALID_FIELD_OVERRIDE,error:INVALID_METHOD_OVERRIDE*/void set f4(dyna mic value) {} 674 /*error:INVALID_FIELD_OVERRIDE*/void set f4(dynamic value) {}
675 /*error:INVALID_FIELD_OVERRIDE*/set f5(B value) {} 675 /*error:INVALID_FIELD_OVERRIDE*/set f5(B value) {}
676 } 676 }
677 677
678 class Child2 implements Base { 678 class Child2 implements Base {
679 B get f1 => null; 679 B get f1 => null;
680 B get f2 => null; 680 B get f2 => null;
681 B get f3 => null; 681 B get f3 => null;
682 B get f4 => null; 682 B get f4 => null;
683 B get f5 => null; 683 B get f5 => null;
684 684
685 void set f1(A value) {} 685 void set f1(A value) {}
686 /*error:INVALID_METHOD_OVERRIDE*/void set f2(C value) {} 686 /*error:INVALID_METHOD_OVERRIDE*/void set f2(C value) {}
687 void set f3(value) {} 687 void set f3(value) {}
688 /*error:INVALID_METHOD_OVERRIDE*/void set f4(dynamic value) {} 688 void set f4(dynamic value) {}
689 set f5(B value) {} 689 set f5(B value) {}
690 } 690 }
691 '''); 691 ''');
692 } 692 }
693 693
694 void test_forInCastsIterateElementToVariable() { 694 void test_forInCastsIterateElementToVariable() {
695 checkFile(''' 695 checkFile('''
696 main() { 696 main() {
697 // Don't choke if sequence is not iterable. 697 // Don't choke if sequence is not iterable.
698 for (var i in /*error:FOR_IN_OF_INVALID_TYPE*/1234) {} 698 for (var i in /*error:FOR_IN_OF_INVALID_TYPE*/1234) {}
(...skipping 2480 matching lines...) Expand 10 before | Expand all | Expand 10 after
3179 class F { 3179 class F {
3180 void set f(ToVoid<dynamic> x) {} 3180 void set f(ToVoid<dynamic> x) {}
3181 void set g(ToVoid<int> x) {} 3181 void set g(ToVoid<int> x) {}
3182 void set h(dynamic x) {} 3182 void set h(dynamic x) {}
3183 void set i(int x) {} 3183 void set i(int x) {}
3184 } 3184 }
3185 3185
3186 class G extends F { 3186 class G extends F {
3187 /*error:INVALID_METHOD_OVERRIDE*/void set f(ToVoid<int> x) {} 3187 /*error:INVALID_METHOD_OVERRIDE*/void set f(ToVoid<int> x) {}
3188 void set g(ToVoid<dynamic> x) {} 3188 void set g(ToVoid<dynamic> x) {}
3189 void set h(int x) {} 3189 /*error:INVALID_METHOD_OVERRIDE*/void set h(int x) {}
3190 /*error:INVALID_METHOD_OVERRIDE*/void set i(dynamic x) {} 3190 void set i(dynamic x) {}
3191 } 3191 }
3192 3192
3193 class H implements F { 3193 class H implements F {
3194 /*error:INVALID_METHOD_OVERRIDE*/void set f(ToVoid<int> x) {} 3194 /*error:INVALID_METHOD_OVERRIDE*/void set f(ToVoid<int> x) {}
3195 void set g(ToVoid<dynamic> x) {} 3195 void set g(ToVoid<dynamic> x) {}
3196 void set h(int x) {} 3196 /*error:INVALID_METHOD_OVERRIDE*/void set h(int x) {}
3197 /*error:INVALID_METHOD_OVERRIDE*/void set i(dynamic x) {} 3197 void set i(dynamic x) {}
3198 } 3198 }
3199 '''); 3199 ''');
3200 } 3200 }
3201 3201
3202 void test_setterReturnTypes() { 3202 void test_setterReturnTypes() {
3203 checkFile(''' 3203 checkFile('''
3204 void voidFn() => null; 3204 void voidFn() => null;
3205 class A { 3205 class A {
3206 set a(y) => 4; 3206 set a(y) => 4;
3207 set b(y) => voidFn(); 3207 set b(y) => voidFn();
(...skipping 20 matching lines...) Expand all
3228 void set f2(B value); 3228 void set f2(B value);
3229 void set f3(B value); 3229 void set f3(B value);
3230 void set f4(B value); 3230 void set f4(B value);
3231 void set f5(B value); 3231 void set f5(B value);
3232 } 3232 }
3233 3233
3234 class Child extends Base { 3234 class Child extends Base {
3235 void set f1(A value) {} 3235 void set f1(A value) {}
3236 /*error:INVALID_METHOD_OVERRIDE*/void set f2(C value) {} 3236 /*error:INVALID_METHOD_OVERRIDE*/void set f2(C value) {}
3237 void set f3(value) {} 3237 void set f3(value) {}
3238 /*error:INVALID_METHOD_OVERRIDE*/void set f4(dynamic value) {} 3238 void set f4(dynamic value) {}
3239 set f5(B value) {} 3239 set f5(B value) {}
3240 } 3240 }
3241 '''); 3241 ''');
3242 } 3242 }
3243 3243
3244 void test_superCallPlacement() { 3244 void test_superCallPlacement() {
3245 checkFile(''' 3245 checkFile('''
3246 class Base { 3246 class Base {
3247 var x; 3247 var x;
3248 Base() : x = print('Base.1') { print('Base.2'); } 3248 Base() : x = print('Base.1') { print('Base.2'); }
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
3727 // Regression test for https://github.com/dart-lang/sdk/issues/25069 3727 // Regression test for https://github.com/dart-lang/sdk/issues/25069
3728 checkFile(''' 3728 checkFile('''
3729 typedef int Foo(); 3729 typedef int Foo();
3730 void foo() {} 3730 void foo() {}
3731 void main () { 3731 void main () {
3732 Foo x = /*error:INVALID_ASSIGNMENT,info:USE_OF_VOID_RESULT*/foo(); 3732 Foo x = /*error:INVALID_ASSIGNMENT,info:USE_OF_VOID_RESULT*/foo();
3733 } 3733 }
3734 '''); 3734 ''');
3735 } 3735 }
3736 } 3736 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/task/strong/checker.dart ('k') | pkg/dev_compiler/test/codegen/language/abstract_method_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698