v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MaterializedLiteral Class Reference

#include <ast.h>

Inheritance diagram for MaterializedLiteral:
Collaboration diagram for MaterializedLiteral:

Public Member Functions

virtual MaterializedLiteralAsMaterializedLiteral ()
 
int literal_index ()
 
int depth () const
 
- Public Member Functions inherited from Expression
virtual bool IsValidLeftHandSide ()
 
virtual bool ToBooleanIsTrue ()
 
virtual bool ToBooleanIsFalse ()
 
virtual bool IsPropertyName ()
 
virtual bool ResultOverwriteAllowed ()
 
bool IsSmiLiteral ()
 
bool IsStringLiteral ()
 
bool IsNullLiteral ()
 
bool IsUndefinedLiteral (Isolate *isolate)
 
Bounds bounds ()
 
void set_bounds (Bounds bounds)
 
virtual bool IsMonomorphic ()
 
virtual SmallMapList * GetReceiverTypes ()
 
virtual KeyedAccessStoreMode GetStoreMode ()
 
virtual void RecordToBooleanTypeFeedback (TypeFeedbackOracle *oracle)
 
byte to_boolean_types () const
 
BailoutId id () const
 
TypeFeedbackId test_id () const
 
- Public Member Functions inherited from AstNode
void * operator new (size_t size, Zone *zone)
 
 AstNode (int position)
 
virtual ~AstNode ()
 
virtual void Accept (AstVisitor *v)=0
 
virtual NodeType node_type () const =0
 
int position () const
 
virtual TargetCollector * AsTargetCollector ()
 
virtual BreakableStatementAsBreakableStatement ()
 
virtual IterationStatementAsIterationStatement ()
 
- Public Member Functions inherited from ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 

Protected Member Functions

 MaterializedLiteral (Zone *zone, int literal_index, int pos)
 
bool is_simple () const
 
void set_is_simple (bool is_simple)
 
void set_depth (int depth)
 
void BuildConstants (Isolate *isolate)
 
Handle< ObjectGetBoilerplateValue (Expression *expression, Isolate *isolate)
 
- Protected Member Functions inherited from Expression
 Expression (Zone *zone, int pos)
 
void set_to_boolean_types (byte types)
 

Friends

class CompileTimeValue
 
class ArrayLiteral
 
class ObjectLiteral
 

Additional Inherited Members

- Public Types inherited from Expression
enum  Context { kUninitialized, kEffect, kValue, kTest }
 
- Public Types inherited from AstNode
enum  NodeType { kInvalid = -1 }
 
- Static Protected Member Functions inherited from AstNode
static int GetNextId (Zone *zone)
 
static int ReserveIdRange (Zone *zone, int n)
 
static TypeFeedbackId reuse (BailoutId id)
 

Detailed Description

Definition at line 1413 of file ast.h.

Constructor & Destructor Documentation

MaterializedLiteral ( Zone zone,
int  literal_index,
int  pos 
)
inlineprotected

Definition at line 1426 of file ast.h.

Member Function Documentation

virtual MaterializedLiteral* AsMaterializedLiteral ( )
inlinevirtual

Reimplemented from AstNode.

Definition at line 1415 of file ast.h.

void BuildConstants ( Isolate isolate)
protected

Definition at line 424 of file ast.cc.

References ASSERT, and MaterializedLiteral::depth().

int depth ( ) const
inline

Definition at line 1419 of file ast.h.

References ASSERT.

Referenced by MaterializedLiteral::BuildConstants().

Handle< Object > GetBoilerplateValue ( Expression expression,
Isolate isolate 
)
protected
bool is_simple ( ) const
inlineprotected

Definition at line 1436 of file ast.h.

Referenced by CompileTimeValue::IsCompileTimeValue().

int literal_index ( )
inline

Definition at line 1417 of file ast.h.

void set_depth ( int  depth)
inlineprotected

Definition at line 1440 of file ast.h.

References ASSERT.

void set_is_simple ( bool  is_simple)
inlineprotected

Definition at line 1437 of file ast.h.

Friends And Related Function Documentation

friend class ArrayLiteral
friend

Definition at line 1447 of file ast.h.

friend class CompileTimeValue
friend

Definition at line 1438 of file ast.h.

friend class ObjectLiteral
friend

Definition at line 1448 of file ast.h.


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