Index: tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
diff --git a/tests/compiler/dart2js/semantic_visitor_test_send_data.dart b/tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
index dcd840ea45a0d1005b530316426c25c5ce0ed932..34d25eae56c88771269f29e4ce1f59b3e7611a44 100644 |
--- a/tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
+++ b/tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
@@ -107,6 +107,15 @@ const Map<String, List<Test>> SEND_TESTS = const { |
'm() => p.C.o;', |
const Visit(VisitKind.VISIT_STATIC_FIELD_GET, |
element: 'field(C#o)')), |
+ const Test.clazz( |
+ ''' |
+ class C { |
+ var o; |
+ static m() => o; |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_GET, |
+ error: MessageKind.NO_INSTANCE_AVAILABLE)), |
const Test.prefix( |
''' |
class C { |
@@ -189,7 +198,9 @@ const Map<String, List<Test>> SEND_TESTS = const { |
null), |
const Test( |
''' |
- class C { static var o; } |
+ class C { |
+ static var o; |
+ } |
m() { C.o = 42; } |
''', |
const Visit(VisitKind.VISIT_STATIC_FIELD_SET, |
@@ -225,9 +236,21 @@ const Map<String, List<Test>> SEND_TESTS = const { |
const Visit(VisitKind.VISIT_STATIC_FIELD_SET, |
element: 'field(C#o)', |
rhs: '42')), |
+ const Test.clazz( |
+ ''' |
+ class C { |
+ var o; |
+ static m() { o = 42; } |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_SET, |
+ error: MessageKind.NO_INSTANCE_AVAILABLE, |
+ rhs: '42')), |
const Test( |
''' |
- class C { static var o; } |
+ class C { |
+ static var o; |
+ } |
m() { C.o(null, 42); } |
''', |
const Visit(VisitKind.VISIT_STATIC_FIELD_INVOKE, |
@@ -253,6 +276,16 @@ const Map<String, List<Test>> SEND_TESTS = const { |
const Visit(VisitKind.VISIT_STATIC_FIELD_INVOKE, |
element: 'field(C#o)', |
arguments: '(null,42)')), |
+ const Test.clazz( |
+ ''' |
+ class C { |
+ var o; |
+ static m() { o(null, 42); } |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_INVOKE, |
+ error: MessageKind.NO_INSTANCE_AVAILABLE, |
+ arguments: '(null,42)')), |
const Test.prefix( |
''' |
class C { |
@@ -269,7 +302,8 @@ const Map<String, List<Test>> SEND_TESTS = const { |
m() => C.this(null, 42); |
''', |
const Visit(VisitKind.ERROR_INVALID_INVOKE, |
- error: MessageKind.THIS_PROPERTY, arguments: '(null,42)')), |
+ error: MessageKind.THIS_PROPERTY, |
+ arguments: '(null,42)')), |
// TODO(johnniwinther): Expect [VISIT_FINAL_STATIC_FIELD_SET] instead. |
const Test( |
''' |
@@ -1509,7 +1543,51 @@ const Map<String, List<Test>> SEND_TESTS = const { |
const Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX, |
element: 'type_variable(C#T)', |
operator: '--')), |
- |
+ const Test.clazz( |
+ ''' |
+ class C<T> { |
+ static m() => T; |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_GET, |
+ error: MessageKind.TYPE_VARIABLE_WITHIN_STATIC_MEMBER)), |
+ const Test.clazz( |
+ ''' |
+ class C<T> { |
+ static m() => T(null, 42); |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_INVOKE, |
+ error: MessageKind.TYPE_VARIABLE_WITHIN_STATIC_MEMBER, |
+ arguments: '(null,42)')), |
+ const Test.clazz( |
+ ''' |
+ class C<T> { |
+ static m() => T += 42; |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_COMPOUND, |
+ error: MessageKind.TYPE_VARIABLE_WITHIN_STATIC_MEMBER, |
+ operator: '+=', |
+ rhs: '42')), |
+ const Test.clazz( |
+ ''' |
+ class C<T> { |
+ static m() => ++T; |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_PREFIX, |
+ error: MessageKind.TYPE_VARIABLE_WITHIN_STATIC_MEMBER, |
+ operator: '++')), |
+ const Test.clazz( |
+ ''' |
+ class C<T> { |
+ static m() => T--; |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_POSTFIX, |
+ error: MessageKind.TYPE_VARIABLE_WITHIN_STATIC_MEMBER, |
+ operator: '--')), |
], |
'Dynamic type literals': const [ |
// Dynamic type literals |
@@ -2234,6 +2312,17 @@ const Map<String, List<Test>> SEND_TESTS = const { |
''', |
const Visit(VisitKind.VISIT_STATIC_FIELD_COMPOUND, |
element: 'field(C#a)', operator: '+=', rhs: '42')), |
+ const Test.clazz( |
+ ''' |
+ class C { |
+ var o; |
+ static m() { o += 42; } |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_COMPOUND, |
+ error: MessageKind.NO_INSTANCE_AVAILABLE, |
+ operator: '+=', |
+ rhs: '42')), |
const Test( |
''' |
class C { |
@@ -2749,6 +2838,16 @@ const Map<String, List<Test>> SEND_TESTS = const { |
''', |
const Visit(VisitKind.VISIT_STATIC_FIELD_PREFIX, |
element: 'field(C#a)', operator: '--')), |
+ const Test.clazz( |
+ ''' |
+ class C { |
+ var o; |
+ static m() { ++o; } |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_PREFIX, |
+ error: MessageKind.NO_INSTANCE_AVAILABLE, |
+ operator: '++')), |
const Test( |
''' |
class C { |
@@ -3130,6 +3229,16 @@ const Map<String, List<Test>> SEND_TESTS = const { |
''', |
const Visit(VisitKind.VISIT_STATIC_FIELD_POSTFIX, |
element: 'field(C#a)', operator: '--')), |
+ const Test.clazz( |
+ ''' |
+ class C { |
+ var o; |
+ static m() { o--; } |
+ } |
+ ''', |
+ const Visit(VisitKind.ERROR_INVALID_POSTFIX, |
+ error: MessageKind.NO_INSTANCE_AVAILABLE, |
+ operator: '--')), |
const Test( |
''' |
class C { |