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

Side by Side Diff: tests/compiler/dart2js/members_test.dart

Issue 2944843002: All strong mode cleaning of dart2js. (Closed)
Patch Set: More issues discovered during testing. Created 3 years, 6 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 members_test; 5 library members_test;
6 6
7 import 'package:expect/expect.dart'; 7 import 'package:expect/expect.dart';
8 import "package:async_helper/async_helper.dart"; 8 import "package:async_helper/async_helper.dart";
9 import 'type_test_helper.dart'; 9 import 'type_test_helper.dart';
10 import 'package:compiler/src/elements/resolution_types.dart'; 10 import 'package:compiler/src/elements/resolution_types.dart';
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 toString([T t]) {} 187 toString([T t]) {}
188 } 188 }
189 class C<S> extends B<S> {} 189 class C<S> extends B<S> {}
190 class D extends C<int> {} 190 class D extends C<int> {}
191 class E extends D {} 191 class E extends D {}
192 """, 192 """,
193 useMockCompiler: false) 193 useMockCompiler: false)
194 .then((env) { 194 .then((env) {
195 ResolutionInterfaceType bool_ = env['bool']; 195 ResolutionInterfaceType bool_ = env['bool'];
196 ResolutionInterfaceType String_ = env['String']; 196 ResolutionInterfaceType String_ = env['String'];
197 ResolutionInterfaceType num_ = env['num'];
198 ResolutionInterfaceType int_ = env['int']; 197 ResolutionInterfaceType int_ = env['int'];
199 ResolutionDynamicType dynamic_ = env['dynamic']; 198 ResolutionDynamicType dynamic_ = env['dynamic'];
200 ResolutionVoidType void_ = env['void']; 199 ResolutionVoidType void_ = env['void'];
201 ResolutionInterfaceType Type_ = env['Type']; 200 ResolutionInterfaceType Type_ = env['Type'];
202 ResolutionInterfaceType Invocation_ = env['Invocation']; 201 ResolutionInterfaceType Invocation_ = env['Invocation'];
203 202
204 ResolutionInterfaceType Object_ = env['Object']; 203 ResolutionInterfaceType Object_ = env['Object'];
205 checkMemberCount(Object_, 5 /*declared*/, interfaceMembers: true); 204 checkMemberCount(Object_, 5 /*declared*/, interfaceMembers: true);
206 checkMemberCount(Object_, 5 /*declared*/, interfaceMembers: false); 205 checkMemberCount(Object_, 5 /*declared*/, interfaceMembers: false);
207 206
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 } 446 }
448 abstract class C { 447 abstract class C {
449 int method3(); 448 int method3();
450 num method4(); 449 num method4();
451 } 450 }
452 abstract class D implements A, B, C {} 451 abstract class D implements A, B, C {}
453 """).then((env) { 452 """).then((env) {
454 ResolutionDynamicType dynamic_ = env['dynamic']; 453 ResolutionDynamicType dynamic_ = env['dynamic'];
455 ResolutionVoidType void_ = env['void']; 454 ResolutionVoidType void_ = env['void'];
456 ResolutionInterfaceType num_ = env['num']; 455 ResolutionInterfaceType num_ = env['num'];
457 ResolutionInterfaceType int_ = env['int'];
458 456
459 ResolutionInterfaceType A = env['A']; 457 ResolutionInterfaceType A = env['A'];
460 ResolutionInterfaceType B = env['B']; 458 ResolutionInterfaceType B = env['B'];
461 ResolutionInterfaceType C = env['C']; 459 ResolutionInterfaceType C = env['C'];
462 ResolutionInterfaceType D = env['D']; 460 ResolutionInterfaceType D = env['D'];
463 461
464 // Ensure that members have been computed on all classes. 462 // Ensure that members have been computed on all classes.
465 MembersCreator.computeAllClassMembers(env.resolution, D.element); 463 MembersCreator.computeAllClassMembers(env.resolution, D.element);
466 464
467 // A: num method1() 465 // A: num method1()
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 method1() {} 613 method1() {}
616 method2() {} 614 method2() {}
617 } 615 }
618 abstract class B { 616 abstract class B {
619 method1(); 617 method1();
620 method2(a); 618 method2(a);
621 } 619 }
622 abstract class C extends A implements B {} 620 abstract class C extends A implements B {}
623 """).then((env) { 621 """).then((env) {
624 ResolutionDynamicType dynamic_ = env['dynamic']; 622 ResolutionDynamicType dynamic_ = env['dynamic'];
625 ResolutionVoidType void_ = env['void'];
626 ResolutionInterfaceType num_ = env['num'];
627 ResolutionInterfaceType int_ = env['int'];
628 623
629 ResolutionInterfaceType A = env['A']; 624 ResolutionInterfaceType A = env['A'];
630 ResolutionInterfaceType B = env['B']; 625 ResolutionInterfaceType B = env['B'];
631 ResolutionInterfaceType C = env['C']; 626 ResolutionInterfaceType C = env['C'];
632 627
633 // Ensure that members have been computed on all classes. 628 // Ensure that members have been computed on all classes.
634 MembersCreator.computeAllClassMembers(env.resolution, C.element); 629 MembersCreator.computeAllClassMembers(env.resolution, C.element);
635 630
636 // A: method1() 631 // A: method1()
637 // B: method1() 632 // B: method1()
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 method4(T a) {} 664 method4(T a) {}
670 } 665 }
671 abstract class B<S> { 666 abstract class B<S> {
672 method1(); 667 method1();
673 method2(a); 668 method2(a);
674 method3(S a) {} 669 method3(S a) {}
675 } 670 }
676 abstract class C<U, V> extends Object with A<U> implements B<V> {} 671 abstract class C<U, V> extends Object with A<U> implements B<V> {}
677 """).then((env) { 672 """).then((env) {
678 ResolutionDynamicType dynamic_ = env['dynamic']; 673 ResolutionDynamicType dynamic_ = env['dynamic'];
679 ResolutionVoidType void_ = env['void'];
680 ResolutionInterfaceType num_ = env['num'];
681 ResolutionInterfaceType int_ = env['int'];
682 674
683 ClassElement A = env.getElement('A'); 675 ClassElement A = env.getElement('A');
684 ClassElement B = env.getElement('B'); 676 ClassElement B = env.getElement('B');
685 ClassElement C = env.getElement('C'); 677 ClassElement C = env.getElement('C');
686 ResolutionInterfaceType C_this = C.thisType; 678 ResolutionInterfaceType C_this = C.thisType;
687 ResolutionTypeVariableType C_U = C_this.typeArguments[0]; 679 ResolutionTypeVariableType C_U = C_this.typeArguments[0];
688 ResolutionTypeVariableType C_V = C_this.typeArguments[1]; 680 ResolutionTypeVariableType C_V = C_this.typeArguments[1];
689 ResolutionInterfaceType A_U = instantiate(A, [C_U]); 681 ResolutionInterfaceType A_U = instantiate(A, [C_U]);
690 ResolutionInterfaceType B_V = instantiate(B, [C_V]); 682 ResolutionInterfaceType B_V = instantiate(B, [C_V]);
691 683
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 void testMixinMembersWithoutImplements() { 733 void testMixinMembersWithoutImplements() {
742 asyncTest(() => TypeEnvironment.create(r""" 734 asyncTest(() => TypeEnvironment.create(r"""
743 abstract class A { 735 abstract class A {
744 m(); 736 m();
745 } 737 }
746 abstract class B implements A { 738 abstract class B implements A {
747 } 739 }
748 abstract class C extends Object with B {} 740 abstract class C extends Object with B {}
749 """).then((env) { 741 """).then((env) {
750 ResolutionDynamicType dynamic_ = env['dynamic']; 742 ResolutionDynamicType dynamic_ = env['dynamic'];
751 ResolutionVoidType void_ = env['void'];
752 ResolutionInterfaceType num_ = env['num'];
753 ResolutionInterfaceType int_ = env['int'];
754 743
755 ResolutionInterfaceType A = env['A']; 744 ResolutionInterfaceType A = env['A'];
756 ResolutionInterfaceType B = env['B'];
757 ResolutionInterfaceType C = env['C']; 745 ResolutionInterfaceType C = env['C'];
758 746
759 // Ensure that members have been computed on all classes. 747 // Ensure that members have been computed on all classes.
760 MembersCreator.computeAllClassMembers(env.resolution, C.element); 748 MembersCreator.computeAllClassMembers(env.resolution, C.element);
761 749
762 checkMember(C, 'm', 750 checkMember(C, 'm',
763 checkType: NO_CLASS_MEMBER, 751 checkType: NO_CLASS_MEMBER,
764 inheritedFrom: A, 752 inheritedFrom: A,
765 functionType: env.functionType(dynamic_, [])); 753 functionType: env.functionType(dynamic_, []));
766 })); 754 }));
767 } 755 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/kernel/compile_from_dill_test.dart ('k') | tests/compiler/dart2js/memory_compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698