| 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 d2ee7ae55e6123f8ce8e69a1c29af8f722c33851..cce140fa8e17d23e5dbef7ea58011ab1fa46155b 100644
|
| --- a/tests/compiler/dart2js/semantic_visitor_test.dart
|
| +++ b/tests/compiler/dart2js/semantic_visitor_test.dart
|
| @@ -1036,8 +1036,8 @@ const List<Test> TESTS = const [
|
| '''
|
| m() => 2[3];
|
| ''',
|
| - const Visit(VisitKind.VISIT_BINARY,
|
| - left: '2', operator: '[]', right: '3')),
|
| + const Visit(VisitKind.VISIT_INDEX,
|
| + receiver: '2', index: '3')),
|
| const Test.clazz(
|
| '''
|
| class B {
|
| @@ -1051,6 +1051,18 @@ const List<Test> TESTS = const [
|
| element: 'function(B#+)',
|
| operator: '+',
|
| right: '42')),
|
| + const Test.clazz(
|
| + '''
|
| + class B {
|
| + operator [](_) => null;
|
| + }
|
| + class C extends B {
|
| + m() => super[42];
|
| + }
|
| + ''',
|
| + const Visit(VisitKind.VISIT_SUPER_INDEX,
|
| + element: 'function(B#[])',
|
| + index: '42')),
|
|
|
| // Equals
|
| const Test(
|
| @@ -2068,6 +2080,18 @@ class SemanticTestVisitor extends SemanticVisitor with SemanticSendVisitor {
|
| }
|
|
|
| @override
|
| + visitIndex(
|
| + Send node,
|
| + Node receiver,
|
| + Node index,
|
| + arg) {
|
| + visits.add(new Visit(VisitKind.VISIT_INDEX,
|
| + receiver: receiver, index: index));
|
| + apply(receiver, arg);
|
| + apply(index, arg);
|
| + }
|
| +
|
| + @override
|
| visitClassTypeLiteralGet(
|
| Send node,
|
| TypeConstantExpression constant,
|
| @@ -2441,6 +2465,17 @@ class SemanticTestVisitor extends SemanticVisitor with SemanticSendVisitor {
|
| }
|
|
|
| @override
|
| + visitSuperIndex(
|
| + Send node,
|
| + FunctionElement function,
|
| + Node index,
|
| + arg) {
|
| + visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX,
|
| + element: function, index: index));
|
| + apply(index, arg);
|
| + }
|
| +
|
| + @override
|
| visitSuperNotEquals(
|
| Send node,
|
| FunctionElement function,
|
| @@ -3256,49 +3291,49 @@ class SemanticTestVisitor extends SemanticVisitor with SemanticSendVisitor {
|
| }
|
|
|
| @override
|
| - visitClassTypeLiteralCompound(
|
| + errorClassTypeLiteralCompound(
|
| Send node,
|
| TypeConstantExpression 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,
|
| TypeConstantExpression 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,
|
| TypeConstantExpression 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);
|
| }
|
| @@ -3313,22 +3348,22 @@ class SemanticTestVisitor extends SemanticVisitor with SemanticSendVisitor {
|
| }
|
|
|
| @override
|
| - visitClassTypeLiteralPrefix(
|
| + errorClassTypeLiteralPrefix(
|
| Send node,
|
| TypeConstantExpression 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,
|
| TypeConstantExpression 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));
|
| }
|
|
|
| @@ -3490,22 +3525,22 @@ class SemanticTestVisitor extends SemanticVisitor with SemanticSendVisitor {
|
| }
|
|
|
| @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,
|
| TypeConstantExpression 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));
|
| }
|
|
|
| @@ -3519,22 +3554,22 @@ class SemanticTestVisitor extends SemanticVisitor with SemanticSendVisitor {
|
| }
|
|
|
| @override
|
| - visitClassTypeLiteralPostfix(
|
| + errorClassTypeLiteralPostfix(
|
| Send node,
|
| TypeConstantExpression 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,
|
| TypeConstantExpression 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));
|
| }
|
|
|
| @@ -3696,22 +3731,22 @@ class SemanticTestVisitor extends SemanticVisitor with SemanticSendVisitor {
|
| }
|
|
|
| @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,
|
| TypeConstantExpression constant,
|
| IncDecOperator operator,
|
| arg) {
|
| - visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
|
| + visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_POSTFIX,
|
| constant: constant.getText(), operator: operator));
|
| }
|
|
|
| @@ -3942,10 +3977,12 @@ enum VisitKind {
|
| VISIT_SUPER_METHOD_INVOKE,
|
|
|
| VISIT_BINARY,
|
| + VISIT_INDEX,
|
| VISIT_EQUALS,
|
| VISIT_NOT_EQUALS,
|
|
|
| VISIT_SUPER_BINARY,
|
| + VISIT_SUPER_INDEX,
|
| VISIT_SUPER_EQUALS,
|
| VISIT_SUPER_NOT_EQUALS,
|
|
|
| @@ -3959,33 +3996,33 @@ enum VisitKind {
|
| VISIT_CLASS_TYPE_LITERAL_SET,
|
| VISIT_CLASS_TYPE_LITERAL_INVOKE,
|
| VISIT_CLASS_TYPE_LITERAL_BINARY,
|
| - VISIT_CLASS_TYPE_LITERAL_COMPOUND,
|
| - VISIT_CLASS_TYPE_LITERAL_PREFIX,
|
| - VISIT_CLASS_TYPE_LITERAL_POSTFIX,
|
| + 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_BINARY,
|
| - VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
|
| - VISIT_TYPEDEF_TYPE_LITERAL_PREFIX,
|
| - VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
|
| + 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_BINARY,
|
| - VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
|
| - VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
|
| - VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
|
| + 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_BINARY,
|
| - VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND,
|
| - VISIT_DYNAMIC_TYPE_LITERAL_PREFIX,
|
| - VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX,
|
| + ERROR_DYNAMIC_TYPE_LITERAL_COMPOUND,
|
| + ERROR_DYNAMIC_TYPE_LITERAL_PREFIX,
|
| + ERROR_DYNAMIC_TYPE_LITERAL_POSTFIX,
|
|
|
| VISIT_INDEX_SET,
|
| VISIT_COMPOUND_INDEX_SET,
|
|
|