| Index: tests/compiler/dart2js/semantic_visitor_test.dart
|
| diff --git a/tests/compiler/dart2js/semantic_visitor_test.dart b/tests/compiler/dart2js/semantic_visitor_test.dart
|
| index 5aab5502acdfa6eaf6910f8732e3181da2cde5c1..7fe4ec344c66ae4f17343dee0e9c3e269e0b24cb 100644
|
| --- a/tests/compiler/dart2js/semantic_visitor_test.dart
|
| +++ b/tests/compiler/dart2js/semantic_visitor_test.dart
|
| @@ -5,7 +5,6 @@
|
| library dart2js.semantics_visitor_test;
|
|
|
| import 'dart:async';
|
| -import 'dart:mirrors';
|
| import 'package:async_helper/async_helper.dart';
|
| import 'package:expect/expect.dart';
|
| import 'package:compiler/src/constants/expressions.dart';
|
| @@ -1258,7 +1257,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| }
|
| ''',
|
| const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
|
| - setter: 'function(B#[]=)',
|
| index: '42',
|
| operator: '++')),
|
| const Test.clazz(
|
| @@ -1269,7 +1267,7 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| m() => ++super[42];
|
| }
|
| ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_PREFIX,
|
| + const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
|
| index: '42',
|
| operator: '++')),
|
| const Test.clazz(
|
| @@ -1310,7 +1308,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| }
|
| ''',
|
| const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
|
| - setter: 'function(B#[]=)',
|
| index: '42',
|
| operator: '--')),
|
| const Test.clazz(
|
| @@ -1321,7 +1318,7 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| m() => super[42]--;
|
| }
|
| ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_POSTFIX,
|
| + const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
|
| index: '42',
|
| operator: '--')),
|
| const Test.clazz(
|
| @@ -1516,12 +1513,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| element: 'parameter(m#a)', operator: '+=', rhs: '42')),
|
| const Test(
|
| '''
|
| - m(final a) => a += 42;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_FINAL_PARAMETER_COMPOUND,
|
| - element: 'parameter(m#a)', operator: '+=', rhs: '42')),
|
| - const Test(
|
| - '''
|
| m() {
|
| var a;
|
| a += 42;
|
| @@ -1531,24 +1522,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| element: 'variable(m#a)', operator: '+=', rhs: '42')),
|
| const Test(
|
| '''
|
| - m() {
|
| - final a;
|
| - a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_COMPOUND,
|
| - element: 'variable(m#a)', operator: '+=', rhs: '42')),
|
| - const Test(
|
| - '''
|
| - m() {
|
| - a() {}
|
| - a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_LOCAL_FUNCTION_COMPOUND,
|
| - element: 'function(m#a)', operator: '+=', rhs: '42')),
|
| - const Test(
|
| - '''
|
| var a;
|
| m() => a += 42;
|
| ''',
|
| @@ -1731,17 +1704,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| const Test.clazz(
|
| '''
|
| class B {
|
| - final a = 0;
|
| - }
|
| - class C extends B {
|
| - m() => super.a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_COMPOUND,
|
| - element: 'field(B#a)', operator: '+=', rhs: '42')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| get a => 0;
|
| set a (_) {}
|
| }
|
| @@ -1816,129 +1778,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| const Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
|
| getter: 'field(B#a)', setter: 'field(A#a)',
|
| operator: '+=', rhs: '42')),*/
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - a() {}
|
| - }
|
| - class C extends B {
|
| - m() => super.a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_SUPER_METHOD_COMPOUND,
|
| - element: 'function(B#a)',
|
| - operator: '+=', rhs: '42')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - }
|
| - class C extends B {
|
| - m() => super.a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND,
|
| - operator: '+=', rhs: '42')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - set a(_) {}
|
| - }
|
| - class C extends B {
|
| - m() => super.a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
|
| - setter: 'setter(B#a)', operator: '+=', rhs: '42')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - get a => 42;
|
| - }
|
| - class C extends B {
|
| - m() => super.a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
|
| - getter: 'getter(B#a)', operator: '+=', rhs: '42')),
|
| -
|
| - const Test.clazz(
|
| - '''
|
| - class C {
|
| - static set a(var value) { }
|
| - m() => a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND,
|
| - setter: 'setter(C#a)', operator: '+=', rhs: '42')),
|
| -
|
| - const Test.clazz(
|
| - '''
|
| - class C {
|
| - static get a => 42;
|
| - m() => C.a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
|
| - getter: 'getter(C#a)', operator: '+=', rhs: '42')),
|
| -
|
| - const Test.clazz(
|
| - '''
|
| - class C {
|
| - static final a = 42;
|
| - m() => C.a += 42;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_COMPOUND,
|
| - element: 'field(C#a)', operator: '+=', rhs: '42')),
|
| -
|
| - const Test(
|
| - '''
|
| - class C {
|
| - static a(var value) { }
|
| - }
|
| - m() => C.a += 42;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_STATIC_METHOD_COMPOUND,
|
| - element: 'function(C#a)', operator: '+=', rhs: '42')),
|
| -
|
| - const Test(
|
| - '''
|
| - set a(var value) { }
|
| - m() => a += 42;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
|
| - setter: 'setter(a)', operator: '+=', rhs: '42')),
|
| -
|
| - const Test(
|
| - '''
|
| - get a => 42;
|
| - m() => a += 42;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
|
| - getter: 'getter(a)', operator: '+=', rhs: '42')),
|
| -
|
| - const Test(
|
| - '''
|
| - a(var value) { }
|
| - m() => a += 42;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_COMPOUND,
|
| - element: 'function(a)', operator: '+=', rhs: '42')),
|
| -
|
| - const Test(
|
| - '''
|
| - final a = 42;
|
| - m() => a += 42;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
|
| - element: 'field(a)', operator: '+=', rhs: '42')),
|
| -
|
| - const Test(
|
| - '''
|
| - m() => unresolved += 42;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_COMPOUND,
|
| - operator: '+=', rhs: '42')),
|
| ],
|
| 'Compound index assignment': const [
|
| // Compound index assignment
|
| @@ -1971,7 +1810,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| }
|
| ''',
|
| const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
|
| - setter: 'function(B#[]=)',
|
| index: '1', operator: '+=', rhs: '42')),
|
| const Test.clazz(
|
| '''
|
| @@ -1981,7 +1819,7 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| m() => super[1] += 42;
|
| }
|
| ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND_INDEX_SET,
|
| + const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
|
| index: '1', operator: '+=', rhs: '42')),
|
| const Test.clazz(
|
| '''
|
| @@ -2018,12 +1856,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| element: 'parameter(m#a)', operator: '++')),
|
| const Test(
|
| '''
|
| - m(final a) => ++a;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_FINAL_PARAMETER_PREFIX,
|
| - element: 'parameter(m#a)', operator: '++')),
|
| - const Test(
|
| - '''
|
| m() {
|
| var a;
|
| --a;
|
| @@ -2033,24 +1865,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| element: 'variable(m#a)', operator: '--')),
|
| const Test(
|
| '''
|
| - m() {
|
| - final a = 42;
|
| - --a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
|
| - element: 'variable(m#a)', operator: '--')),
|
| - const Test(
|
| - '''
|
| - m() {
|
| - a() {}
|
| - --a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_LOCAL_FUNCTION_PREFIX,
|
| - element: 'function(m#a)', operator: '--')),
|
| - const Test(
|
| - '''
|
| var a;
|
| m() => ++a;
|
| ''',
|
| @@ -2185,17 +1999,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| const Test.clazz(
|
| '''
|
| class B {
|
| - final a = 0;
|
| - }
|
| - class C extends B {
|
| - m() => --super.a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_PREFIX,
|
| - element: 'field(B#a)', operator: '--')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| get a => 0;
|
| set a (_) {}
|
| }
|
| @@ -2253,129 +2056,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX,
|
| getter: 'field(A#a)', setter: 'setter(B#a)',
|
| operator: '++')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - a() {}
|
| - }
|
| - class C extends B {
|
| - m() => ++super.a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_SUPER_METHOD_PREFIX,
|
| - element: 'function(B#a)',
|
| - operator: '++')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - }
|
| - class C extends B {
|
| - m() => ++super.a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_PREFIX,
|
| - operator: '++')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - set a(_) {}
|
| - }
|
| - class C extends B {
|
| - m() => ++super.a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
|
| - setter: 'setter(B#a)', operator: '++')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - get a => 42;
|
| - }
|
| - class C extends B {
|
| - m() => ++super.a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
|
| - getter: 'getter(B#a)', operator: '++')),
|
| -
|
| - const Test.clazz(
|
| - '''
|
| - class C {
|
| - static set a(var value) { }
|
| - m() => ++a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
|
| - setter: 'setter(C#a)', operator: '++')),
|
| -
|
| - const Test.clazz(
|
| - '''
|
| - class C {
|
| - static get a => 42;
|
| - m() => ++C.a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
|
| - getter: 'getter(C#a)', operator: '++')),
|
| -
|
| - const Test.clazz(
|
| - '''
|
| - class C {
|
| - static final a = 42;
|
| - m() => ++C.a;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_PREFIX,
|
| - element: 'field(C#a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - class C {
|
| - static a(var value) { }
|
| - }
|
| - m() => ++C.a;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_STATIC_METHOD_PREFIX,
|
| - element: 'function(C#a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - set a(var value) { }
|
| - m() => ++a;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
|
| - setter: 'setter(a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - get a => 42;
|
| - m() => ++a;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
|
| - getter: 'getter(a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - a(var value) { }
|
| - m() => ++a;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_PREFIX,
|
| - element: 'function(a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - final a = 42;
|
| - m() => ++a;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
|
| - element: 'field(a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - m() => ++unresolved;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_PREFIX,
|
| - operator: '++')),
|
| ],
|
| 'Postfix expression': const [
|
| // Postfix expression
|
| @@ -2399,12 +2079,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| element: 'parameter(m#a)', operator: '++')),
|
| const Test(
|
| '''
|
| - m(final a) => a++;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_FINAL_PARAMETER_POSTFIX,
|
| - element: 'parameter(m#a)', operator: '++')),
|
| - const Test(
|
| - '''
|
| m() {
|
| var a;
|
| a--;
|
| @@ -2414,24 +2088,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| element: 'variable(m#a)', operator: '--')),
|
| const Test(
|
| '''
|
| - m() {
|
| - final a = 42;
|
| - a--;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
|
| - element: 'variable(m#a)', operator: '--')),
|
| - const Test(
|
| - '''
|
| - m() {
|
| - a() {}
|
| - a--;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_LOCAL_FUNCTION_POSTFIX,
|
| - element: 'function(m#a)', operator: '--')),
|
| - const Test(
|
| - '''
|
| var a;
|
| m() => a++;
|
| ''',
|
| @@ -2566,17 +2222,6 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| const Test.clazz(
|
| '''
|
| class B {
|
| - final a = 0;
|
| - }
|
| - class C extends B {
|
| - m() => super.a--;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_POSTFIX,
|
| - element: 'field(B#a)', operator: '--')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| get a => 0;
|
| set a (_) {}
|
| }
|
| @@ -2634,128 +2279,13 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX,
|
| getter: 'field(A#a)', setter: 'setter(B#a)',
|
| operator: '++')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - a() {}
|
| - }
|
| - class C extends B {
|
| - m() => super.a++;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_SUPER_METHOD_POSTFIX,
|
| - element: 'function(B#a)',
|
| - operator: '++')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - }
|
| - class C extends B {
|
| - m() => super.a++;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_POSTFIX,
|
| - operator: '++')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - set a(_) {}
|
| - }
|
| - class C extends B {
|
| - m() => super.a++;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
|
| - setter: 'setter(B#a)', operator: '++')),
|
| - const Test.clazz(
|
| - '''
|
| - class B {
|
| - get a => 42;
|
| - }
|
| - class C extends B {
|
| - m() => super.a++;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
|
| - getter: 'getter(B#a)', operator: '++')),
|
| -
|
| - const Test.clazz(
|
| - '''
|
| - class C {
|
| - static set a(var value) { }
|
| - m() => a++;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
|
| - setter: 'setter(C#a)', operator: '++')),
|
| -
|
| - const Test.clazz(
|
| - '''
|
| - class C {
|
| - static get a => 42;
|
| - m() => C.a++;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
|
| - getter: 'getter(C#a)', operator: '++')),
|
| -
|
| - const Test.clazz(
|
| - '''
|
| - class C {
|
| - static final a = 42;
|
| - m() => C.a++;
|
| - }
|
| - ''',
|
| - const Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_POSTFIX,
|
| - element: 'field(C#a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - class C {
|
| - static a(var value) { }
|
| - }
|
| - m() => C.a++;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_STATIC_METHOD_POSTFIX,
|
| - element: 'function(C#a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - set a(var value) { }
|
| - m() => a++;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
|
| - setter: 'setter(a)', operator: '++')),
|
|
|
| const Test(
|
| '''
|
| - get a => 42;
|
| - m() => a++;
|
| + set topLevel(var value) { }
|
| + m() => topLevel++;
|
| ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
|
| - getter: 'getter(a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - a(var value) { }
|
| - m() => a++;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_POSTFIX,
|
| - element: 'function(a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - final a = 42;
|
| - m() => a++;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
|
| - element: 'field(a)', operator: '++')),
|
| -
|
| - const Test(
|
| - '''
|
| - m() => unresolved++;
|
| - ''',
|
| - const Visit(VisitKind.VISIT_UNRESOLVED_POSTFIX,
|
| + const Visit(VisitKind.ERROR_UNRESOLVED_POSTFIX,
|
| operator: '++')),
|
| ],
|
| 'Constructor invocations': const [
|
| @@ -2928,6 +2458,57 @@ const Map<String, List<Test>> SEND_TESTS = const {
|
| arguments: '(true,42)',
|
| type: 'Class',
|
| selector: 'CallStructure(arity=2)')),
|
| + const Test(
|
| + '''
|
| + class Class {}
|
| + m() => const Class();
|
| + ''',
|
| + const Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
|
| + arguments: '()',
|
| + type: 'Class',
|
| + selector: 'CallStructure(arity=0)')),
|
| + const Test(
|
| + '''
|
| + class Class {
|
| + const Class() // Delibrate syntax error.
|
| + }
|
| + m() => const Class();
|
| + ''',
|
| + const Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
|
| + arguments: '()',
|
| + type: 'dynamic',
|
| + selector: 'CallStructure(arity=0)')),
|
| + const Test(
|
| + '''
|
| + class Target {}
|
| + class Class {
|
| + const factory Class() = Target;
|
| + }
|
| + m() => const Class();
|
| + ''',
|
| + const Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
|
| + arguments: '()',
|
| + type: 'Class',
|
| + selector: 'CallStructure(arity=0)')),
|
| + /* Enable this when constness is handled consistently.
|
| + const Test(
|
| + '''
|
| + class Target {
|
| + const Target();
|
| + }
|
| + class Redirection {
|
| + factory Redirection() = Target;
|
| + }
|
| + class Class {
|
| + const factory Class() = Redirection;
|
| + }
|
| + m() => const Class();
|
| + ''',
|
| + const Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
|
| + arguments: '()',
|
| + type: 'Class',
|
| + selector: 'CallStructure(arity=0)')),
|
| + */
|
| ],
|
| };
|
|
|
| @@ -3751,89 +3332,24 @@ const Map<String, List<Test>> DECL_TESTS = const {
|
| ],
|
| };
|
|
|
| -const List<VisitKind> UNTESTABLE_KINDS = const <VisitKind>[
|
| - VisitKind.VISIT_STATIC_METHOD_SETTER_COMPOUND,
|
| - VisitKind.VISIT_STATIC_METHOD_SETTER_PREFIX,
|
| - VisitKind.VISIT_STATIC_METHOD_SETTER_POSTFIX,
|
| - VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND,
|
| - VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX,
|
| - VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX,
|
| - VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
|
| - VisitKind.VISIT_SUPER_FIELD_FIELD_PREFIX,
|
| - VisitKind.VISIT_SUPER_FIELD_FIELD_POSTFIX,
|
| - VisitKind.VISIT_SUPER_METHOD_SETTER_COMPOUND,
|
| - VisitKind.VISIT_SUPER_METHOD_SETTER_PREFIX,
|
| - VisitKind.VISIT_SUPER_METHOD_SETTER_POSTFIX,
|
| - VisitKind.VISIT_SUPER_NOT_EQUALS,
|
| - VisitKind.VISIT_CLASS_TYPE_LITERAL_SET,
|
| - VisitKind.VISIT_CLASS_TYPE_LITERAL_COMPOUND,
|
| - VisitKind.VISIT_CLASS_TYPE_LITERAL_PREFIX,
|
| - VisitKind.VISIT_CLASS_TYPE_LITERAL_POSTFIX,
|
| - VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_SET,
|
| - VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
|
| - VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_PREFIX,
|
| - VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
|
| - VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET,
|
| - VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
|
| - VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
|
| - VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
|
| - VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_SET,
|
| - VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_INVOKE,
|
| - VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND,
|
| - VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_PREFIX,
|
| - VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX,
|
| -];
|
| -
|
| main(List<String> arguments) {
|
| - Set<VisitKind> kinds = new Set<VisitKind>.from(VisitKind.values);
|
| asyncTest(() => Future.forEach([
|
| () {
|
| return test(
|
| - kinds,
|
| arguments,
|
| SEND_TESTS,
|
| (elements) => new SemanticSendTestVisitor(elements));
|
| },
|
| () {
|
| return test(
|
| - kinds,
|
| arguments,
|
| DECL_TESTS,
|
| - (elements) => new SemanticDeclarationTestVisitor(elements));
|
| - },
|
| - () {
|
| - Set<VisitKind> unvisitedKindSet =
|
| - kinds.toSet()..removeAll(UNTESTABLE_KINDS);
|
| - List<VisitKind> unvisitedKindList = unvisitedKindSet.toList();
|
| - unvisitedKindList..sort((a, b) => a.index.compareTo(b.index));
|
| -
|
| - Expect.isTrue(unvisitedKindList.isEmpty,
|
| - "Untested visit kinds:\n ${unvisitedKindList.join(',\n ')},\n");
|
| -
|
| - Set<VisitKind> testedUntestableKinds =
|
| - UNTESTABLE_KINDS.toSet()..removeAll(kinds);
|
| - Expect.isTrue(testedUntestableKinds.isEmpty,
|
| - "Tested untestable visit kinds (remove from UNTESTABLE_KINDS):\n "
|
| - "${testedUntestableKinds.join(',\n ')},\n");
|
| + (elements) => new SemanticDeclarationTestVisitor(elements));
|
| },
|
| - () {
|
| - ClassMirror mirror1 = reflectType(SemanticSendTestVisitor);
|
| - Set<Symbol> symbols1 = mirror1.declarations.keys.toSet();
|
| - ClassMirror mirror2 = reflectType(SemanticSendVisitor);
|
| - Set<Symbol> symbols2 =
|
| - mirror2.declarations.values
|
| - .where((m) => m is MethodMirror &&
|
| - !m.isConstructor &&
|
| - m.simpleName != #apply)
|
| - .map((m) => m.simpleName).toSet();
|
| - symbols2.removeAll(symbols1);
|
| - print("Untested visit methods:\n ${symbols2.join(',\n ')},\n");
|
| - }
|
| ], (f) => f()));
|
| }
|
|
|
| -Future test(Set<VisitKind> unvisitedKinds,
|
| - List<String> arguments,
|
| +Future test(List<String> arguments,
|
| Map<String, List<Test>> TESTS,
|
| SemanticTestVisitor createVisitor(TreeElements elements)) {
|
| Map<String, String> sourceFiles = {};
|
| @@ -3859,6 +3375,7 @@ Future test(Set<VisitKind> unvisitedKinds,
|
| index++;
|
| });
|
| });
|
| +
|
| mainSource.writeln("main() {}");
|
| sourceFiles['main.dart'] = mainSource.toString();
|
|
|
| @@ -3902,7 +3419,6 @@ Future test(Set<VisitKind> unvisitedKinds,
|
| Expect.listEquals(expectedVisits, visitor.visits,
|
| "In test:\n"
|
| "${library.compilationUnit.script.text}");
|
| - unvisitedKinds.removeAll(visitor.visits.map((visit) => visit.method));
|
| }
|
| if (element.isAbstractField) {
|
| AbstractFieldElement abstractFieldElement = element;
|
| @@ -3955,6 +3471,14 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| }
|
|
|
| @override
|
| + errorInvalidAssert(
|
| + Send node,
|
| + NodeList arguments,
|
| + arg) {
|
| + // TODO: implement errorAssert
|
| + }
|
| +
|
| + @override
|
| visitBinary(
|
| Send node,
|
| Node left,
|
| @@ -4379,6 +3903,7 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| apply(argument, arg);
|
| }
|
|
|
| +
|
| @override
|
| visitSuperIndex(
|
| Send node,
|
| @@ -4822,171 +4347,241 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| }
|
|
|
| @override
|
| - visitDynamicPropertyCompound(
|
| - Send node,
|
| - Node receiver,
|
| - AssignmentOperator operator,
|
| + errorFinalLocalVariableSet(
|
| + SendSet node,
|
| + LocalVariableElement variable,
|
| Node rhs,
|
| - Selector getterSelector,
|
| - Selector setterSelector,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_COMPOUND,
|
| - receiver: receiver, operator: operator, rhs: rhs,
|
| - getter: getterSelector, setter: setterSelector));
|
| - apply(receiver, arg);
|
| - apply(rhs, arg);
|
| + // TODO: implement errorFinalLocalVariableSet
|
| + }
|
| +
|
| + @override
|
| + errorFinalParameterSet(
|
| + SendSet node,
|
| + ParameterElement parameter,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorFinalParameterSet
|
| + }
|
| +
|
| + @override
|
| + errorFinalStaticFieldSet(
|
| + SendSet node,
|
| + FieldElement field,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorFinalStaticFieldSet
|
| + }
|
| +
|
| + @override
|
| + errorFinalSuperFieldSet(
|
| + SendSet node,
|
| + FieldElement field,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorFinalSuperFieldSet
|
| + }
|
| +
|
| + @override
|
| + errorFinalTopLevelFieldSet(
|
| + SendSet node,
|
| + FieldElement field,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorFinalTopLevelFieldSet
|
| + }
|
| +
|
| + @override
|
| + errorLocalFunctionSet(
|
| + SendSet node,
|
| + LocalFunctionElement function,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorLocalFunctionSet
|
| }
|
|
|
| @override
|
| - visitFinalLocalVariableCompound(
|
| + errorStaticFunctionSet(
|
| Send node,
|
| - LocalVariableElement variable,
|
| - AssignmentOperator operator,
|
| + MethodElement function,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_COMPOUND,
|
| - element: variable, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| + // TODO: implement errorStaticFunctionSet
|
| }
|
|
|
| @override
|
| - visitFinalLocalVariablePrefix(
|
| + errorStaticGetterSet(
|
| + SendSet node,
|
| + FunctionElement getter,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorStaticGetterSet
|
| + }
|
| +
|
| + @override
|
| + errorStaticSetterGet(
|
| Send node,
|
| - LocalVariableElement variable,
|
| - IncDecOperator operator,
|
| + FunctionElement setter,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
|
| - element: variable, operator: operator));
|
| + // TODO: implement errorStaticSetterGet
|
| }
|
|
|
| @override
|
| - visitFinalLocalVariablePostfix(
|
| + errorStaticSetterInvoke(
|
| Send node,
|
| - LocalVariableElement variable,
|
| - IncDecOperator operator,
|
| + FunctionElement setter,
|
| + NodeList arguments,
|
| + CallStructure callStructure,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
|
| - element: variable, operator: operator));
|
| + // TODO: implement errorStaticSetterInvoke
|
| + }
|
| +
|
| + @override
|
| + errorSuperGetterSet(
|
| + SendSet node,
|
| + FunctionElement getter,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorSuperGetterSet
|
| }
|
|
|
| @override
|
| - visitFinalParameterCompound(
|
| + errorSuperMethodSet(
|
| Send node,
|
| - ParameterElement parameter,
|
| - AssignmentOperator operator,
|
| + MethodElement method,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_COMPOUND,
|
| - element: parameter, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| + // TODO: implement errorSuperMethodSet
|
| }
|
|
|
| @override
|
| - visitFinalParameterPrefix(
|
| + errorSuperSetterGet(
|
| Send node,
|
| - ParameterElement parameter,
|
| - IncDecOperator operator,
|
| + FunctionElement setter,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_PREFIX,
|
| - element: parameter, operator: operator));
|
| + // TODO: implement errorSuperSetterGet
|
| }
|
|
|
| @override
|
| - visitFinalParameterPostfix(
|
| + errorSuperSetterInvoke(
|
| Send node,
|
| - ParameterElement parameter,
|
| - IncDecOperator operator,
|
| + FunctionElement setter,
|
| + NodeList arguments,
|
| + CallStructure callStructure,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_POSTFIX,
|
| - element: parameter, operator: operator));
|
| + // TODO: implement errorSuperSetterInvoke
|
| }
|
|
|
| @override
|
| - visitFinalStaticFieldCompound(
|
| + errorTopLevelFunctionSet(
|
| Send node,
|
| - FieldElement field,
|
| - AssignmentOperator operator,
|
| + MethodElement function,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_COMPOUND,
|
| - element: field, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| + // TODO: implement errorTopLevelFunctionSet
|
| + }
|
| +
|
| + @override
|
| + errorTopLevelGetterSet(
|
| + SendSet node,
|
| + FunctionElement getter,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorTopLevelGetterSet
|
| }
|
|
|
| @override
|
| - visitFinalStaticFieldPostfix(
|
| + errorTopLevelSetterGet(
|
| Send node,
|
| - FieldElement field,
|
| - IncDecOperator operator,
|
| + FunctionElement setter,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_POSTFIX,
|
| - element: field, operator: operator));
|
| + // TODO: implement errorTopLevelSetterGet
|
| }
|
|
|
| @override
|
| - visitFinalStaticFieldPrefix(
|
| + errorTopLevelSetterInvoke(
|
| Send node,
|
| - FieldElement field,
|
| - IncDecOperator operator,
|
| + FunctionElement setter,
|
| + NodeList arguments,
|
| + CallStructure callStructure,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_PREFIX,
|
| - element: field, operator: operator));
|
| + // TODO: implement errorTopLevelSetterInvoke
|
| }
|
|
|
| @override
|
| - visitFinalSuperFieldCompound(
|
| + visitDynamicPropertyCompound(
|
| Send node,
|
| - FieldElement field,
|
| + Node receiver,
|
| AssignmentOperator operator,
|
| Node rhs,
|
| + Selector getterSelector,
|
| + Selector setterSelector,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_COMPOUND,
|
| - element: field, operator: operator, rhs: rhs));
|
| + visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_COMPOUND,
|
| + receiver: receiver, operator: operator, rhs: rhs,
|
| + getter: getterSelector, setter: setterSelector));
|
| + apply(receiver, arg);
|
| apply(rhs, arg);
|
| }
|
|
|
| @override
|
| - visitFinalTopLevelFieldCompound(
|
| + errorFinalLocalVariableCompound(
|
| + Send node,
|
| + LocalVariableElement variable,
|
| + AssignmentOperator operator,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorFinalLocalVariableCompound
|
| + }
|
| +
|
| + @override
|
| + errorFinalParameterCompound(
|
| + Send node,
|
| + ParameterElement parameter,
|
| + AssignmentOperator operator,
|
| + Node rhs,
|
| + arg) {
|
| + // TODO: implement errorFinalParameterCompound
|
| + }
|
| +
|
| + @override
|
| + errorFinalStaticFieldCompound(
|
| Send node,
|
| FieldElement field,
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
|
| - element: field, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| + // TODO: implement errorFinalStaticFieldCompound
|
| }
|
|
|
| @override
|
| - visitFinalTopLevelFieldPostfix(
|
| + errorFinalSuperFieldCompound(
|
| Send node,
|
| FieldElement field,
|
| - IncDecOperator operator,
|
| + AssignmentOperator operator,
|
| + Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
|
| - element: field, operator: operator));
|
| + // TODO: implement errorFinalSuperFieldCompound
|
| }
|
|
|
| @override
|
| - visitFinalTopLevelFieldPrefix(
|
| + errorFinalTopLevelFieldCompound(
|
| Send node,
|
| FieldElement field,
|
| - IncDecOperator operator,
|
| + AssignmentOperator operator,
|
| + Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
|
| - element: field, operator: operator));
|
| + // TODO: implement errorFinalTopLevelFieldCompound
|
| }
|
|
|
| @override
|
| - visitLocalFunctionCompound(
|
| + errorLocalFunctionCompound(
|
| Send node,
|
| LocalFunctionElement function,
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_COMPOUND,
|
| - element: function, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| + // TODO: implement errorLocalFunctionCompound
|
| }
|
|
|
| @override
|
| @@ -5155,73 +4750,7 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_COMPOUND,
|
| - getter: method, setter: setter, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitSuperMethodCompound(
|
| - Send node,
|
| - FunctionElement method,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_COMPOUND,
|
| - element: method, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitSuperMethodPrefix(
|
| - Send node,
|
| - FunctionElement method,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_PREFIX,
|
| - element: method, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitSuperMethodPostfix(
|
| - Send node,
|
| - FunctionElement method,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_POSTFIX,
|
| - element: method, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedSuperCompound(
|
| - Send node,
|
| - Element element,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND,
|
| - operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedSuperPrefix(
|
| - Send node,
|
| - Element element,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_PREFIX,
|
| - operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedSuperPostfix(
|
| - Send node,
|
| - Element element,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_POSTFIX,
|
| - operator: operator));
|
| + // TODO: implement visitSuperMethodSetterCompound
|
| }
|
|
|
| @override
|
| @@ -5232,9 +4761,7 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND,
|
| - getter: method, setter: setter, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| + // TODO: implement visitTopLevelMethodSetterCompound
|
| }
|
|
|
| @override
|
| @@ -5269,80 +4796,79 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| }
|
|
|
| @override
|
| - visitClassTypeLiteralCompound(
|
| + errorClassTypeLiteralCompound(
|
| Send node,
|
| ConstantExpression constant,
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_COMPOUND,
|
| + visits.add(new Visit(VisitKind.ERROR_CLASS_TYPE_LITERAL_COMPOUND,
|
| constant: constant.getText(), operator: operator, rhs: rhs));
|
| apply(rhs, arg);
|
| }
|
|
|
| @override
|
| - visitDynamicTypeLiteralCompound(
|
| + errorDynamicTypeLiteralCompound(
|
| Send node,
|
| ConstantExpression constant,
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND,
|
| + visits.add(new Visit(VisitKind.ERROR_DYNAMIC_TYPE_LITERAL_COMPOUND,
|
| constant: constant.getText(), operator: operator, rhs: rhs));
|
| apply(rhs, arg);
|
| }
|
|
|
| @override
|
| - visitTypeVariableTypeLiteralCompound(
|
| + errorTypeVariableTypeLiteralCompound(
|
| Send node,
|
| TypeVariableElement element,
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
|
| + visits.add(new Visit(VisitKind.ERROR_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
|
| element: element, operator: operator, rhs: rhs));
|
| apply(rhs, arg);
|
| }
|
|
|
| @override
|
| - visitTypedefTypeLiteralCompound(
|
| + errorTypedefTypeLiteralCompound(
|
| Send node,
|
| ConstantExpression constant,
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
|
| + visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_COMPOUND,
|
| constant: constant.getText(), operator: operator, rhs: rhs));
|
| apply(rhs, arg);
|
| }
|
|
|
| @override
|
| - visitLocalFunctionPrefix(
|
| + errorLocalFunctionPrefix(
|
| Send node,
|
| LocalFunctionElement function,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_PREFIX,
|
| - element: function, operator: operator));
|
| + // TODO: implement errorLocalFunctionPrefix
|
| }
|
|
|
| @override
|
| - visitClassTypeLiteralPrefix(
|
| + errorClassTypeLiteralPrefix(
|
| Send node,
|
| ConstantExpression constant,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_PREFIX,
|
| + visits.add(new Visit(VisitKind.ERROR_CLASS_TYPE_LITERAL_PREFIX,
|
| constant: constant.getText(), operator: operator));
|
| }
|
|
|
| @override
|
| - visitDynamicTypeLiteralPrefix(
|
| + errorDynamicTypeLiteralPrefix(
|
| Send node,
|
| ConstantExpression constant,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_PREFIX,
|
| + visits.add(new Visit(VisitKind.ERROR_DYNAMIC_TYPE_LITERAL_PREFIX,
|
| constant: constant.getText(), operator: operator));
|
| }
|
|
|
| @@ -5394,21 +4920,7 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| FunctionElement setter,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_PREFIX,
|
| - getter: getter, setter: setter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitSuperFieldFieldCompound(
|
| - Send node,
|
| - FieldElement readField,
|
| - FieldElement writtenField,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
|
| - getter: readField, setter: writtenField, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| + // TODO: implement visitStaticMethodSetterPrefix
|
| }
|
|
|
| @override
|
| @@ -5418,8 +4930,7 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| FieldElement writtenField,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_PREFIX,
|
| - getter: readField, setter: writtenField, operator: operator));
|
| + // TODO: implement visitSuperFieldFieldPrefix
|
| }
|
|
|
| @override
|
| @@ -5433,16 +4944,6 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| }
|
|
|
| @override
|
| - visitFinalSuperFieldPrefix(
|
| - Send node,
|
| - FieldElement field,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_PREFIX,
|
| - element: field, operator: operator));
|
| - }
|
| -
|
| - @override
|
| visitSuperFieldSetterPrefix(
|
| Send node,
|
| FieldElement field,
|
| @@ -5482,8 +4983,7 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| FunctionElement setter,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_PREFIX,
|
| - getter: method, setter: setter, operator: operator));
|
| + // TODO: implement visitSuperMethodSetterPrefix
|
| }
|
|
|
| @override
|
| @@ -5526,57 +5026,55 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| FunctionElement setter,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX,
|
| - getter: method, setter: setter, operator: operator));
|
| + // TODO: implement visitTopLevelMethodSetterPrefix
|
| }
|
|
|
| @override
|
| - visitTypeVariableTypeLiteralPrefix(
|
| + errorTypeVariableTypeLiteralPrefix(
|
| Send node,
|
| TypeVariableElement element,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
|
| + visits.add(new Visit(VisitKind.ERROR_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
|
| element: element, operator: operator));
|
| }
|
|
|
| @override
|
| - visitTypedefTypeLiteralPrefix(
|
| + errorTypedefTypeLiteralPrefix(
|
| Send node,
|
| ConstantExpression constant,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_PREFIX,
|
| + visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_PREFIX,
|
| constant: constant.getText(), operator: operator));
|
| }
|
|
|
| @override
|
| - visitLocalFunctionPostfix(
|
| + errorLocalFunctionPostfix(
|
| Send node,
|
| LocalFunctionElement function,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_POSTFIX,
|
| - element: function, operator: operator));
|
| + // TODO: implement errorLocalFunctionPostfix
|
| }
|
|
|
| @override
|
| - visitClassTypeLiteralPostfix(
|
| + errorClassTypeLiteralPostfix(
|
| Send node,
|
| ConstantExpression constant,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_POSTFIX,
|
| + visits.add(new Visit(VisitKind.ERROR_CLASS_TYPE_LITERAL_POSTFIX,
|
| constant: constant.getText(), operator: operator));
|
| }
|
|
|
| @override
|
| - visitDynamicTypeLiteralPostfix(
|
| + errorDynamicTypeLiteralPostfix(
|
| Send node,
|
| ConstantExpression constant,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX,
|
| + visits.add(new Visit(VisitKind.ERROR_DYNAMIC_TYPE_LITERAL_POSTFIX,
|
| constant: constant.getText(), operator: operator));
|
| }
|
|
|
| @@ -5628,8 +5126,7 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| FunctionElement setter,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_POSTFIX,
|
| - getter: getter, setter: setter, operator: operator));
|
| + // TODO: implement visitStaticMethodSetterPostfix
|
| }
|
|
|
| @override
|
| @@ -5639,8 +5136,7 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| FieldElement writtenField,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_POSTFIX,
|
| - getter: readField, setter: writtenField, operator: operator));
|
| + // TODO: implement visitSuperFieldFieldPostfix
|
| }
|
|
|
| @override
|
| @@ -5654,16 +5150,6 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| }
|
|
|
| @override
|
| - visitFinalSuperFieldPostfix(
|
| - Send node,
|
| - FieldElement field,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_POSTFIX,
|
| - element: field, operator: operator));
|
| - }
|
| -
|
| - @override
|
| visitSuperFieldSetterPostfix(
|
| Send node,
|
| FieldElement field,
|
| @@ -5703,8 +5189,7 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| FunctionElement setter,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_POSTFIX,
|
| - getter: method, setter: setter, operator: operator));
|
| + // TODO: implement visitSuperMethodSetterPostfix
|
| }
|
|
|
| @override
|
| @@ -5747,40 +5232,55 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| FunctionElement setter,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX,
|
| - getter: method, setter: setter, operator: operator));
|
| + // TODO: implement visitTopLevelMethodSetterPostfix
|
| }
|
|
|
| @override
|
| - visitTypeVariableTypeLiteralPostfix(
|
| + errorTypeVariableTypeLiteralPostfix(
|
| Send node,
|
| TypeVariableElement element,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
|
| + visits.add(new Visit(VisitKind.ERROR_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
|
| element: element, operator: operator));
|
| }
|
|
|
| @override
|
| - visitTypedefTypeLiteralPostfix(
|
| + errorTypedefTypeLiteralPostfix(
|
| + Send node,
|
| + ConstantExpression constant,
|
| + IncDecOperator operator,
|
| + arg) {
|
| + visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_POSTFIX,
|
| + constant: constant.getText(), operator: operator));
|
| + }
|
| +
|
| + @override
|
| + visitConstantGet(
|
| + Send node,
|
| + ConstantExpression constant,
|
| + arg) {
|
| + // TODO: implement visitConstantGet
|
| + }
|
| +
|
| + @override
|
| + visitConstantInvoke(
|
| Send node,
|
| ConstantExpression constant,
|
| - IncDecOperator operator,
|
| + NodeList arguments,
|
| + CallStructure callStructure,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
|
| - constant: constant.getText(), operator: operator));
|
| + // TODO: implement visitConstantInvoke
|
| }
|
|
|
| @override
|
| - visitUnresolvedCompound(
|
| + errorUnresolvedCompound(
|
| Send node,
|
| ErroneousElement element,
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_COMPOUND,
|
| - operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| + // TODO: implement errorUnresolvedCompound
|
| }
|
|
|
| @override
|
| @@ -5803,52 +5303,63 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| }
|
|
|
| @override
|
| - visitUnresolvedPostfix(
|
| + errorUnresolvedPostfix(
|
| Send node,
|
| ErroneousElement element,
|
| IncDecOperator operator,
|
| arg) {
|
| visits.add(new Visit(
|
| - VisitKind.VISIT_UNRESOLVED_POSTFIX, operator: operator));
|
| + VisitKind.ERROR_UNRESOLVED_POSTFIX, operator: operator));
|
| }
|
|
|
| @override
|
| - visitUnresolvedPrefix(
|
| + errorUnresolvedPrefix(
|
| Send node,
|
| ErroneousElement element,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(
|
| - VisitKind.VISIT_UNRESOLVED_PREFIX, operator: operator));
|
| + // TODO: implement errorUnresolvedPrefix
|
| }
|
|
|
| @override
|
| - visitUnresolvedSuperCompoundIndexSet(
|
| + errorUnresolvedSet(
|
| Send node,
|
| - Element element,
|
| - Node index,
|
| - AssignmentOperator operator,
|
| + ErroneousElement element,
|
| Node rhs,
|
| arg) {
|
| - visits.add(new Visit(
|
| - VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND_INDEX_SET,
|
| - index: index, operator: operator, rhs: rhs));
|
| - apply(index, arg);
|
| - apply(rhs, arg);
|
| + // TODO: implement errorUnresolvedSet
|
| + }
|
| +
|
| + @override
|
| + errorUndefinedBinaryExpression(
|
| + Send node,
|
| + Node left,
|
| + Operator operator,
|
| + Node right,
|
| + arg) {
|
| + // TODO: implement errorUndefinedBinaryExpression
|
| + }
|
| +
|
| + @override
|
| + errorUndefinedUnaryExpression(
|
| + Send node,
|
| + Operator operator,
|
| + Node expression,
|
| + arg) {
|
| + // TODO: implement errorUndefinedUnaryExpression
|
| }
|
|
|
| @override
|
| visitUnresolvedSuperGetterCompoundIndexSet(
|
| Send node,
|
| Element element,
|
| - MethodElement setter,
|
| Node index,
|
| AssignmentOperator operator,
|
| Node rhs,
|
| arg) {
|
| visits.add(new Visit(
|
| VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
|
| - setter: setter, index: index, operator: operator, rhs: rhs));
|
| + index: index, operator: operator, rhs: rhs));
|
| apply(index, arg);
|
| apply(rhs, arg);
|
| }
|
| @@ -5883,27 +5394,14 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| }
|
|
|
| @override
|
| - visitUnresolvedSuperIndexPostfix(
|
| - Send node,
|
| - Element element,
|
| - Node index,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_POSTFIX,
|
| - index: index, operator: operator));
|
| - apply(index, arg);
|
| - }
|
| -
|
| - @override
|
| visitUnresolvedSuperGetterIndexPostfix(
|
| Send node,
|
| Element element,
|
| - MethodElement setter,
|
| Node index,
|
| IncDecOperator operator,
|
| arg) {
|
| visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
|
| - setter: setter, index: index, operator: operator));
|
| + index: index, operator: operator));
|
| apply(index, arg);
|
| }
|
|
|
| @@ -5921,27 +5419,14 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| }
|
|
|
| @override
|
| - visitUnresolvedSuperIndexPrefix(
|
| - Send node,
|
| - Element element,
|
| - Node index,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_PREFIX,
|
| - index: index, operator: operator));
|
| - apply(index, arg);
|
| - }
|
| -
|
| - @override
|
| visitUnresolvedSuperGetterIndexPrefix(
|
| Send node,
|
| Element element,
|
| - MethodElement setter,
|
| Node index,
|
| IncDecOperator operator,
|
| arg) {
|
| visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
|
| - setter: setter, index: index, operator: operator));
|
| + index: index, operator: operator));
|
| apply(index, arg);
|
| }
|
|
|
| @@ -6158,275 +5643,19 @@ class SemanticSendTestVisitor extends SemanticTestVisitor {
|
| }
|
|
|
| @override
|
| - visitUnresolvedStaticGetterCompound(
|
| - Send node,
|
| - Element element,
|
| - MethodElement setter,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND,
|
| - setter: setter, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedTopLevelGetterCompound(
|
| - Send node,
|
| - Element element,
|
| - MethodElement setter,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
|
| - setter: setter, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedStaticSetterCompound(
|
| - Send node,
|
| - MethodElement getter,
|
| - Element element,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
|
| - getter: getter, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedTopLevelSetterCompound(
|
| - Send node,
|
| - MethodElement getter,
|
| - Element element,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
|
| - getter: getter, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitStaticMethodCompound(
|
| - Send node,
|
| - MethodElement method,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_COMPOUND,
|
| - element: method, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitTopLevelMethodCompound(
|
| - Send node,
|
| - MethodElement method,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_COMPOUND,
|
| - element: method, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedStaticGetterPrefix(
|
| - Send node,
|
| - Element element,
|
| - MethodElement setter,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
|
| - setter: setter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedTopLevelGetterPrefix(
|
| - Send node,
|
| - Element element,
|
| - MethodElement setter,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
|
| - setter: setter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedStaticSetterPrefix(
|
| - Send node,
|
| - MethodElement getter,
|
| - Element element,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
|
| - getter: getter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedTopLevelSetterPrefix(
|
| - Send node,
|
| - MethodElement getter,
|
| - Element element,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
|
| - getter: getter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitStaticMethodPrefix(
|
| - Send node,
|
| - MethodElement method,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_PREFIX,
|
| - element: method, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitTopLevelMethodPrefix(
|
| - Send node,
|
| - MethodElement method,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_PREFIX,
|
| - element: method, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedStaticGetterPostfix(
|
| - Send node,
|
| - Element element,
|
| - MethodElement setter,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
|
| - setter: setter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedTopLevelGetterPostfix(
|
| - Send node,
|
| - Element element,
|
| - MethodElement setter,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
|
| - setter: setter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedStaticSetterPostfix(
|
| - Send node,
|
| - MethodElement getter,
|
| - Element element,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
|
| - getter: getter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedTopLevelSetterPostfix(
|
| - Send node,
|
| - MethodElement getter,
|
| - Element element,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
|
| - getter: getter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitStaticMethodPostfix(
|
| - Send node,
|
| - MethodElement method,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_POSTFIX,
|
| - element: method, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitTopLevelMethodPostfix(
|
| - Send node,
|
| - MethodElement method,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_POSTFIX,
|
| - element: method, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedSuperGetterCompound(
|
| - Send node, Element element,
|
| - MethodElement setter,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
|
| - setter: setter, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedSuperGetterPostfix(
|
| - Send node,
|
| - Element element,
|
| - MethodElement setter,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
|
| - setter: setter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedSuperGetterPrefix(
|
| - Send node,
|
| - Element element,
|
| - MethodElement setter,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
|
| - setter: setter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedSuperSetterCompound(
|
| - Send node, MethodElement getter,
|
| - Element element,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
|
| - getter: getter, operator: operator, rhs: rhs));
|
| - apply(rhs, arg);
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedSuperSetterPostfix(
|
| - Send node,
|
| - MethodElement getter,
|
| - Element element,
|
| - IncDecOperator operator,
|
| - arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
|
| - getter: getter, operator: operator));
|
| - }
|
| -
|
| - @override
|
| - visitUnresolvedSuperSetterPrefix(
|
| - Send node,
|
| - MethodElement getter,
|
| + errorNonConstantConstructorInvoke(
|
| + NewExpression node,
|
| Element element,
|
| - IncDecOperator operator,
|
| + DartType type,
|
| + NodeList arguments,
|
| + CallStructure callStructure,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
|
| - getter: getter, operator: operator));
|
| + visits.add(new Visit(
|
| + VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
|
| + type: type,
|
| + arguments: arguments,
|
| + selector: callStructure));
|
| + apply(arguments, arg);
|
| }
|
| }
|
|
|
| @@ -6685,6 +5914,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| if (initializer != null) {
|
| apply(initializer, arg);
|
| }
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6696,6 +5926,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| arg) {
|
| visits.add(new Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL,
|
| element: variable, constant: constant.getText()));
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6748,6 +5979,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| if (initializer != null) {
|
| apply(initializer, arg);
|
| }
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6759,6 +5991,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| arg) {
|
| visits.add(new Visit(VisitKind.VISIT_STATIC_CONSTANT_DECL,
|
| element: field, constant: constant.getText()));
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6773,6 +6006,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| if (initializer != null) {
|
| apply(initializer, arg);
|
| }
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6784,6 +6018,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| arg) {
|
| visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL,
|
| element: field, constant: constant.getText()));
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6798,6 +6033,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| if (initializer != null) {
|
| apply(initializer, arg);
|
| }
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6807,6 +6043,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| arg) {
|
| visits.add(new Visit(VisitKind.VISIT_ABSTRACT_GETTER_DECL,
|
| element: getter));
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6818,6 +6055,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| visits.add(new Visit(VisitKind.VISIT_ABSTRACT_SETTER_DECL,
|
| element: setter, parameters: parameters));
|
| applyParameters(parameters, arg);
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6829,6 +6067,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| visits.add(new Visit(VisitKind.VISIT_INSTANCE_GETTER_DECL,
|
| element: getter, body: body));
|
| apply(body, arg);
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6842,6 +6081,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| element: setter, parameters: parameters, body: body));
|
| applyParameters(parameters, arg);
|
| apply(body, arg);
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6853,6 +6093,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_DECL,
|
| element: getter, body: body));
|
| apply(body, arg);
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6866,6 +6107,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| element: setter, parameters: parameters, body: body));
|
| applyParameters(parameters, arg);
|
| apply(body, arg);
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6877,6 +6119,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_DECL,
|
| element: getter, body: body));
|
| apply(body, arg);
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -6890,6 +6133,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
|
| element: setter, parameters: parameters, body: body));
|
| applyParameters(parameters, arg);
|
| apply(body, arg);
|
| + return null;
|
| }
|
|
|
| @override
|
| @@ -7045,9 +6289,6 @@ enum VisitKind {
|
| VISIT_PARAMETER_COMPOUND,
|
| VISIT_PARAMETER_PREFIX,
|
| VISIT_PARAMETER_POSTFIX,
|
| - VISIT_FINAL_PARAMETER_COMPOUND,
|
| - VISIT_FINAL_PARAMETER_PREFIX,
|
| - VISIT_FINAL_PARAMETER_POSTFIX,
|
|
|
| VISIT_LOCAL_VARIABLE_GET,
|
| VISIT_LOCAL_VARIABLE_SET,
|
| @@ -7057,17 +6298,11 @@ enum VisitKind {
|
| VISIT_LOCAL_VARIABLE_POSTFIX,
|
| VISIT_LOCAL_VARIABLE_DECL,
|
| VISIT_LOCAL_CONSTANT_DECL,
|
| - VISIT_FINAL_LOCAL_VARIABLE_COMPOUND,
|
| - VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
|
| - VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
|
|
|
| VISIT_LOCAL_FUNCTION_GET,
|
| VISIT_LOCAL_FUNCTION_INVOKE,
|
| VISIT_LOCAL_FUNCTION_DECL,
|
| VISIT_CLOSURE_DECL,
|
| - VISIT_LOCAL_FUNCTION_COMPOUND,
|
| - VISIT_LOCAL_FUNCTION_PREFIX,
|
| - VISIT_LOCAL_FUNCTION_POSTFIX,
|
|
|
| VISIT_STATIC_FIELD_GET,
|
| VISIT_STATIC_FIELD_SET,
|
| @@ -7087,26 +6322,11 @@ enum VisitKind {
|
| VISIT_STATIC_GETTER_SETTER_POSTFIX,
|
| VISIT_STATIC_GETTER_DECL,
|
| VISIT_STATIC_SETTER_DECL,
|
| - VISIT_STATIC_FINAL_FIELD_COMPOUND,
|
| - VISIT_STATIC_FINAL_FIELD_POSTFIX,
|
| - VISIT_STATIC_FINAL_FIELD_PREFIX,
|
|
|
| VISIT_STATIC_FUNCTION_GET,
|
| VISIT_STATIC_FUNCTION_INVOKE,
|
| VISIT_STATIC_FUNCTION_INCOMPATIBLE_INVOKE,
|
| VISIT_STATIC_FUNCTION_DECL,
|
| - VISIT_STATIC_METHOD_SETTER_PREFIX,
|
| - VISIT_STATIC_METHOD_SETTER_POSTFIX,
|
| -
|
| - VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND,
|
| - VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
|
| - VISIT_STATIC_METHOD_COMPOUND,
|
| - VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
|
| - VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
|
| - VISIT_STATIC_METHOD_PREFIX,
|
| - VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
|
| - VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
|
| - VISIT_STATIC_METHOD_POSTFIX,
|
|
|
| VISIT_TOP_LEVEL_FIELD_GET,
|
| VISIT_TOP_LEVEL_FIELD_SET,
|
| @@ -7116,9 +6336,6 @@ enum VisitKind {
|
| VISIT_TOP_LEVEL_FIELD_POSTFIX,
|
| VISIT_TOP_LEVEL_FIELD_DECL,
|
| VISIT_TOP_LEVEL_CONSTANT_DECL,
|
| - VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
|
| - VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
|
| - VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
|
|
|
| VISIT_TOP_LEVEL_GETTER_GET,
|
| VISIT_TOP_LEVEL_SETTER_SET,
|
| @@ -7133,19 +6350,6 @@ enum VisitKind {
|
| VISIT_TOP_LEVEL_FUNCTION_INVOKE,
|
| VISIT_TOP_LEVEL_FUNCTION_INCOMPATIBLE_INVOKE,
|
| VISIT_TOP_LEVEL_FUNCTION_DECL,
|
| - VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND,
|
| - VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX,
|
| - VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX,
|
| -
|
| - VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
|
| - VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
|
| - VISIT_TOP_LEVEL_METHOD_COMPOUND,
|
| - VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
|
| - VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
|
| - VISIT_TOP_LEVEL_METHOD_PREFIX,
|
| - VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
|
| - VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
|
| - VISIT_TOP_LEVEL_METHOD_POSTFIX,
|
|
|
| VISIT_DYNAMIC_PROPERTY_GET,
|
| VISIT_DYNAMIC_PROPERTY_SET,
|
| @@ -7170,12 +6374,6 @@ enum VisitKind {
|
| VISIT_SUPER_FIELD_COMPOUND,
|
| VISIT_SUPER_FIELD_PREFIX,
|
| VISIT_SUPER_FIELD_POSTFIX,
|
| - VISIT_SUPER_FINAL_FIELD_COMPOUND,
|
| - VISIT_SUPER_FINAL_FIELD_PREFIX,
|
| - VISIT_SUPER_FINAL_FIELD_POSTFIX,
|
| - VISIT_SUPER_FIELD_FIELD_COMPOUND,
|
| - VISIT_SUPER_FIELD_FIELD_PREFIX,
|
| - VISIT_SUPER_FIELD_FIELD_POSTFIX,
|
|
|
| VISIT_SUPER_GETTER_GET,
|
| VISIT_SUPER_SETTER_SET,
|
| @@ -7193,12 +6391,6 @@ enum VisitKind {
|
| VISIT_SUPER_METHOD_GET,
|
| VISIT_SUPER_METHOD_INVOKE,
|
| VISIT_SUPER_METHOD_INCOMPATIBLE_INVOKE,
|
| - VISIT_SUPER_METHOD_SETTER_COMPOUND,
|
| - VISIT_SUPER_METHOD_SETTER_PREFIX,
|
| - VISIT_SUPER_METHOD_SETTER_POSTFIX,
|
| - VISIT_SUPER_METHOD_COMPOUND,
|
| - VISIT_SUPER_METHOD_PREFIX,
|
| - VISIT_SUPER_METHOD_POSTFIX,
|
|
|
| VISIT_UNRESOLVED_GET,
|
| VISIT_UNRESOLVED_INVOKE,
|
| @@ -7219,24 +6411,12 @@ enum VisitKind {
|
| VISIT_SUPER_EQUALS,
|
| VISIT_SUPER_NOT_EQUALS,
|
| VISIT_SUPER_INDEX_PREFIX,
|
| - VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
|
| - VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
|
| - VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
|
| - VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
|
| - VISIT_UNRESOLVED_SUPER_INDEX_PREFIX,
|
| VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
|
| VISIT_UNRESOLVED_SUPER_SETTER_INDEX_PREFIX,
|
| VISIT_SUPER_INDEX_POSTFIX,
|
| - VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
|
| - VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
|
| - VISIT_UNRESOLVED_SUPER_INDEX_POSTFIX,
|
| VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
|
| VISIT_UNRESOLVED_SUPER_SETTER_INDEX_POSTFIX,
|
|
|
| - VISIT_UNRESOLVED_SUPER_COMPOUND,
|
| - VISIT_UNRESOLVED_SUPER_PREFIX,
|
| - VISIT_UNRESOLVED_SUPER_POSTFIX,
|
| -
|
| VISIT_UNARY,
|
| VISIT_SUPER_UNARY,
|
| VISIT_UNRESOLVED_SUPER_UNARY,
|
| @@ -7247,37 +6427,40 @@ enum VisitKind {
|
| VISIT_CLASS_TYPE_LITERAL_GET,
|
| VISIT_CLASS_TYPE_LITERAL_SET,
|
| VISIT_CLASS_TYPE_LITERAL_INVOKE,
|
| - VISIT_CLASS_TYPE_LITERAL_COMPOUND,
|
| - VISIT_CLASS_TYPE_LITERAL_PREFIX,
|
| - VISIT_CLASS_TYPE_LITERAL_POSTFIX,
|
| + VISIT_CLASS_TYPE_LITERAL_BINARY,
|
| + ERROR_CLASS_TYPE_LITERAL_COMPOUND,
|
| + ERROR_CLASS_TYPE_LITERAL_PREFIX,
|
| + ERROR_CLASS_TYPE_LITERAL_POSTFIX,
|
|
|
| VISIT_TYPEDEF_TYPE_LITERAL_GET,
|
| VISIT_TYPEDEF_TYPE_LITERAL_SET,
|
| VISIT_TYPEDEF_TYPE_LITERAL_INVOKE,
|
| - VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
|
| - VISIT_TYPEDEF_TYPE_LITERAL_PREFIX,
|
| - VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
|
| + VISIT_TYPEDEF_TYPE_LITERAL_BINARY,
|
| + ERROR_TYPEDEF_TYPE_LITERAL_COMPOUND,
|
| + ERROR_TYPEDEF_TYPE_LITERAL_PREFIX,
|
| + ERROR_TYPEDEF_TYPE_LITERAL_POSTFIX,
|
|
|
| VISIT_TYPE_VARIABLE_TYPE_LITERAL_GET,
|
| VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET,
|
| VISIT_TYPE_VARIABLE_TYPE_LITERAL_INVOKE,
|
| - VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
|
| - VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
|
| - VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
|
| + VISIT_TYPE_VARIABLE_TYPE_LITERAL_BINARY,
|
| + ERROR_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
|
| + ERROR_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
|
| + ERROR_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
|
|
|
| VISIT_DYNAMIC_TYPE_LITERAL_GET,
|
| VISIT_DYNAMIC_TYPE_LITERAL_SET,
|
| VISIT_DYNAMIC_TYPE_LITERAL_INVOKE,
|
| - VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND,
|
| - VISIT_DYNAMIC_TYPE_LITERAL_PREFIX,
|
| - VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX,
|
| + VISIT_DYNAMIC_TYPE_LITERAL_BINARY,
|
| + ERROR_DYNAMIC_TYPE_LITERAL_COMPOUND,
|
| + ERROR_DYNAMIC_TYPE_LITERAL_PREFIX,
|
| + ERROR_DYNAMIC_TYPE_LITERAL_POSTFIX,
|
|
|
| VISIT_INDEX_SET,
|
| VISIT_COMPOUND_INDEX_SET,
|
| VISIT_SUPER_INDEX_SET,
|
| VISIT_UNRESOLVED_SUPER_INDEX_SET,
|
| VISIT_SUPER_COMPOUND_INDEX_SET,
|
| - VISIT_UNRESOLVED_SUPER_COMPOUND_INDEX_SET,
|
| VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
|
| VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND_INDEX_SET,
|
|
|
| @@ -7302,6 +6485,7 @@ enum VisitKind {
|
| VISIT_UNRESOLVED_CONSTRUCTOR_INVOKE,
|
| VISIT_ABSTRACT_CLASS_CONSTRUCTOR_INVOKE,
|
| VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE,
|
| + ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
|
|
|
| VISIT_INSTANCE_GETTER_DECL,
|
| VISIT_INSTANCE_SETTER_DECL,
|
| @@ -7323,9 +6507,7 @@ enum VisitKind {
|
| VISIT_OPTIONAL_INITIALIZING_FORMAL_DECL,
|
| VISIT_NAMED_INITIALIZING_FORMAL_DECL,
|
|
|
| - VISIT_UNRESOLVED_COMPOUND,
|
| - VISIT_UNRESOLVED_PREFIX,
|
| - VISIT_UNRESOLVED_POSTFIX,
|
| + ERROR_UNRESOLVED_POSTFIX,
|
|
|
| // TODO(johnniwinther): Add tests for more error cases.
|
| }
|
|
|