v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::VariableProxy Class Referencefinal

#include <ast.h>

Inheritance diagram for v8::internal::VariableProxy:
Collaboration diagram for v8::internal::VariableProxy:

Classes

struct  UnresolvedNext
 

Public Member Functions

bool IsValidReferenceExpression () const
 
DirectHandle< Stringname () const
 
const AstRawStringraw_name () const
 
Variablevar () const
 
void set_var (Variable *v)
 
Scanner::Location location ()
 
bool is_assigned () const
 
void set_is_assigned ()
 
void clear_is_assigned ()
 
bool is_resolved () const
 
void set_is_resolved ()
 
bool is_new_target () const
 
void set_is_new_target ()
 
HoleCheckMode hole_check_mode () const
 
void set_needs_hole_check ()
 
bool IsPrivateName () const
 
void BindTo (Variable *var)
 
V8_INLINE VariableProxynext_unresolved ()
 
V8_INLINE bool is_removed_from_unresolved () const
 
void mark_removed_from_unresolved ()
 
bool is_home_object () const
 
void set_is_home_object ()
 
- Public Member Functions inherited from v8::internal::Expression
bool IsValidReferenceExpression () const
 
bool IsPrivateName () const
 
bool ToBooleanIsTrue () const
 
bool ToBooleanIsFalse () const
 
bool IsPropertyName () const
 
bool IsAnonymousFunctionDefinition () const
 
bool IsConciseMethodDefinition () const
 
bool IsAccessorFunctionDefinition () const
 
bool IsSmiLiteral () const
 
V8_EXPORT_PRIVATE bool IsNumberLiteral () const
 
bool IsStringLiteral () const
 
bool IsConsStringLiteral () const
 
bool IsNullLiteral () const
 
bool IsBooleanLiteral () const
 
bool IsTheHoleLiteral () const
 
bool IsUndefinedLiteral () const
 
bool IsNullOrUndefinedLiteral () const
 
bool IsLiteralButNotNullOrUndefined () const
 
bool IsCompileTimeValue ()
 
bool IsPattern ()
 
bool is_parenthesized () const
 
void mark_parenthesized ()
 
void clear_parenthesized ()
 
- Public Member Functions inherited from v8::internal::AstNode
NodeType node_type () const
 
int position () const
 
IterationStatementAsIterationStatement ()
 
MaterializedLiteralAsMaterializedLiteral ()
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Private Types

using IsAssignedField = Expression::NextBitField<bool, 1>
 
using IsResolvedField = IsAssignedField::Next<bool, 1>
 
using IsRemovedFromUnresolvedField = IsResolvedField::Next<bool, 1>
 
using IsNewTargetField = IsRemovedFromUnresolvedField::Next<bool, 1>
 
using IsHomeObjectField = IsNewTargetField::Next<bool, 1>
 
using HoleCheckModeField = IsHomeObjectField::Next<HoleCheckMode, 1>
 

Private Member Functions

 VariableProxy (Variable *var, int start_position)
 
 VariableProxy (const AstRawString *name, VariableKind variable_kind, int start_position)
 
 VariableProxy (const VariableProxy *copy_from)
 
V8_INLINE VariableProxy ** next ()
 

Private Attributes

friend Zone
 
union { 
 
   const AstRawString *   raw_name_ 
 
   Variable *   var_ 
 
};  
 
VariableProxynext_unresolved_
 

Friends

class AstNodeFactory
 

Additional Inherited Members

- Public Types inherited from v8::internal::Expression
enum  Context { kUninitialized , kEffect , kValue , kTest }
 
- Public Types inherited from v8::internal::AstNode
enum  NodeType : uint8_t
 
- Protected Types inherited from v8::internal::Expression
template<class T , int size>
using NextBitField = IsParenthesizedField::Next<T, size>
 
- Protected Types inherited from v8::internal::AstNode
template<class T , int size>
using NextBitField = NodeTypeField::Next<T, size>
 
- Protected Member Functions inherited from v8::internal::Expression
 Expression (int pos, NodeType type)
 
- Protected Member Functions inherited from v8::internal::AstNode
 AstNode (int position, NodeType type)
 
- Protected Attributes inherited from v8::internal::AstNode
uint32_t bit_field_
 

Detailed Description

Definition at line 1508 of file ast.h.

Member Typedef Documentation

◆ HoleCheckModeField

◆ IsAssignedField

Definition at line 1621 of file ast.h.

◆ IsHomeObjectField

Definition at line 1625 of file ast.h.

◆ IsNewTargetField

◆ IsRemovedFromUnresolvedField

◆ IsResolvedField

Definition at line 1622 of file ast.h.

Constructor & Destructor Documentation

◆ VariableProxy() [1/3]

v8::internal::VariableProxy::VariableProxy ( Variable * var,
int start_position )
private

Definition at line 154 of file ast.cc.

Here is the call graph for this function:

