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

#include <ast.h>

Inheritance diagram for v8::internal::Call:
Collaboration diagram for v8::internal::Call:

Public Types

enum  CallType {
  GLOBAL_CALL , WITH_CALL , NAMED_PROPERTY_CALL , KEYED_PROPERTY_CALL ,
  NAMED_OPTIONAL_CHAIN_PROPERTY_CALL , KEYED_OPTIONAL_CHAIN_PROPERTY_CALL , NAMED_SUPER_PROPERTY_CALL , KEYED_SUPER_PROPERTY_CALL ,
  PRIVATE_CALL , PRIVATE_OPTIONAL_CHAIN_CALL , SUPER_CALL , OTHER_CALL
}
 
enum class  TaggedTemplateTag { kTrue }
 
- Public Types inherited from v8::internal::CallBase
enum  SpreadPosition { kNoSpread , kHasFinalSpread , kHasNonFinalSpread }
 
- Public Types inherited from v8::internal::Expression
enum  Context { kUninitialized , kEffect , kValue , kTest }
 
- Public Types inherited from v8::internal::AstNode
enum  NodeType : uint8_t
 

Public Member Functions

bool is_possibly_eval () const
 
bool is_tagged_template () const
 
bool is_optional_chain_link () const
 
uint32_t eval_scope_info_index () const
 
void adjust_eval_scope_info_index (int delta)
 
CallType GetCallType () const
 
- Public Member Functions inherited from v8::internal::CallBase
Expressionexpression () const
 
const ZonePtrList< Expression > * arguments () const
 
SpreadPosition spread_position () const
 
- 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 IsTaggedTemplateField = CallBase::NextBitField<bool, 1>
 
using IsOptionalChainLinkField = IsTaggedTemplateField::Next<bool, 1>
 
using EvalScopeInfoIndexField = IsOptionalChainLinkField::Next<uint32_t, 20>
 

Private Member Functions

 Call (Zone *zone, Expression *expression, const ScopedPtrList< Expression > &arguments, int pos, bool has_spread, int eval_scope_info_index, bool optional_chain)
 
 Call (Zone *zone, Expression *expression, const ScopedPtrList< Expression > &arguments, int pos, TaggedTemplateTag tag)
 

Private Attributes

friend Zone
 

Friends

class AstNodeFactory
 

Additional Inherited Members

- Protected Types inherited from v8::internal::CallBase
using SpreadPositionField = Expression::NextBitField<SpreadPosition, 2>
 
template<class T , int size>
using NextBitField = SpreadPositionField::Next<T, size>
 
- 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::CallBase
 CallBase (Zone *zone, NodeType type, Expression *expression, const ScopedPtrList< Expression > &arguments, int pos, bool has_spread)
 
void ComputeSpreadPosition ()
 
- 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::CallBase
Expressionexpression_
 
ZonePtrList< Expressionarguments_
 
- Protected Attributes inherited from v8::internal::AstNode
uint32_t bit_field_
 

Detailed Description

Definition at line 1769 of file ast.h.

Member Typedef Documentation

◆ EvalScopeInfoIndexField

Definition at line 1837 of file ast.h.

◆ IsOptionalChainLinkField

◆ IsTaggedTemplateField

Definition at line 1835 of file ast.h.

Member Enumeration Documentation

◆ CallType

Enumerator
GLOBAL_CALL 
WITH_CALL 
NAMED_PROPERTY_CALL 
KEYED_PROPERTY_CALL 
NAMED_OPTIONAL_CHAIN_PROPERTY_CALL 
KEYED_OPTIONAL_CHAIN_PROPERTY_CALL 
NAMED_SUPER_PROPERTY_CALL 
KEYED_SUPER_PROPERTY_CALL 
PRIVATE_CALL 
PRIVATE_OPTIONAL_CHAIN_CALL 
SUPER_CALL 
OTHER_CALL 

Definition at line 1792 of file ast.h.

◆ TaggedTemplateTag

Enumerator
kTrue 

Definition at line 1810 of file ast.h.

Constructor & Destructor Documentation

◆ Call() [1/2]

v8::internal::Call::Call ( Zone * zone,
Expression * expression,
const ScopedPtrList< Expression > & arguments,
int pos,
bool has_spread,
int eval_scope_info_index,
bool optional_chain )
inlineprivate

Definition at line 1816 of file ast.h.

Here is the call graph for this function:

◆ Call() [2/2]

v8::internal::Call::Call ( Zone * zone,
Expression * expression,
const ScopedPtrList< Expression > & arguments,
int pos,
TaggedTemplateTag tag )
inlineprivate

Definition at line 1826 of file ast.h.

Here is the call graph for this function:

Member Function Documentation

◆ adjust_eval_scope_info_index()

void v8::internal::Call::adjust_eval_scope_info_index ( int delta)
inline

Definition at line 1787 of file ast.h.

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

◆ eval_scope_info_index()

uint32_t v8::internal::Call::eval_scope_info_index ( ) const
inline

Definition at line 1783 of file ast.h.

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

◆ GetCallType()

Call::CallType v8::internal::Call::GetCallType ( ) const

Definition at line 977 of file ast.cc.

Here is the call graph for this function:

◆ is_optional_chain_link()

bool v8::internal::Call::is_optional_chain_link ( ) const
inline

Definition at line 1779 of file ast.h.

Here is the call graph for this function:

◆ is_possibly_eval()

bool v8::internal::Call::is_possibly_eval ( ) const
inline

Definition at line 1771 of file ast.h.

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

◆ is_tagged_template()

bool v8::internal::Call::is_tagged_template ( ) const
inline

Definition at line 1775 of file ast.h.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ AstNodeFactory

friend class AstNodeFactory
friend

Definition at line 1813 of file ast.h.

Member Data Documentation

◆ Zone

friend v8::internal::Call::Zone
private

Definition at line 1814 of file ast.h.


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