Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Unified Diff: tests/compiler/dart2js/semantic_visitor_test.dart

Issue 1004683002: Refactor IrBuilder to use SemanticVisitor. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. initial comments + bug fixes Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698