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

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

Issue 304153014: Remove element from DynamicType. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix infinite loop. Created 6 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 | Annotate | Revision Log
« no previous file with comments | « sdk/lib/_internal/lib/js_helper.dart ('k') | tests/compiler/dart2js/type_test_helper.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 '../../../sdk/lib/_internal/compiler/implementation/dart_types.dart'; 10 import '../../../sdk/lib/_internal/compiler/implementation/dart_types.dart';
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 } 181 }
182 class C<S> extends B<S> {} 182 class C<S> extends B<S> {}
183 class D extends C<int> {} 183 class D extends C<int> {}
184 class E extends D {} 184 class E extends D {}
185 """, useMockCompiler: false).then((env) { 185 """, useMockCompiler: false).then((env) {
186 186
187 InterfaceType bool_ = env['bool']; 187 InterfaceType bool_ = env['bool'];
188 InterfaceType String_ = env['String']; 188 InterfaceType String_ = env['String'];
189 InterfaceType num_ = env['num']; 189 InterfaceType num_ = env['num'];
190 InterfaceType int_ = env['int']; 190 InterfaceType int_ = env['int'];
191 InterfaceType dynamic_ = env['dynamic']; 191 DynamicType dynamic_ = env['dynamic'];
192 VoidType void_ = env['void']; 192 VoidType void_ = env['void'];
193 InterfaceType Type_ = env['Type']; 193 InterfaceType Type_ = env['Type'];
194 InterfaceType Invocation_ = env['Invocation']; 194 InterfaceType Invocation_ = env['Invocation'];
195 195
196 InterfaceType Object_ = env['Object']; 196 InterfaceType Object_ = env['Object'];
197 checkMemberCount(Object_, 5 /*declared*/, interfaceMembers: true); 197 checkMemberCount(Object_, 5 /*declared*/, interfaceMembers: true);
198 checkMemberCount(Object_, 5 /*declared*/, interfaceMembers: false); 198 checkMemberCount(Object_, 5 /*declared*/, interfaceMembers: false);
199 199
200 checkMember(Object_, '==', 200 checkMember(Object_, '==',
201 functionType: env.functionType(bool_, [dynamic_])); 201 functionType: env.functionType(bool_, [dynamic_]));
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 void set setter3(int _); 393 void set setter3(int _);
394 getterAndMethod(); 394 getterAndMethod();
395 } 395 }
396 abstract class C { 396 abstract class C {
397 int method3(); 397 int method3();
398 num method4(); 398 num method4();
399 } 399 }
400 abstract class D implements A, B, C {} 400 abstract class D implements A, B, C {}
401 """).then((env) { 401 """).then((env) {
402 402
403 InterfaceType dynamic_ = env['dynamic']; 403 DynamicType dynamic_ = env['dynamic'];
404 VoidType void_ = env['void']; 404 VoidType void_ = env['void'];
405 InterfaceType num_ = env['num']; 405 InterfaceType num_ = env['num'];
406 InterfaceType int_ = env['int']; 406 InterfaceType int_ = env['int'];
407 407
408 InterfaceType A = env['A']; 408 InterfaceType A = env['A'];
409 InterfaceType B = env['B']; 409 InterfaceType B = env['B'];
410 InterfaceType C = env['C']; 410 InterfaceType C = env['C'];
411 InterfaceType D = env['D']; 411 InterfaceType D = env['D'];
412 412
413 // A: num method1() 413 // A: num method1()
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 method1() {} 559 method1() {}
560 method2() {} 560 method2() {}
561 } 561 }
562 abstract class B { 562 abstract class B {
563 method1(); 563 method1();
564 method2(a); 564 method2(a);
565 } 565 }
566 abstract class C extends A implements B {} 566 abstract class C extends A implements B {}
567 """).then((env) { 567 """).then((env) {
568 568
569 InterfaceType dynamic_ = env['dynamic']; 569 DynamicType dynamic_ = env['dynamic'];
570 VoidType void_ = env['void']; 570 VoidType void_ = env['void'];
571 InterfaceType num_ = env['num']; 571 InterfaceType num_ = env['num'];
572 InterfaceType int_ = env['int']; 572 InterfaceType int_ = env['int'];
573 573
574 InterfaceType A = env['A']; 574 InterfaceType A = env['A'];
575 InterfaceType B = env['B']; 575 InterfaceType B = env['B'];
576 InterfaceType C = env['C']; 576 InterfaceType C = env['C'];
577 577
578 // A: method1() 578 // A: method1()
579 // B: method1() 579 // B: method1()
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 method4(T a) {} 612 method4(T a) {}
613 } 613 }
614 abstract class B<S> { 614 abstract class B<S> {
615 method1(); 615 method1();
616 method2(a); 616 method2(a);
617 method3(S a) {} 617 method3(S a) {}
618 } 618 }
619 abstract class C<U, V> extends Object with A<U> implements B<V> {} 619 abstract class C<U, V> extends Object with A<U> implements B<V> {}
620 """).then((env) { 620 """).then((env) {
621 621
622 InterfaceType dynamic_ = env['dynamic']; 622 DynamicType dynamic_ = env['dynamic'];
623 VoidType void_ = env['void']; 623 VoidType void_ = env['void'];
624 InterfaceType num_ = env['num']; 624 InterfaceType num_ = env['num'];
625 InterfaceType int_ = env['int']; 625 InterfaceType int_ = env['int'];
626 626
627 ClassElement A = env.getElement('A'); 627 ClassElement A = env.getElement('A');
628 ClassElement B = env.getElement('B'); 628 ClassElement B = env.getElement('B');
629 ClassElement C = env.getElement('C'); 629 ClassElement C = env.getElement('C');
630 InterfaceType C_this = C.thisType; 630 InterfaceType C_this = C.thisType;
631 TypeVariableType C_U = C_this.typeArguments.head; 631 TypeVariableType C_U = C_this.typeArguments.head;
632 TypeVariableType C_V = C_this.typeArguments.tail.head; 632 TypeVariableType C_V = C_this.typeArguments.tail.head;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 Expect.notEquals(interfaceMember, classMember); 674 Expect.notEquals(interfaceMember, classMember);
675 675
676 // A: method4(U a) 676 // A: method4(U a)
677 // B: -- 677 // B: --
678 // C class: method4(U a) -- inherited from A. 678 // C class: method4(U a) -- inherited from A.
679 // C interface: method4(U a) -- inherited from A. 679 // C interface: method4(U a) -- inherited from A.
680 checkMember(C_this, 'method4', checkType: ALSO_CLASS_MEMBER, 680 checkMember(C_this, 'method4', checkType: ALSO_CLASS_MEMBER,
681 inheritedFrom: A_U); 681 inheritedFrom: A_U);
682 })); 682 }));
683 } 683 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/lib/js_helper.dart ('k') | tests/compiler/dart2js/type_test_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698