| Index: src/ast/ast-expression-visitor.h
|
| diff --git a/src/ast/ast-expression-visitor.h b/src/ast/ast-expression-visitor.h
|
| index 545a45c41696a8745d64b59897b149e23389f18e..0413a99cfbd2c4d7e769ee616b414a4697b34134 100644
|
| --- a/src/ast/ast-expression-visitor.h
|
| +++ b/src/ast/ast-expression-visitor.h
|
| @@ -19,10 +19,20 @@ namespace internal {
|
|
|
| class AstExpressionVisitor : public AstVisitor {
|
| public:
|
| - AstExpressionVisitor(Isolate* isolate, Expression* root);
|
| - AstExpressionVisitor(uintptr_t stack_limit, Expression* root);
|
| + enum Mode {
|
| + Normal = 0,
|
| + // A Shallow AstExpressionVisitor will not visit nested Function bodies
|
| + Shallow
|
| + };
|
| +
|
| + AstExpressionVisitor(Isolate* isolate, Expression* root, Mode mode = Normal);
|
| + AstExpressionVisitor(uintptr_t stack_limit, Expression* root,
|
| + Mode mode = Normal);
|
| void Run();
|
|
|
| + Mode mode() const { return mode_; }
|
| + bool is_shallow() const { return mode_ == Shallow; }
|
| +
|
| protected:
|
| virtual void VisitExpression(Expression* expression) = 0;
|
| int depth() { return depth_; }
|
| @@ -39,6 +49,7 @@ class AstExpressionVisitor : public AstVisitor {
|
|
|
| Expression* root_;
|
| int depth_;
|
| + Mode mode_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(AstExpressionVisitor);
|
| };
|
|
|