| 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 library dart2js.semantics_visitor_test; | 5 library dart2js.semantics_visitor_test; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'package:async_helper/async_helper.dart'; | 8 import 'package:async_helper/async_helper.dart'; |
| 9 import 'package:expect/expect.dart'; | 9 import 'package:expect/expect.dart'; |
| 10 import 'package:compiler/src/constants/expressions.dart'; | 10 import 'package:compiler/src/constants/expressions.dart'; |
| (...skipping 2057 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2068 set a(_) {} | 2068 set a(_) {} |
| 2069 } | 2069 } |
| 2070 | 2070 |
| 2071 class C extends B { | 2071 class C extends B { |
| 2072 m() => super.a++; | 2072 m() => super.a++; |
| 2073 } | 2073 } |
| 2074 ''', | 2074 ''', |
| 2075 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX, | 2075 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX, |
| 2076 getter: 'field(A#a)', setter: 'setter(B#a)', | 2076 getter: 'field(A#a)', setter: 'setter(B#a)', |
| 2077 operator: '++')), | 2077 operator: '++')), |
| 2078 |
| 2079 const Test( |
| 2080 ''' |
| 2081 set topLevel(var value) { } |
| 2082 m() => topLevel++; |
| 2083 ''', |
| 2084 const Visit(VisitKind.ERROR_UNRESOLVED_POSTFIX, |
| 2085 operator: '++')), |
| 2078 ], | 2086 ], |
| 2079 'Constructor invocations': const [ | 2087 'Constructor invocations': const [ |
| 2080 const Test( | 2088 const Test( |
| 2081 ''' | 2089 ''' |
| 2082 class Class { | 2090 class Class { |
| 2083 const Class(a, b); | 2091 const Class(a, b); |
| 2084 } | 2092 } |
| 2085 m() => const Class(true, 42); | 2093 m() => const Class(true, 42); |
| 2086 ''', | 2094 ''', |
| 2087 const Visit(VisitKind.VISIT_CONST_CONSTRUCTOR_INVOKE, | 2095 const Visit(VisitKind.VISIT_CONST_CONSTRUCTOR_INVOKE, |
| (...skipping 2022 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4110 arg) { | 4118 arg) { |
| 4111 // TODO: implement errorUnresolvedInvoke | 4119 // TODO: implement errorUnresolvedInvoke |
| 4112 } | 4120 } |
| 4113 | 4121 |
| 4114 @override | 4122 @override |
| 4115 errorUnresolvedPostfix( | 4123 errorUnresolvedPostfix( |
| 4116 Send node, | 4124 Send node, |
| 4117 ErroneousElement element, | 4125 ErroneousElement element, |
| 4118 IncDecOperator operator, | 4126 IncDecOperator operator, |
| 4119 arg) { | 4127 arg) { |
| 4120 // TODO: implement errorUnresolvedPostfix | 4128 visits.add(new Visit( |
| 4129 VisitKind.ERROR_UNRESOLVED_POSTFIX, operator: operator)); |
| 4121 } | 4130 } |
| 4122 | 4131 |
| 4123 @override | 4132 @override |
| 4124 errorUnresolvedPrefix( | 4133 errorUnresolvedPrefix( |
| 4125 Send node, | 4134 Send node, |
| 4126 ErroneousElement element, | 4135 ErroneousElement element, |
| 4127 IncDecOperator operator, | 4136 IncDecOperator operator, |
| 4128 arg) { | 4137 arg) { |
| 4129 // TODO: implement errorUnresolvedPrefix | 4138 // TODO: implement errorUnresolvedPrefix |
| 4130 } | 4139 } |
| (...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4587 VISIT_GENERATIVE_CONSTRUCTOR_INVOKE, | 4596 VISIT_GENERATIVE_CONSTRUCTOR_INVOKE, |
| 4588 VISIT_REDIRECTING_GENERATIVE_CONSTRUCTOR_INVOKE, | 4597 VISIT_REDIRECTING_GENERATIVE_CONSTRUCTOR_INVOKE, |
| 4589 VISIT_FACTORY_CONSTRUCTOR_INVOKE, | 4598 VISIT_FACTORY_CONSTRUCTOR_INVOKE, |
| 4590 VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE, | 4599 VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE, |
| 4591 | 4600 |
| 4592 ERROR_UNRESOLVED_CLASS_CONSTRUCTOR_INVOKE, | 4601 ERROR_UNRESOLVED_CLASS_CONSTRUCTOR_INVOKE, |
| 4593 ERROR_UNRESOLVED_CONSTRUCTOR_INVOKE, | 4602 ERROR_UNRESOLVED_CONSTRUCTOR_INVOKE, |
| 4594 ERROR_ABSTRACT_CLASS_CONSTRUCTOR_INVOKE, | 4603 ERROR_ABSTRACT_CLASS_CONSTRUCTOR_INVOKE, |
| 4595 ERROR_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE, | 4604 ERROR_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE, |
| 4596 | 4605 |
| 4597 // TODO(johnniwinther): Add tests for error cases. | 4606 ERROR_UNRESOLVED_POSTFIX, |
| 4607 |
| 4608 // TODO(johnniwinther): Add tests for more error cases. |
| 4598 } | 4609 } |
| OLD | NEW |