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); |
} |