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
Expression Class Reference

#include <ast.h>

Inheritance diagram for Expression:
Collaboration diagram for Expression:

Public Types

enum  Context { kUninitialized, kEffect, kValue, kTest }
 
- Public Types inherited from AstNode
enum  NodeType { kInvalid = -1 }
 

Public Member Functions

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 ()
 
virtual MaterializedLiteralAsMaterializedLiteral ()
 
- 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

 Expression (Zone *zone, int pos)
 
void set_to_boolean_types (byte types)
 

Additional Inherited Members

- 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 314 of file ast.h.

Member Enumeration Documentation

enum Context
Enumerator
kUninitialized 
kEffect 
kValue 
kTest 

Definition at line 316 of file ast.h.

Constructor & Destructor Documentation

Expression ( Zone zone,
int  pos 
)
inlineprotected

Definition at line 381 of file ast.h.

Member Function Documentation

Bounds bounds ( )
inline

Definition at line 356 of file ast.h.

BailoutId id ( ) const
inline

Definition at line 377 of file ast.h.

bool IsNullLiteral ( )

Definition at line 69 of file ast.cc.

References Value::IsNull(), and v8::internal::NULL.

virtual bool IsPropertyName ( )
inlinevirtual

Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >.

Definition at line 337 of file ast.h.

Referenced by ParserTraits::PushPropertyName().

bool IsSmiLiteral ( )

Definition at line 59 of file ast.cc.

References v8::internal::NULL.

bool IsStringLiteral ( )

Definition at line 64 of file ast.cc.

References Value::IsString(), and v8::internal::NULL.

bool IsUndefinedLiteral ( Isolate isolate)
virtual bool IsValidLeftHandSide ( )
inlinevirtual
void RecordToBooleanTypeFeedback ( TypeFeedbackOracle oracle)
virtual
virtual bool ResultOverwriteAllowed ( )
inlinevirtual

Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >.

Definition at line 341 of file ast.h.

void set_bounds ( Bounds  bounds)
inline

Definition at line 357 of file ast.h.

void set_to_boolean_types ( byte  types)
inlineprotected

Definition at line 386 of file ast.h.

TypeFeedbackId test_id ( ) const
inline

Definition at line 378 of file ast.h.

Referenced by Expression::RecordToBooleanTypeFeedback().

byte to_boolean_types ( ) const
inline

Definition at line 375 of file ast.h.

virtual bool ToBooleanIsFalse ( )
inlinevirtual

Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >.

Definition at line 332 of file ast.h.

virtual bool ToBooleanIsTrue ( )
inlinevirtual

Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >.

Definition at line 331 of file ast.h.


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