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

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

Issue 1160153002: Support implicit super constructor invocation in SemanticDeclarationVisitor. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « pkg/compiler/lib/src/resolution/send_structure.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 663b041902b95d5b651be8cf8b9d7551c576eff0..ffb742a871e42bc0d3cadf9d27ef52c98385d47c 100644
--- a/tests/compiler/dart2js/semantic_visitor_test.dart
+++ b/tests/compiler/dart2js/semantic_visitor_test.dart
@@ -3753,6 +3753,9 @@ const Map<String, List<Test>> DECL_TESTS = const {
const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
element: 'parameter(#b)',
index: 1),
+ const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
+ element: 'generative_constructor(Object#)',
+ type: 'Object'),
],
method: ''),
const Test.clazz(
@@ -3773,6 +3776,9 @@ const Map<String, List<Test>> DECL_TESTS = const {
const Visit(VisitKind.VISIT_REQUIRED_INITIALIZING_FORMAL_DECL,
element: 'initializing_formal(#b)',
index: 1),
+ const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
+ element: 'generative_constructor(Object#)',
+ type: 'Object'),
],
method: ''),
const Test.clazz(
@@ -3794,6 +3800,9 @@ const Map<String, List<Test>> DECL_TESTS = const {
element: 'initializing_formal(#b)',
constant: 42,
index: 1),
+ const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
+ element: 'generative_constructor(Object#)',
+ type: 'Object'),
],
method: ''),
const Test.clazz(
@@ -3814,6 +3823,9 @@ const Map<String, List<Test>> DECL_TESTS = const {
const Visit(VisitKind.VISIT_NAMED_INITIALIZING_FORMAL_DECL,
element: 'initializing_formal(#b)',
constant: 42),
+ const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
+ element: 'generative_constructor(Object#)',
+ type: 'Object'),
],
method: ''),
const Test.clazz(
@@ -3837,7 +3849,7 @@ const Map<String, List<Test>> DECL_TESTS = const {
element: 'generative_constructor(Object#)',
type: 'Object',
arguments: '()',
- selector: 'Selector(call, super, arity=0)'),
+ selector: 'CallStructure(arity=0)'),
],
method: ''),
const Test.clazz(
@@ -3861,6 +3873,9 @@ const Map<String, List<Test>> DECL_TESTS = const {
const Visit(VisitKind.VISIT_FIELD_INITIALIZER,
element: 'field(C#field)',
rhs: 'a'),
+ const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
+ element: 'generative_constructor(Object#)',
+ type: 'Object'),
],
method: ''),
const Test.clazz(
@@ -3888,6 +3903,9 @@ const Map<String, List<Test>> DECL_TESTS = const {
const Visit(VisitKind.VISIT_FIELD_INITIALIZER,
element: 'field(C#field2)',
rhs: 'b'),
+ const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
+ element: 'generative_constructor(Object#)',
+ type: 'Object'),
],
method: ''),
const Test.clazz(
@@ -3911,7 +3929,7 @@ const Map<String, List<Test>> DECL_TESTS = const {
const Visit(VisitKind.VISIT_THIS_CONSTRUCTOR_INVOKE,
element: 'generative_constructor(C#_)',
arguments: '(a,b)',
- selector: 'Selector(call, _, arity=2)'),
+ selector: 'CallStructure(arity=2)'),
],
method: ''),
const Test.clazz(
@@ -7236,7 +7254,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
visits.add(new Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL,
element: constructor, parameters: parameters, body: body));
applyParameters(parameters, arg);
- applyInitializers(initializers, arg);
+ applyInitializers(node, arg);
apply(body, arg);
}
@@ -7296,7 +7314,7 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
parameters: parameters,
initializers: initializers));
applyParameters(parameters, arg);
- applyInitializers(initializers, arg);
+ applyInitializers(node, arg);
}
@override
@@ -7318,12 +7336,25 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
ConstructorElement superConstructor,
InterfaceType type,
NodeList arguments,
- Selector selector,
+ CallStructure callStructure,
arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_CONSTRUCTOR_INVOKE,
element: superConstructor, type: type,
- arguments: arguments, selector: selector));
- apply(arguments, arg);
+ arguments: arguments, selector: callStructure));
+ super.visitSuperConstructorInvoke(
+ node, superConstructor, type, arguments, callStructure, arg);
+ }
+
+ @override
+ visitImplicitSuperConstructorInvoke(
+ FunctionExpression node,
+ ConstructorElement superConstructor,
+ InterfaceType type,
+ arg) {
+ visits.add(new Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
+ element: superConstructor, type: type));
+ super.visitImplicitSuperConstructorInvoke(
+ node, superConstructor, type, arg);
}
@override
@@ -7331,11 +7362,13 @@ class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
Send node,
ConstructorElement thisConstructor,
NodeList arguments,
- Selector selector,
+ CallStructure callStructure,
arg) {
visits.add(new Visit(VisitKind.VISIT_THIS_CONSTRUCTOR_INVOKE,
- element: thisConstructor, arguments: arguments, selector: selector));
- apply(arguments, arg);
+ element: thisConstructor,
+ arguments: arguments, selector: callStructure));
+ super.visitThisConstructorInvoke(
+ node, thisConstructor, arguments, callStructure, arg);
}
@override
@@ -8041,6 +8074,7 @@ enum VisitKind {
VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE,
VISIT_SUPER_CONSTRUCTOR_INVOKE,
+ VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
VISIT_THIS_CONSTRUCTOR_INVOKE,
VISIT_FIELD_INITIALIZER,
« no previous file with comments | « pkg/compiler/lib/src/resolution/send_structure.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698