Index: src/parser.h |
diff --git a/src/parser.h b/src/parser.h |
index b5bf2391284cb475944190a4a97defc6d2ad1258..ab9c61a91daaefc55aec14d9811dac57f46f5ac7 100644 |
--- a/src/parser.h |
+++ b/src/parser.h |
@@ -363,6 +363,7 @@ class ParserTraits { |
typedef v8::internal::Expression* Expression; |
typedef Yield* YieldExpression; |
typedef v8::internal::FunctionLiteral* FunctionLiteral; |
+ typedef v8::internal::ClassLiteral* ClassLiteral; |
typedef v8::internal::Literal* Literal; |
typedef ObjectLiteral::Property* ObjectLiteralProperty; |
typedef ZoneList<v8::internal::Expression*>* ExpressionList; |
@@ -401,6 +402,10 @@ class ParserTraits { |
static bool IsIdentifier(Expression* expression); |
+ bool IsPrototype(const AstRawString* identifier) const; |
+ |
+ bool IsConstructor(const AstRawString* identifier) const; |
+ |
static const AstRawString* AsIdentifier(Expression* expression) { |
DCHECK(IsIdentifier(expression)); |
return expression->AsVariableProxy()->raw_name(); |
@@ -518,6 +523,8 @@ class ParserTraits { |
return NULL; |
} |
static ObjectLiteralProperty* EmptyObjectLiteralProperty() { return NULL; } |
+ static FunctionLiteral* EmptyFunctionLiteral() { return NULL; } |
+ static ClassLiteral* EmptyClassLiteral() { return NULL; } |
// Used in error return values. |
static ZoneList<Expression*>* NullExpressionList() { |
@@ -705,6 +712,8 @@ class Parser : public ParserBase<ParserTraits> { |
Statement* ParseStatement(ZoneList<const AstRawString*>* labels, bool* ok); |
Statement* ParseFunctionDeclaration(ZoneList<const AstRawString*>* names, |
bool* ok); |
+ Statement* ParseClassDeclaration(ZoneList<const AstRawString*>* names, |
+ bool* ok); |
Statement* ParseNativeDeclaration(bool* ok); |
Block* ParseBlock(ZoneList<const AstRawString*>* labels, bool* ok); |
Block* ParseVariableStatement(VariableDeclarationContext var_context, |