| Index: src/parser.h
|
| diff --git a/src/parser.h b/src/parser.h
|
| index fd24e8d4e952b4d33408f3fc03c0fcb83ec3bf43..e3cee84097346b881e8b1e9f744af1cb4a150a02 100644
|
| --- a/src/parser.h
|
| +++ b/src/parser.h
|
| @@ -355,6 +355,21 @@ class ParserTraits {
|
| typedef Variable GeneratorVariable;
|
| typedef v8::internal::Zone Zone;
|
|
|
| + class Checkpoint BASE_EMBEDDED {
|
| + public:
|
| + template <typename Parser>
|
| + explicit Checkpoint(Parser* parser) {
|
| + isolate_ = parser->zone()->isolate();
|
| + saved_ast_node_id_ = isolate_->ast_node_id();
|
| + }
|
| +
|
| + void Restore() { isolate_->set_ast_node_id(saved_ast_node_id_); }
|
| +
|
| + private:
|
| + Isolate* isolate_;
|
| + int saved_ast_node_id_;
|
| + };
|
| +
|
| typedef v8::internal::AstProperties AstProperties;
|
| typedef Vector<VariableProxy*> ParameterIdentifierVector;
|
|
|
|
|