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

#include <ast.h>

Inheritance diagram for VariableProxy:
Collaboration diagram for VariableProxy:

Public Member Functions

virtual bool IsValidLeftHandSide ()
 
bool IsVariable (Handle< String > n)
 
bool IsArguments ()
 
bool IsLValue ()
 
Handle< Stringname () const
 
Variablevar () const
 
bool is_this () const
 
int position () const
 
Interfaceinterface () const
 
void MarkAsTrivial ()
 
void MarkAsLValue ()
 
void BindTo (Variable *var)
 
- Public Member Functions inherited from Expression
virtual bool ToBooleanIsTrue ()
 
virtual bool ToBooleanIsFalse ()
 
virtual bool IsPropertyName ()
 
virtual bool ResultOverwriteAllowed ()
 
bool IsSmiLiteral ()
 
bool IsStringLiteral ()
 
bool IsNullLiteral ()
 
virtual bool IsMonomorphic ()
 
virtual SmallMapListGetReceiverTypes ()
 
Handle< MapGetMonomorphicReceiverType ()
 
BailoutId id () const
 
TypeFeedbackId test_id () const
 
- Public Member Functions inherited from AstNode
void * operator new (size_t size, Zone *zone)
 
 AstNode ()
 
virtual ~AstNode ()
 
virtual void Accept (AstVisitor *v)=0
 
virtual Type node_type () const =0
 
virtual TargetCollectorAsTargetCollector ()
 
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

 VariableProxy (Isolate *isolate, Variable *var)
 
 VariableProxy (Isolate *isolate, Handle< String > name, bool is_this, Interface *interface, int position)
 
- Protected Member Functions inherited from Expression
 Expression (Isolate *isolate)
 

Protected Attributes

Handle< Stringname_
 
Variablevar_
 
bool is_this_
 
bool is_trivial_
 
bool is_lvalue_
 
int position_
 
Interfaceinterface_
 

Additional Inherited Members

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

Detailed Description

Definition at line 1392 of file ast.h.

Constructor & Destructor Documentation

VariableProxy ( Isolate isolate,
Variable var 
)
protected

Definition at line 72 of file ast.cc.

References VariableProxy::BindTo().

VariableProxy ( Isolate isolate,
Handle< String name,
bool  is_this,
Interface interface,
int  position 
)
protected

Definition at line 85 of file ast.cc.

References ASSERT.

Member Function Documentation

Interface* interface ( ) const
inline

Definition at line 1414 of file ast.h.

Referenced by Scope::ResolveVariable().

bool is_this ( ) const
inline

Definition at line 1412 of file ast.h.

Referenced by VariableProxy::BindTo().

bool IsArguments ( )
inline

Definition at line 1404 of file ast.h.

References v8::internal::NULL.

bool IsLValue ( )
inline

Definition at line 1406 of file ast.h.

virtual bool IsValidLeftHandSide ( )
inlinevirtual

Reimplemented from Expression.

Definition at line 1396 of file ast.h.

References v8::internal::NULL.

bool IsVariable ( Handle< String n)
inline

Definition at line 1400 of file ast.h.

void MarkAsLValue ( )
inline

Definition at line 1418 of file ast.h.

void MarkAsTrivial ( )
inline

Definition at line 1417 of file ast.h.

int position ( ) const
inlinevirtual

Reimplemented from Expression.

Definition at line 1413 of file ast.h.

Referenced by Scope::Analyze(), and Scope::ResolveVariable().

Field Documentation

Interface* interface_
protected

Definition at line 1440 of file ast.h.

bool is_lvalue_
protected

Definition at line 1438 of file ast.h.

bool is_this_
protected

Definition at line 1434 of file ast.h.

bool is_trivial_
protected

Definition at line 1435 of file ast.h.

Handle<String> name_
protected

Definition at line 1432 of file ast.h.

Referenced by VariableProxy::BindTo().

int position_
protected

Definition at line 1439 of file ast.h.

Variable* var_
protected

Definition at line 1433 of file ast.h.

Referenced by VariableProxy::BindTo().


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