Index: src/ast.h |
=================================================================== |
--- src/ast.h (revision 1089) |
+++ src/ast.h (working copy) |
@@ -77,6 +77,7 @@ |
V(RegExpLiteral) \ |
V(ObjectLiteral) \ |
V(ArrayLiteral) \ |
+ V(CatchExtensionObject) \ |
V(Assignment) \ |
V(Throw) \ |
V(Property) \ |
@@ -722,6 +723,26 @@ |
}; |
+// Node for constructing a context extension object for a catch block. |
+// The catch context extension object has one property, the catch |
+// variable, which should be DontDelete. |
+class CatchExtensionObject: public Expression { |
+ public: |
+ CatchExtensionObject(Literal* key, VariableProxy* value) |
+ : key_(key), value_(value) { |
+ } |
+ |
+ virtual void Accept(AstVisitor* v); |
+ |
+ Literal* key() const { return key_; } |
+ VariableProxy* value() const { return value_; } |
+ |
+ private: |
+ Literal* key_; |
+ VariableProxy* value_; |
+}; |
+ |
+ |
class VariableProxy: public Expression { |
public: |
virtual void Accept(AstVisitor* v); |