OLD | NEW |
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 part of dart2js.semantics_visitor_test; | 5 part of dart2js.semantics_visitor_test; |
6 | 6 |
7 const Map<String, List<Test>> SEND_TESTS = const { | 7 const Map<String, List<Test>> SEND_TESTS = const { |
8 'Parameters': const [ | 8 'Parameters': const [ |
9 // Parameters | 9 // Parameters |
10 const Test('m(o) => o;', | 10 const Test('m(o) => o;', |
(...skipping 2684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2695 set a(_) {} | 2695 set a(_) {} |
2696 } | 2696 } |
2697 | 2697 |
2698 class C extends B { | 2698 class C extends B { |
2699 m() => super.a += 42; | 2699 m() => super.a += 42; |
2700 } | 2700 } |
2701 ''', | 2701 ''', |
2702 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_COMPOUND, | 2702 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_COMPOUND, |
2703 getter: 'field(A#a)', setter: 'setter(B#a)', | 2703 getter: 'field(A#a)', setter: 'setter(B#a)', |
2704 operator: '+=', rhs: '42')), | 2704 operator: '+=', rhs: '42')), |
2705 // TODO(johnniwinther): Enable this when dart2js supports shadow setters. | 2705 const Test.clazz( |
2706 /*const Test.clazz( | |
2707 ''' | 2706 ''' |
2708 class A { | 2707 class A { |
2709 var a; | 2708 var a; |
2710 } | 2709 } |
2711 class B extends A { | 2710 class B extends A { |
2712 final a = 0; | 2711 final a = 0; |
2713 } | 2712 } |
2714 | 2713 |
2715 class C extends B { | 2714 class C extends B { |
2716 m() => super.a += 42; | 2715 m() => super.a += 42; |
2717 } | 2716 } |
2718 ''', | 2717 ''', |
2719 const Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND, | 2718 // TODO(johnniwinther): Change this to |
2720 getter: 'field(B#a)', setter: 'field(A#a)', | 2719 // [VISIT_SUPER_FIELD_FIELD_COMPOUND] when dart2js supports shadow |
2721 operator: '+=', rhs: '42')),*/ | 2720 // setters. |
| 2721 const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_COMPOUND, |
| 2722 element: 'field(B#a)', |
| 2723 operator: '+=', rhs: '42')), |
2722 const Test.clazz( | 2724 const Test.clazz( |
2723 ''' | 2725 ''' |
2724 class B { | 2726 class B { |
2725 a() {} | 2727 a() {} |
2726 } | 2728 } |
2727 class C extends B { | 2729 class C extends B { |
2728 m() => super.a += 42; | 2730 m() => super.a += 42; |
2729 } | 2731 } |
2730 ''', | 2732 ''', |
2731 const Visit(VisitKind.VISIT_SUPER_METHOD_COMPOUND, | 2733 const Visit(VisitKind.VISIT_SUPER_METHOD_COMPOUND, |
(...skipping 1698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4430 set a(_) {} | 4432 set a(_) {} |
4431 } | 4433 } |
4432 | 4434 |
4433 class C extends B { | 4435 class C extends B { |
4434 m() => super.a ??= 42; | 4436 m() => super.a ??= 42; |
4435 } | 4437 } |
4436 ''', | 4438 ''', |
4437 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_SET_IF_NULL, | 4439 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_SET_IF_NULL, |
4438 getter: 'field(A#a)', setter: 'setter(B#a)', | 4440 getter: 'field(A#a)', setter: 'setter(B#a)', |
4439 rhs: '42')), | 4441 rhs: '42')), |
4440 // TODO(johnniwinther): Enable this when dart2js supports shadow setters. | 4442 const Test.clazz( |
4441 /*const Test.clazz( | |
4442 ''' | 4443 ''' |
4443 class A { | 4444 class A { |
4444 var a; | 4445 var a; |
4445 } | 4446 } |
4446 class B extends A { | 4447 class B extends A { |
4447 final a = 0; | 4448 final a = 0; |
4448 } | 4449 } |
4449 | 4450 |
4450 class C extends B { | 4451 class C extends B { |
4451 m() => super.a ??= 42; | 4452 m() => super.a ??= 42; |
4452 } | 4453 } |
4453 ''', | 4454 ''', |
4454 const Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_SET_IF_NULL, | 4455 // TODO(johnniwinther): Change this to |
4455 getter: 'field(B#a)', setter: 'field(A#a)', | 4456 // [VISIT_SUPER_FIELD_FIELD_SET_IF_NULL] when dart2js supports shadow |
4456 rhs: '42')),*/ | 4457 // setters. |
| 4458 const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_SET_IF_NULL, |
| 4459 element: 'field(B#a)', |
| 4460 rhs: '42')), |
4457 const Test.clazz( | 4461 const Test.clazz( |
4458 ''' | 4462 ''' |
4459 class B { | 4463 class B { |
4460 a() {} | 4464 a() {} |
4461 } | 4465 } |
4462 class C extends B { | 4466 class C extends B { |
4463 m() => super.a ??= 42; | 4467 m() => super.a ??= 42; |
4464 } | 4468 } |
4465 ''', | 4469 ''', |
4466 const Visit(VisitKind.VISIT_SUPER_METHOD_SET_IF_NULL, | 4470 const Visit(VisitKind.VISIT_SUPER_METHOD_SET_IF_NULL, |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4572 element: 'field(a)', rhs: '42')), | 4576 element: 'field(a)', rhs: '42')), |
4573 | 4577 |
4574 const Test( | 4578 const Test( |
4575 ''' | 4579 ''' |
4576 m() => unresolved ??= 42; | 4580 m() => unresolved ??= 42; |
4577 ''', | 4581 ''', |
4578 const Visit(VisitKind.VISIT_UNRESOLVED_SET_IF_NULL, | 4582 const Visit(VisitKind.VISIT_UNRESOLVED_SET_IF_NULL, |
4579 name: 'unresolved', rhs: '42')), | 4583 name: 'unresolved', rhs: '42')), |
4580 ], | 4584 ], |
4581 }; | 4585 }; |
OLD | NEW |