v8  3.11.10(node0.8.26)
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 ExpressionAsExpression ()
 
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 ()
 
unsigned id () const
 
unsigned 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
 
virtual DeclarationAsDeclaration ()
 
virtual StatementAsStatement ()
 
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, int position, Interface *interface)
 
- 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_
 

Friends

template<class >
class AstNodeFactory
 

Additional Inherited Members

- Public Types inherited from Expression
enum  Context { kUninitialized, kEffect, kValue, kTest }
 
- Public Types inherited from AstNode
enum  Type { kInvalid = -1 }
 
- Static Public Attributes inherited from AstNode
static const int kNoNumber = -1
 
static const int kFunctionEntryId = 2
 
static const int kDeclarationsId = 3
 
- Static Protected Member Functions inherited from AstNode
static int GetNextId (Isolate *isolate)
 
static int ReserveIdRange (Isolate *isolate, int n)
 

Detailed Description

Definition at line 1465 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,
int  position,
Interface interface 
)
protected

Definition at line 85 of file ast.cc.

References ASSERT.

Member Function Documentation

Interface* interface ( ) const
inline

Definition at line 1487 of file ast.h.

Referenced by Scope::ResolveVariable().

bool is_this ( ) const
inline

Definition at line 1485 of file ast.h.

Referenced by VariableProxy::BindTo().

bool IsArguments ( )
inline

Definition at line 1477 of file ast.h.

References v8::internal::NULL.

bool IsLValue ( )
inline

Definition at line 1479 of file ast.h.

virtual bool IsValidLeftHandSide ( )
inlinevirtual

Reimplemented from Expression.

Definition at line 1469 of file ast.h.

References v8::internal::NULL.

bool IsVariable ( Handle< String n)
inline

Definition at line 1473 of file ast.h.

void MarkAsLValue ( )
inline

Definition at line 1491 of file ast.h.

void MarkAsTrivial ( )
inline

Definition at line 1490 of file ast.h.

int position ( ) const
inlinevirtual

Reimplemented from Expression.

Definition at line 1486 of file ast.h.

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

Friends And Related Function Documentation

friend class AstNodeFactory
friend

Definition at line 1497 of file ast.h.

Field Documentation

Interface* interface_
protected

Definition at line 1515 of file ast.h.

bool is_lvalue_
protected

Definition at line 1513 of file ast.h.

bool is_this_
protected

Definition at line 1509 of file ast.h.

bool is_trivial_
protected

Definition at line 1510 of file ast.h.

Handle<String> name_
protected

Definition at line 1507 of file ast.h.

Referenced by VariableProxy::BindTo().

int position_
protected

Definition at line 1514 of file ast.h.

Variable* var_
protected

Definition at line 1508 of file ast.h.

Referenced by VariableProxy::BindTo().


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