| 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);
|
|
|