| Index: src/parser.h
|
| diff --git a/src/parser.h b/src/parser.h
|
| index 74f3944718f54b254d7b8aeebbcd3d39f34dbce7..2fa20553e36891f82358af50d16a04a7f28a5423 100644
|
| --- a/src/parser.h
|
| +++ b/src/parser.h
|
| @@ -592,6 +592,15 @@ class ParserTraits {
|
| V8_INLINE void CheckConflictingVarDeclarations(v8::internal::Scope* scope,
|
| bool* ok);
|
|
|
| + typedef TemplateLiteral* TemplateLiteralState;
|
| + V8_INLINE TemplateLiteralState OpenTemplateLiteral(int pos);
|
| + V8_INLINE void AddTemplateSpan(TemplateLiteralState* state);
|
| + V8_INLINE void AddTemplateExpression(TemplateLiteralState* state,
|
| + Expression* expression);
|
| + V8_INLINE Expression* CloseTemplateLiteral(TemplateLiteralState* state,
|
| + int start, Expression* tag);
|
| + V8_INLINE Expression* NoTemplateTag() { return NULL; }
|
| +
|
| private:
|
| Parser* parser_;
|
| };
|
| @@ -823,6 +832,12 @@ class Parser : public ParserBase<ParserTraits> {
|
|
|
| void ThrowPendingError();
|
|
|
| + TemplateLiteralState OpenTemplateLiteral(int pos);
|
| + void AddTemplateSpan(TemplateLiteralState* state);
|
| + void AddTemplateExpression(TemplateLiteralState* state,
|
| + Expression* expression);
|
| + Expression* CloseTemplateLiteral(TemplateLiteralState* state,
|
| + int start, Expression* tag);
|
| Scanner scanner_;
|
| PreParser* reusable_preparser_;
|
| Scope* original_scope_; // for ES5 function declarations in sloppy eval
|
| @@ -923,6 +938,21 @@ class CompileTimeValue: public AllStatic {
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(CompileTimeValue);
|
| };
|
|
|
| +ParserTraits::TemplateLiteralState ParserTraits::OpenTemplateLiteral(int pos) {
|
| + return parser_->OpenTemplateLiteral(pos);
|
| +}
|
| +
|
| +void ParserTraits::AddTemplateSpan(TemplateLiteralState* state) {
|
| + parser_->AddTemplateSpan(state);
|
| +}
|
| +void ParserTraits::AddTemplateExpression(TemplateLiteralState* state,
|
| + Expression* expression) {
|
| + parser_->AddTemplateExpression(state, expression);
|
| +}
|
| +Expression* ParserTraits::CloseTemplateLiteral(TemplateLiteralState* state,
|
| + int start, Expression* tag) {
|
| + return parser_->CloseTemplateLiteral(state, start, tag);
|
| +}
|
| } } // namespace v8::internal
|
|
|
| #endif // V8_PARSER_H_
|
|
|