Index: src/ast.h |
diff --git a/src/ast.h b/src/ast.h |
index 67902cdc32d0f7fa4de0a71c0a69ec878129cd93..e36eb9b32182e481fa8f91e749758e61e228c733 100644 |
--- a/src/ast.h |
+++ b/src/ast.h |
@@ -408,10 +408,14 @@ class Block: public BreakableStatement { |
class Declaration: public AstNode { |
public: |
- Declaration(VariableProxy* proxy, Variable::Mode mode, FunctionLiteral* fun) |
+ Declaration(VariableProxy* proxy, |
+ Variable::Mode mode, |
+ FunctionLiteral* fun, |
+ Scope* scope) |
: proxy_(proxy), |
mode_(mode), |
- fun_(fun) { |
+ fun_(fun), |
+ scope_(scope) { |
ASSERT(mode == Variable::VAR || |
mode == Variable::CONST || |
mode == Variable::LET); |
@@ -425,11 +429,15 @@ class Declaration: public AstNode { |
Variable::Mode mode() const { return mode_; } |
FunctionLiteral* fun() const { return fun_; } // may be NULL |
virtual bool IsInlineable() const; |
+ Scope* scope() const { return scope_; } |
private: |
VariableProxy* proxy_; |
Variable::Mode mode_; |
FunctionLiteral* fun_; |
+ |
+ // Nested scope from which the declaration originated. |
+ Scope* scope_; |
}; |