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

Unified Diff: src/ast/ast.h

Issue 2703563002: [ESNext] Implement DynamicImportCall (Closed)
Patch Set: fix build Created 3 years, 9 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: src/ast/ast.h
diff --git a/src/ast/ast.h b/src/ast/ast.h
index 3705b2d8404af47c1b027e28d665adebfac2d121..faaaa70955cd4d9ea0044f63f724b51a984fda45 100644
--- a/src/ast/ast.h
+++ b/src/ast/ast.h
@@ -105,7 +105,8 @@ namespace internal {
V(EmptyParentheses) \
V(GetIterator) \
V(DoExpression) \
- V(RewritableExpression)
+ V(RewritableExpression) \
+ V(ImportCallExpression)
#define AST_NODE_LIST(V) \
DECLARATION_NODE_LIST(V) \
@@ -2921,6 +2922,19 @@ class SuperCallReference final : public Expression {
VariableProxy* this_function_var_;
};
+class ImportCallExpression final : public Expression {
adamk 2017/03/15 21:36:43 Please add a comment for this.
gsathya 2017/03/16 00:59:24 Feel free to suggest something more comprehensive.
+ public:
+ Expression* arg() const { return arg_; }
adamk 2017/03/15 21:36:43 Please use a full word here, "argument". Same for
gsathya 2017/03/16 00:59:24 Done.
+ void set_arg(Expression* arg) { arg_ = arg; }
+
+ private:
+ friend class AstNodeFactory;
+
+ ImportCallExpression(Expression* arg, int pos)
+ : Expression(pos, kImportCallExpression), arg_(arg) {}
+
+ Expression* arg_;
+};
// This class is produced when parsing the () in arrow functions without any
// arguments and is not actually a valid expression.
@@ -3569,6 +3583,10 @@ class AstNodeFactory final BASE_EMBEDDED {
return new (zone_) GetIterator(iterable, hint, pos);
}
+ ImportCallExpression* NewImportCallExpression(Expression* args, int pos) {
+ return new (zone_) ImportCallExpression(args, pos);
+ }
+
Zone* zone() const { return zone_; }
void set_zone(Zone* zone) { zone_ = zone; }

Powered by Google App Engine
This is Rietveld 408576698