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

Unified Diff: pkg/kernel/lib/interpreter/interpreter_visitor.dart

Issue 2722283003: Initial implementation of interpreter for Kernel (Closed)
Patch Set: Created 3 years, 10 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: pkg/kernel/lib/interpreter/interpreter_visitor.dart
diff --git a/pkg/kernel/lib/interpreter/interpreter_visitor.dart b/pkg/kernel/lib/interpreter/interpreter_visitor.dart
new file mode 100644
index 0000000000000000000000000000000000000000..b9c70cd8fe538c7735eae9d6bce56e614246b718
--- /dev/null
+++ b/pkg/kernel/lib/interpreter/interpreter_visitor.dart
@@ -0,0 +1,132 @@
+// Copyright 1(c) 2016, the Dart project authors. Please see the AUTHORS file
Kevin Millikin (Google) 2017/03/02 10:30:30 2017. A 1 (or maybe an L) has also crept in here.
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/// A library to help move super calls last in the initializer list.
+library kernel.interpreter.interpreter_visitor;
+
+import '../ast.dart';
+
+abstract class ExpressionVisitor1<R> {
+ R defaultExpression1(Expression node, State state) => null;
Kevin Millikin (Google) 2017/03/02 10:30:30 We should also generalize all these methods to: R
+
+ R defaultBasicLiteral1(BasicLiteral node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitInvalidExpression1(InvalidExpression node, State state) =>
Kevin Millikin (Google) 2017/03/02 10:30:30 We need the '1' on ExpressionVisitor1 and accept1
+ defaultExpression1(node, state);
+
+ R visitVariableGet1(VariableGet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitVariableSet1(VariableSet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitPropertyGet1(PropertyGet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitPropertySet1(PropertySet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitDirectPropertyGet1(DirectPropertyGet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitDirectPropertySet1(DirectPropertySet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitSuperPropertyGet1(SuperPropertyGet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitSuperPropertySet1(SuperPropertySet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitStaticGet1(StaticGet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitStaticSet1(StaticSet node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitMethodInvocation1(MethodInvocation node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitDirectMethodInvocation1(DirectMethodInvocation node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitSuperMethodInvocation1(SuperMethodInvocation node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitStaticInvocation1(StaticInvocation node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitConstructorInvocation1(ConstructorInvocation node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitNot1(Not node, State state) => defaultExpression1(node, state);
+
+ R visitLogicalExpression1(LogicalExpression node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitConditionalExpression1(ConditionalExpression node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitStringConcatenation1(StringConcatenation node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitIsExpression1(IsExpression node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitAsExpression1(AsExpression node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitSymbolLiteral1(SymbolLiteral node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitTypeLiteral1(TypeLiteral node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitThisExpression1(ThisExpression node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitRethrow1(Rethrow node, State state) => defaultExpression1(node, state);
+
+ R visitThrow1(Throw node, State state) => defaultExpression1(node, state);
+
+ R visitListLiteral1(ListLiteral node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitMapLiteral1(MapLiteral node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitAwaitExpression1(AwaitExpression node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitFunctionExpression1(FunctionExpression node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitStringLiteral1(StringLiteral node, State state) =>
+ defaultBasicLiteral1(node, state);
+
+ R visitIntLiteral1(IntLiteral node, State state) =>
+ defaultBasicLiteral1(node, state);
+
+ R visitDoubleLiteral1(DoubleLiteral node, State state) =>
+ defaultBasicLiteral1(node, state);
+
+ R visitBoolLiteral1(BoolLiteral node, State state) =>
+ defaultBasicLiteral1(node, state);
+
+ R visitNullLiteral1(NullLiteral node, State state) =>
+ defaultBasicLiteral1(node, state);
+
+ R visitLet1(Let node, State state) => defaultExpression1(node, state);
+
+ R visitLoadLibrary1(LoadLibrary node, State state) =>
+ defaultExpression1(node, state);
+
+ R visitCheckLibraryIsLoaded1(CheckLibraryIsLoaded node, State state) =>
+ defaultExpression1(node, state);
+}
+
+abstract class State {
Kevin Millikin (Google) 2017/03/02 10:30:30 If we eliminate the type State from the AST and vi
+ Map<String, Object> get environment;
+}
« pkg/kernel/lib/interpreter/interpreter.dart ('K') | « pkg/kernel/lib/interpreter/interpreter.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698