◆ VariableProxy() [2/3]

v8::internal::VariableProxy::VariableProxy ( const AstRawString * name,
VariableKind variable_kind,
int start_position )
inlineprivate

Definition at line 1606 of file ast.h.

Here is the call graph for this function:

◆ VariableProxy() [3/3]

v8::internal::VariableProxy::VariableProxy ( const VariableProxy * copy_from)
explicitprivate

Definition at line 165 of file ast.cc.

Here is the call graph for this function:

Member Function Documentation

◆ BindTo()

void v8::internal::VariableProxy::BindTo ( Variable * var)

Definition at line 173 of file ast.cc.

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

◆ clear_is_assigned()

void v8::internal::VariableProxy::clear_is_assigned ( )
inline

Definition at line 1538 of file ast.h.

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

◆ hole_check_mode()

HoleCheckMode v8::internal::VariableProxy::hole_check_mode ( ) const
inline

Definition at line 1552 of file ast.h.

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

◆ is_assigned()

bool v8::internal::VariableProxy::is_assigned ( ) const
inline

Definition at line 1531 of file ast.h.

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

◆ is_home_object()

bool v8::internal::VariableProxy::is_home_object ( ) const
inline

Definition at line 1578 of file ast.h.

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

◆ is_new_target()

bool v8::internal::VariableProxy::is_new_target ( ) const
inline

Definition at line 1547 of file ast.h.

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

◆ is_removed_from_unresolved()

V8_INLINE bool v8::internal::VariableProxy::is_removed_from_unresolved ( ) const
inline

Definition at line 1570 of file ast.h.

Here is the call graph for this function:

◆ is_resolved()

bool v8::internal::VariableProxy::is_resolved ( ) const
inline

Definition at line 1542 of file ast.h.

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

◆ IsPrivateName()

bool v8::internal::VariableProxy::IsPrivateName ( ) const
inline

Definition at line 1564 of file ast.h.

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

◆ IsValidReferenceExpression()

bool v8::internal::VariableProxy::IsValidReferenceExpression ( ) const
inline

Definition at line 1510 of file ast.h.

Here is the call graph for this function:

◆ location()

Scanner::Location v8::internal::VariableProxy::location ( )
inline

Definition at line 1527 of file ast.h.

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

◆ mark_removed_from_unresolved()

void v8::internal::VariableProxy::mark_removed_from_unresolved ( )
inline

Definition at line 1574 of file ast.h.

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

◆ name()

DirectHandle< String > v8::internal::VariableProxy::name ( ) const
inline

Definition at line 1512 of file ast.h.

Here is the call graph for this function:

◆ next()

V8_INLINE VariableProxy ** v8::internal::VariableProxy::next ( )
inlineprivate

Definition at line 1633 of file ast.h.

◆ next_unresolved()

V8_INLINE VariableProxy * v8::internal::VariableProxy::next_unresolved ( )
inline

Definition at line 1569 of file ast.h.

Here is the caller graph for this function:

◆ raw_name()

const AstRawString * v8::internal::VariableProxy::raw_name ( ) const
inline

Definition at line 1513 of file ast.h.

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

◆ set_is_assigned()

void v8::internal::VariableProxy::set_is_assigned ( )
inline

Definition at line 1532 of file ast.h.

Here is the call graph for this function:

◆ set_is_home_object()

void v8::internal::VariableProxy::set_is_home_object ( )
inline

Definition at line 1580 of file ast.h.

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

◆ set_is_new_target()

void v8::internal::VariableProxy::set_is_new_target ( )
inline

Definition at line 1548 of file ast.h.

Here is the call graph for this function:

◆ set_is_resolved()

void v8::internal::VariableProxy::set_is_resolved ( )
inline

Definition at line 1543 of file ast.h.

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

◆ set_needs_hole_check()

void v8::internal::VariableProxy::set_needs_hole_check ( )
inline

Definition at line 1559 of file ast.h.

Here is the call graph for this function:

◆ set_var()

void v8::internal::VariableProxy::set_var ( Variable * v)
inline

Definition at line 1521 of file ast.h.

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

◆ var()

Variable * v8::internal::VariableProxy::var ( ) const
inline

Definition at line 1517 of file ast.h.

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

Friends And Related Symbol Documentation

◆ AstNodeFactory

friend class AstNodeFactory
friend

Definition at line 1601 of file ast.h.

Member Data Documentation

◆ [union]

◆ next_unresolved_

VariableProxy* v8::internal::VariableProxy::next_unresolved_
private

Definition at line 1634 of file ast.h.

◆ raw_name_

const AstRawString* v8::internal::VariableProxy::raw_name_

Definition at line 1629 of file ast.h.

◆ var_

Variable* v8::internal::VariableProxy::var_

Definition at line 1630 of file ast.h.

◆ Zone

friend v8::internal::VariableProxy::Zone
private

Definition at line 1602 of file ast.h.


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