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 1026dbbd487af83a6c38a14dc139f1eef144ee5b..ebad7892b46f2814d3035d043e93c5f93366b0f8 100644 |
--- a/tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
+++ b/tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
@@ -109,6 +109,30 @@ const Map<String, List<Test>> SEND_TESTS = const { |
element: 'field(C#o)')), |
const Test( |
''' |
+ class C { |
+ var o; |
+ } |
+ m() => C.o; |
+ ''', |
+ const Visit(VisitKind.VISIT_UNRESOLVED_GET, |
+ name: 'o')), |
+ const Test( |
+ ''' |
+ class C { |
+ C.o(); |
+ } |
+ m() => C.o; |
+ ''', |
+ const Visit(VisitKind.VISIT_UNRESOLVED_GET, |
+ name: 'o')), |
+ const Test( |
+ ''' |
+ class C {} |
+ m() => C.this; |
+ ''', |
+ null), |
+ const Test( |
+ ''' |
class C { static var o; } |
m() { C.o = 42; } |
''', |
@@ -183,6 +207,13 @@ const Map<String, List<Test>> SEND_TESTS = const { |
const Visit(VisitKind.VISIT_STATIC_FIELD_INVOKE, |
element: 'field(C#o)', |
arguments: '(null,42)')), |
+ const Test( |
+ ''' |
+ class C {} |
+ m() => C.this(null, 42); |
+ ''', |
+ const Visit(VisitKind.VISIT_UNRESOLVED_INVOKE, |
+ name: 'this', arguments: '(null,42)')), |
// TODO(johnniwinther): Expect [VISIT_FINAL_STATIC_FIELD_SET] instead. |
const Test( |
''' |
@@ -338,7 +369,6 @@ const Map<String, List<Test>> SEND_TESTS = const { |
const Visit(VisitKind.VISIT_UNRESOLVED_SET, |
name: 'o', |
rhs: '42')), |
- // TODO(johnniwinther): Expected [VISIT_STATIC_SETTER_GET] instead. |
const Test( |
''' |
class C { |
@@ -346,8 +376,8 @@ const Map<String, List<Test>> SEND_TESTS = const { |
} |
m() => C.o; |
''', |
- const Visit(VisitKind.VISIT_UNRESOLVED_GET, |
- name: 'o')), |
+ const Visit(VisitKind.VISIT_STATIC_SETTER_GET, |
+ element: 'setter(C#o)')), |
const Test.clazz( |
''' |
class C { |
@@ -365,8 +395,8 @@ const Map<String, List<Test>> SEND_TESTS = const { |
m() => C.o; |
} |
''', |
- const Visit(VisitKind.VISIT_UNRESOLVED_GET, |
- name: 'o')), |
+ const Visit(VisitKind.VISIT_STATIC_SETTER_GET, |
+ element: 'setter(C#o)')), |
const Test.prefix( |
''' |
class C { |
@@ -374,8 +404,8 @@ const Map<String, List<Test>> SEND_TESTS = const { |
} |
''', |
'm() => p.C.o;', |
- const Visit(VisitKind.VISIT_UNRESOLVED_GET, |
- name: 'o')), |
+ const Visit(VisitKind.VISIT_STATIC_SETTER_GET, |
+ element: 'setter(C#o)')), |
const Test( |
''' |
class C { static set o(_) {} } |
@@ -452,14 +482,13 @@ const Map<String, List<Test>> SEND_TESTS = const { |
const Visit(VisitKind.VISIT_STATIC_GETTER_INVOKE, |
element: 'getter(C#o)', |
arguments: '(null,42)')), |
- // TODO(johnniwinther): Expect [VISIT_STATIC_SETTER_INVOKE] instead. |
const Test( |
''' |
class C { static set o(_) {} } |
m() => C.o(null, 42); |
''', |
- const Visit(VisitKind.VISIT_UNRESOLVED_INVOKE, |
- name: 'o', |
+ const Visit(VisitKind.VISIT_STATIC_SETTER_INVOKE, |
+ element: 'setter(C#o)', |
arguments: '(null,42)')), |
const Test.clazz( |
''' |
@@ -478,8 +507,8 @@ const Map<String, List<Test>> SEND_TESTS = const { |
m() { C.o(null, 42); } |
} |
''', |
- const Visit(VisitKind.VISIT_UNRESOLVED_INVOKE, |
- name: 'o', |
+ const Visit(VisitKind.VISIT_STATIC_SETTER_INVOKE, |
+ element: 'setter(C#o)', |
arguments: '(null,42)')), |
const Test.prefix( |
''' |
@@ -488,8 +517,8 @@ const Map<String, List<Test>> SEND_TESTS = const { |
} |
''', |
'm() { p.C.o(null, 42); }', |
- const Visit(VisitKind.VISIT_UNRESOLVED_INVOKE, |
- name: 'o', |
+ const Visit(VisitKind.VISIT_STATIC_SETTER_INVOKE, |
+ element: 'setter(C#o)', |
arguments: '(null,42)')), |
], |
'Static functions': const [ |
@@ -1243,10 +1272,14 @@ const Map<String, List<Test>> SEND_TESTS = const { |
const Test( |
''' |
class C {} |
- m() => C; |
+ m() => (C).hashCode; |
''', |
- const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_GET, |
- constant: 'C')), |
+ const [ |
+ const Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_GET, |
+ receiver: '(C)', name: 'hashCode'), |
+ const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_GET, |
+ constant: 'C'), |
+ ]), |
], |
'Typedef type literals': const [ |
// Typedef type literals |
@@ -3419,6 +3452,22 @@ const Map<String, List<Test>> SEND_TESTS = const { |
]), |
const Test( |
''' |
+ class C { |
+ static var b; |
+ } |
+ m(a) => C?.b; |
+ ''', |
+ const [ |
+ const Visit( |
+ VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_GET, |
+ receiver: 'C', |
+ name: 'b'), |
+ const Visit( |
+ VisitKind.VISIT_CLASS_TYPE_LITERAL_GET, |
+ constant: 'C'), |
+ ]), |
+ const Test( |
+ ''' |
m(a) => a?.b = 42; |
''', |
const [ |