| Index: pkg/kernel/lib/visitor.dart
|
| diff --git a/pkg/kernel/lib/visitor.dart b/pkg/kernel/lib/visitor.dart
|
| index 5494fd75bcc5d5ac1a07b7351fb2aaf5a8abad36..ed5ebee4cfc3ceba2c7122937f9e56e9eb9eb2bc 100644
|
| --- a/pkg/kernel/lib/visitor.dart
|
| +++ b/pkg/kernel/lib/visitor.dart
|
| @@ -328,111 +328,113 @@ class Transformer extends TreeVisitor<TreeNode> {
|
| }
|
| }
|
|
|
| -abstract class ExpressionVisitor1<R> {
|
| - R defaultExpression(Expression node, arg) => null;
|
| - R defaultBasicLiteral(BasicLiteral node, arg) => defaultExpression(node, arg);
|
| - R visitInvalidExpression(InvalidExpression node, arg) =>
|
| +abstract class ExpressionVisitor1<R, T> {
|
| + R defaultExpression(Expression node, T arg) => null;
|
| + R defaultBasicLiteral(BasicLiteral node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitVariableGet(VariableGet node, arg) => defaultExpression(node, arg);
|
| - R visitVariableSet(VariableSet node, arg) => defaultExpression(node, arg);
|
| - R visitPropertyGet(PropertyGet node, arg) => defaultExpression(node, arg);
|
| - R visitPropertySet(PropertySet node, arg) => defaultExpression(node, arg);
|
| - R visitDirectPropertyGet(DirectPropertyGet node, arg) =>
|
| + R visitInvalidExpression(InvalidExpression node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitDirectPropertySet(DirectPropertySet node, arg) =>
|
| + R visitVariableGet(VariableGet node, T arg) => defaultExpression(node, arg);
|
| + R visitVariableSet(VariableSet node, T arg) => defaultExpression(node, arg);
|
| + R visitPropertyGet(PropertyGet node, T arg) => defaultExpression(node, arg);
|
| + R visitPropertySet(PropertySet node, T arg) => defaultExpression(node, arg);
|
| + R visitDirectPropertyGet(DirectPropertyGet node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitSuperPropertyGet(SuperPropertyGet node, arg) =>
|
| + R visitDirectPropertySet(DirectPropertySet node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitSuperPropertySet(SuperPropertySet node, arg) =>
|
| + R visitSuperPropertyGet(SuperPropertyGet node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitStaticGet(StaticGet node, arg) => defaultExpression(node, arg);
|
| - R visitStaticSet(StaticSet node, arg) => defaultExpression(node, arg);
|
| - R visitMethodInvocation(MethodInvocation node, arg) =>
|
| + R visitSuperPropertySet(SuperPropertySet node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitDirectMethodInvocation(DirectMethodInvocation node, arg) =>
|
| + R visitStaticGet(StaticGet node, T arg) => defaultExpression(node, arg);
|
| + R visitStaticSet(StaticSet node, T arg) => defaultExpression(node, arg);
|
| + R visitMethodInvocation(MethodInvocation node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitSuperMethodInvocation(SuperMethodInvocation node, arg) =>
|
| + R visitDirectMethodInvocation(DirectMethodInvocation node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitStaticInvocation(StaticInvocation node, arg) =>
|
| + R visitSuperMethodInvocation(SuperMethodInvocation node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitConstructorInvocation(ConstructorInvocation node, arg) =>
|
| + R visitStaticInvocation(StaticInvocation node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitNot(Not node, arg) => defaultExpression(node, arg);
|
| - R visitLogicalExpression(LogicalExpression node, arg) =>
|
| + R visitConstructorInvocation(ConstructorInvocation node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitConditionalExpression(ConditionalExpression node, arg) =>
|
| + R visitNot(Not node, T arg) => defaultExpression(node, arg);
|
| + R visitLogicalExpression(LogicalExpression node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitStringConcatenation(StringConcatenation node, arg) =>
|
| + R visitConditionalExpression(ConditionalExpression node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitIsExpression(IsExpression node, arg) => defaultExpression(node, arg);
|
| - R visitAsExpression(AsExpression node, arg) => defaultExpression(node, arg);
|
| - R visitSymbolLiteral(SymbolLiteral node, arg) => defaultExpression(node, arg);
|
| - R visitTypeLiteral(TypeLiteral node, arg) => defaultExpression(node, arg);
|
| - R visitThisExpression(ThisExpression node, arg) =>
|
| + R visitStringConcatenation(StringConcatenation node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitRethrow(Rethrow node, arg) => defaultExpression(node, arg);
|
| - R visitThrow(Throw node, arg) => defaultExpression(node, arg);
|
| - R visitListLiteral(ListLiteral node, arg) => defaultExpression(node, arg);
|
| - R visitMapLiteral(MapLiteral node, arg) => defaultExpression(node, arg);
|
| - R visitAwaitExpression(AwaitExpression node, arg) =>
|
| + R visitIsExpression(IsExpression node, T arg) => defaultExpression(node, arg);
|
| + R visitAsExpression(AsExpression node, T arg) => defaultExpression(node, arg);
|
| + R visitSymbolLiteral(SymbolLiteral node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitFunctionExpression(FunctionExpression node, arg) =>
|
| + R visitTypeLiteral(TypeLiteral node, T arg) => defaultExpression(node, arg);
|
| + R visitThisExpression(ThisExpression node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitStringLiteral(StringLiteral node, arg) =>
|
| + R visitRethrow(Rethrow node, T arg) => defaultExpression(node, arg);
|
| + R visitThrow(Throw node, T arg) => defaultExpression(node, arg);
|
| + R visitListLiteral(ListLiteral node, T arg) => defaultExpression(node, arg);
|
| + R visitMapLiteral(MapLiteral node, T arg) => defaultExpression(node, arg);
|
| + R visitAwaitExpression(AwaitExpression node, T arg) =>
|
| + defaultExpression(node, arg);
|
| + R visitFunctionExpression(FunctionExpression node, T arg) =>
|
| + defaultExpression(node, arg);
|
| + R visitStringLiteral(StringLiteral node, T arg) =>
|
| defaultBasicLiteral(node, arg);
|
| - R visitIntLiteral(IntLiteral node, arg) => defaultBasicLiteral(node, arg);
|
| - R visitDoubleLiteral(DoubleLiteral node, arg) =>
|
| + R visitIntLiteral(IntLiteral node, T arg) => defaultBasicLiteral(node, arg);
|
| + R visitDoubleLiteral(DoubleLiteral node, T arg) =>
|
| defaultBasicLiteral(node, arg);
|
| - R visitBoolLiteral(BoolLiteral node, arg) => defaultBasicLiteral(node, arg);
|
| - R visitNullLiteral(NullLiteral node, arg) => defaultBasicLiteral(node, arg);
|
| - R visitLet(Let node, arg) => defaultExpression(node, arg);
|
| - R visitLoadLibrary(LoadLibrary node, arg) => defaultExpression(node, arg);
|
| - R visitCheckLibraryIsLoaded(CheckLibraryIsLoaded node, arg) =>
|
| + R visitBoolLiteral(BoolLiteral node, T arg) => defaultBasicLiteral(node, arg);
|
| + R visitNullLiteral(NullLiteral node, T arg) => defaultBasicLiteral(node, arg);
|
| + R visitLet(Let node, T arg) => defaultExpression(node, arg);
|
| + R visitLoadLibrary(LoadLibrary node, T arg) => defaultExpression(node, arg);
|
| + R visitCheckLibraryIsLoaded(CheckLibraryIsLoaded node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitVectorCreation(VectorCreation node, arg) =>
|
| + R visitVectorCreation(VectorCreation node, T arg) =>
|
| defaultExpression(node, arg);
|
| - R visitVectorGet(VectorGet node, arg) => defaultExpression(node, arg);
|
| - R visitVectorSet(VectorSet node, arg) => defaultExpression(node, arg);
|
| - R visitVectorCopy(VectorCopy node, arg) => defaultExpression(node, arg);
|
| - R visitClosureCreation(ClosureCreation node, arg) =>
|
| + R visitVectorGet(VectorGet node, T arg) => defaultExpression(node, arg);
|
| + R visitVectorSet(VectorSet node, T arg) => defaultExpression(node, arg);
|
| + R visitVectorCopy(VectorCopy node, T arg) => defaultExpression(node, arg);
|
| + R visitClosureCreation(ClosureCreation node, T arg) =>
|
| defaultExpression(node, arg);
|
| }
|
|
|
| -abstract class StatementVisitor1<R> {
|
| - R defaultStatement(Statement node, arg) => null;
|
| +abstract class StatementVisitor1<R, T> {
|
| + R defaultStatement(Statement node, T arg) => null;
|
|
|
| - R visitInvalidStatement(InvalidStatement node, arg) =>
|
| + R visitInvalidStatement(InvalidStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitExpressionStatement(ExpressionStatement node, arg) =>
|
| + R visitExpressionStatement(ExpressionStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitBlock(Block node, arg) => defaultStatement(node, arg);
|
| - R visitEmptyStatement(EmptyStatement node, arg) =>
|
| + R visitBlock(Block node, T arg) => defaultStatement(node, arg);
|
| + R visitEmptyStatement(EmptyStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitAssertStatement(AssertStatement node, arg) =>
|
| + R visitAssertStatement(AssertStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitLabeledStatement(LabeledStatement node, arg) =>
|
| + R visitLabeledStatement(LabeledStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitBreakStatement(BreakStatement node, arg) =>
|
| + R visitBreakStatement(BreakStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitWhileStatement(WhileStatement node, arg) =>
|
| + R visitWhileStatement(WhileStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitDoStatement(DoStatement node, arg) => defaultStatement(node, arg);
|
| - R visitForStatement(ForStatement node, arg) => defaultStatement(node, arg);
|
| - R visitForInStatement(ForInStatement node, arg) =>
|
| + R visitDoStatement(DoStatement node, T arg) => defaultStatement(node, arg);
|
| + R visitForStatement(ForStatement node, T arg) => defaultStatement(node, arg);
|
| + R visitForInStatement(ForInStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitSwitchStatement(SwitchStatement node, arg) =>
|
| + R visitSwitchStatement(SwitchStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitContinueSwitchStatement(ContinueSwitchStatement node, arg) =>
|
| + R visitContinueSwitchStatement(ContinueSwitchStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitIfStatement(IfStatement node, arg) => defaultStatement(node, arg);
|
| - R visitReturnStatement(ReturnStatement node, arg) =>
|
| + R visitIfStatement(IfStatement node, T arg) => defaultStatement(node, arg);
|
| + R visitReturnStatement(ReturnStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitTryCatch(TryCatch node, arg) => defaultStatement(node, arg);
|
| - R visitTryFinally(TryFinally node, arg) => defaultStatement(node, arg);
|
| - R visitYieldStatement(YieldStatement node, arg) =>
|
| + R visitTryCatch(TryCatch node, T arg) => defaultStatement(node, arg);
|
| + R visitTryFinally(TryFinally node, T arg) => defaultStatement(node, arg);
|
| + R visitYieldStatement(YieldStatement node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitVariableDeclaration(VariableDeclaration node, arg) =>
|
| + R visitVariableDeclaration(VariableDeclaration node, T arg) =>
|
| defaultStatement(node, arg);
|
| - R visitFunctionDeclaration(FunctionDeclaration node, arg) =>
|
| + R visitFunctionDeclaration(FunctionDeclaration node, T arg) =>
|
| defaultStatement(node, arg);
|
| }
|
|
|