| Index: src/parser.cc | 
| diff --git a/src/parser.cc b/src/parser.cc | 
| index 2e552e10f3b1256ab9b8bf6b0c87bd070900515e..9d10d308b24252a419b2362d944142bad3b81f7d 100644 | 
| --- a/src/parser.cc | 
| +++ b/src/parser.cc | 
| @@ -664,6 +664,13 @@ Expression* ParserTraits::SuperReference( | 
| pos); | 
| } | 
|  | 
| +Expression* ParserTraits::ClassLiteral( | 
| +    const AstRawString* name, Expression* extends, Expression* constructor, | 
| +    ZoneList<ObjectLiteral::Property*>* properties, int pos, | 
| +    AstNodeFactory<AstConstructionVisitor>* factory) { | 
| +  return factory->NewClassLiteral(name, extends, constructor, properties, pos); | 
| +} | 
| + | 
| Literal* ParserTraits::ExpressionFromLiteral( | 
| Token::Value token, int pos, | 
| Scanner* scanner, | 
| @@ -1962,8 +1969,8 @@ Statement* Parser::ParseClassDeclaration(ZoneList<const AstRawString*>* names, | 
| bool is_strict_reserved = false; | 
| const AstRawString* name = | 
| ParseIdentifierOrStrictReservedWord(&is_strict_reserved, CHECK_OK); | 
| -  ClassLiteral* value = ParseClassLiteral(name, scanner()->location(), | 
| -                                          is_strict_reserved, pos, CHECK_OK); | 
| +  Expression* value = ParseClassLiteral(name, scanner()->location(), | 
| +                                        is_strict_reserved, pos, CHECK_OK); | 
|  | 
| Block* block = factory()->NewBlock(NULL, 1, true, pos); | 
| VariableMode mode = LET; | 
|  |