V8 Project
v8::internal::AstConsString Class Reference

#include <ast-value-factory.h>

+ Inheritance diagram for v8::internal::AstConsString:
+ Collaboration diagram for v8::internal::AstConsString:

Public Member Functions

 AstConsString (const AstString *left, const AstString *right)
 
virtual int length () const OVERRIDE
 
virtual void Internalize (Isolate *isolate) OVERRIDE
 
- Public Member Functions inherited from v8::internal::AstString
virtual ~AstString ()
 
bool IsEmpty () const
 
Handle< Stringstring () const
 
- Public Member Functions inherited from v8::internal::ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 

Private Attributes

const AstStringleft_
 
const AstStringright_
 

Friends

class AstValueFactory
 

Additional Inherited Members

- Protected Attributes inherited from v8::internal::AstString
Handle< Stringstring_
 

Detailed Description

Definition at line 117 of file ast-value-factory.h.

Constructor & Destructor Documentation

◆ AstConsString()

v8::internal::AstConsString::AstConsString ( const AstString left,
const AstString right 
)
inline

Definition at line 119 of file ast-value-factory.h.

120  : left_(left),
121  right_(right) {}

Member Function Documentation

◆ Internalize()

void v8::internal::AstConsString::Internalize ( Isolate isolate)
virtual

Implements v8::internal::AstString.

Definition at line 131 of file ast-value-factory.cc.

131  {
132  // AstRawStrings are internalized before AstConsStrings so left and right are
133  // already internalized.
134  string_ = isolate->factory()
135  ->NewConsString(left_->string(), right_->string())
136  .ToHandleChecked();
137 }
Handle< String > string_
Handle< String > string() const

References v8::internal::Isolate::factory(), left_, right_, v8::internal::AstString::string(), and v8::internal::AstString::string_.

Referenced by v8::internal::AstValueFactory::NewConsString().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ length()

virtual int v8::internal::AstConsString::length ( ) const
inlinevirtual

Implements v8::internal::AstString.

Definition at line 123 of file ast-value-factory.h.

123  {
124  return left_->length() + right_->length();
125  }
virtual int length() const =0

References left_, v8::internal::AstString::length(), and right_.

+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ AstValueFactory

friend class AstValueFactory
friend

Definition at line 130 of file ast-value-factory.h.

Member Data Documentation

◆ left_

const AstString* v8::internal::AstConsString::left_
private

Definition at line 132 of file ast-value-factory.h.

Referenced by Internalize(), and length().

◆ right_

const AstString* v8::internal::AstConsString::right_
private

Definition at line 133 of file ast-value-factory.h.

Referenced by Internalize(), and length().


The documentation for this class was generated from the following files: