Index: src/ast-value-factory.h |
diff --git a/src/ast-value-factory.h b/src/ast-value-factory.h |
index 774e5343de5993d4332807f1a76ee3f14f8cd028..bbab87173b3ed3370fa80eb78d73a4856b78e087 100644 |
--- a/src/ast-value-factory.h |
+++ b/src/ast-value-factory.h |
@@ -138,6 +138,23 @@ class AstConsString : public AstString { |
}; |
+class AstTemplateSpan { |
+ public: |
+ AstTemplateSpan(const AstString* value, const AstString* rawValue) |
+ : tv_(value), trv_(rawValue) {} |
+ |
+ Handle<String> value() const { return tv_->string(); } |
+ |
+ Handle<String> rawValue() const { return trv_->string(); } |
+ |
+ private: |
+ friend class AstValueFactory; |
+ |
+ const AstString* tv_; |
+ const AstString* trv_; |
+}; |
+ |
+ |
// AstValue is either a string, a number, a string array, a boolean, or a |
// special value (null, undefined, the hole). |
class AstValue : public ZoneObject { |
@@ -301,7 +318,8 @@ class AstValueFactory { |
const AstRawString* GetString(Handle<String> literal); |
const AstConsString* NewConsString(const AstString* left, |
const AstString* right); |
- |
+ const AstTemplateSpan* NewTemplateSpan(const AstString* value, |
+ const AstString* rawValue); |
void Internalize(Isolate* isolate); |
bool IsInternalized() { |
return isolate_ != NULL; |