| Index: src/parser.h
|
| diff --git a/src/parser.h b/src/parser.h
|
| index 85a219e04ea48aeb3ec677382c00ac8a9f1baf99..5a5c734ae3c4e3587d750e5a794051590ea7321e 100644
|
| --- a/src/parser.h
|
| +++ b/src/parser.h
|
| @@ -421,6 +421,7 @@ class ParserTraits {
|
| // Return types for traversing functions.
|
| typedef Handle<String> Identifier;
|
| typedef v8::internal::Expression* Expression;
|
| + typedef ZoneList<v8::internal::Expression*>* ExpressionList;
|
| };
|
|
|
| explicit ParserTraits(Parser* parser) : parser_(parser) {}
|
| @@ -462,6 +463,10 @@ class ParserTraits {
|
| return NULL;
|
| }
|
|
|
| + // Odd-ball literal creators.
|
| + Literal* GetLiteralTheHole(int position,
|
| + AstNodeFactory<AstConstructionVisitor>* factory);
|
| +
|
| // Producing data during the recursive descent.
|
| Handle<String> GetSymbol(Scanner* scanner = NULL);
|
| Handle<String> NextLiteralString(Scanner* scanner,
|
| @@ -477,11 +482,13 @@ class ParserTraits {
|
| Expression* ExpressionFromString(
|
| int pos, Scanner* scanner,
|
| AstNodeFactory<AstConstructionVisitor>* factory);
|
| + ZoneList<v8::internal::Expression*>* NewExpressionList(int size, Zone* zone) {
|
| + return new(zone) ZoneList<v8::internal::Expression*>(size, zone);
|
| + }
|
|
|
| // Temporary glue; these functions will move to ParserBase.
|
| - Expression* ParseArrayLiteral(bool* ok);
|
| Expression* ParseObjectLiteral(bool* ok);
|
| - Expression* ParseExpression(bool accept_IN, bool* ok);
|
| + Expression* ParseAssignmentExpression(bool accept_IN, bool* ok);
|
| Expression* ParseV8Intrinsic(bool* ok);
|
|
|
| private:
|
| @@ -554,7 +561,6 @@ class Parser : public ParserBase<ParserTraits> {
|
| FunctionLiteral* ParseLazy(Utf16CharacterStream* source);
|
|
|
| Isolate* isolate() { return isolate_; }
|
| - Zone* zone() const { return zone_; }
|
| CompilationInfo* info() const { return info_; }
|
|
|
| // Called by ParseProgram after setting up the scanner.
|
| @@ -630,7 +636,6 @@ class Parser : public ParserBase<ParserTraits> {
|
| // Support for hamony block scoped bindings.
|
| Block* ParseScopedBlock(ZoneStringList* labels, bool* ok);
|
|
|
| - Expression* ParseExpression(bool accept_IN, bool* ok);
|
| Expression* ParseAssignmentExpression(bool accept_IN, bool* ok);
|
| Expression* ParseYieldExpression(bool* ok);
|
| Expression* ParseConditionalExpression(bool accept_IN, bool* ok);
|
| @@ -642,7 +647,6 @@ class Parser : public ParserBase<ParserTraits> {
|
| Expression* ParseMemberExpression(bool* ok);
|
| Expression* ParseMemberExpressionContinuation(Expression* expression,
|
| bool* ok);
|
| - Expression* ParseArrayLiteral(bool* ok);
|
| Expression* ParseObjectLiteral(bool* ok);
|
|
|
| // Initialize the components of a for-in / for-of statement.
|
| @@ -678,7 +682,6 @@ class Parser : public ParserBase<ParserTraits> {
|
|
|
| // Get odd-ball literals.
|
| Literal* GetLiteralUndefined(int position);
|
| - Literal* GetLiteralTheHole(int position);
|
|
|
| // Determine if the expression is a variable proxy and mark it as being used
|
| // in an assignment or with a increment/decrement operator. This is currently
|
| @@ -755,7 +758,6 @@ class Parser : public ParserBase<ParserTraits> {
|
|
|
| Mode mode_;
|
|
|
| - Zone* zone_;
|
| CompilationInfo* info_;
|
| };
|
|
|
|
|