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

Unified Diff: pkg/kernel/lib/visitor.dart

Issue 2835453002: Parametrize over the additional agrument type for StatementVisitor1 and ExpressionVisitor1 (Closed)
Patch Set: Apply comments Created 3 years, 8 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/kernel/lib/interpreter/interpreter.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
« no previous file with comments | « pkg/kernel/lib/interpreter/interpreter.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698