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

#include <ast.h>

Inheritance diagram for v8::internal::ClassLiteral:
Collaboration diagram for v8::internal::ClassLiteral:

Public Types

using Property = ClassLiteralProperty
 
using StaticElement = ClassLiteralStaticElement
 
- 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

ClassScopescope () const
 
Expressionextends () const
 
FunctionLiteralconstructor () const
 
ZonePtrList< Property > * public_members () const
 
ZonePtrList< Property > * private_members () const
 
int start_position () const
 
int end_position () const
 
bool has_static_computed_names () const
 
bool is_anonymous_expression () const
 
bool IsAnonymousFunctionDefinition () const
 
FunctionLiteralstatic_initializer () const
 
FunctionLiteralinstance_members_initializer_function () const
 
Variablehome_object () const
 
Variablestatic_home_object () 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 HasStaticComputedNames = Expression::NextBitField<bool, 1>
 
using IsAnonymousExpression = HasStaticComputedNames::Next<bool, 1>
 

Private Member Functions

 ClassLiteral (ClassScope *scope, Expression *extends, FunctionLiteral *constructor, ZonePtrList< Property > *public_members, ZonePtrList< Property > *private_members, FunctionLiteral *static_initializer, FunctionLiteral *instance_members_initializer_function, int start_position, int end_position, bool has_static_computed_names, bool is_anonymous, Variable *home_object, Variable *static_home_object)
 

Private Attributes

friend Zone
 
int end_position_
 
ClassScopescope_
 
Expressionextends_
 
FunctionLiteralconstructor_
 
ZonePtrList< Property > * public_members_
 
ZonePtrList< Property > * private_members_
 
FunctionLiteralstatic_initializer_
 
FunctionLiteralinstance_members_initializer_function_
 
Variablehome_object_
 
Variablestatic_home_object_
 

Friends

class AstNodeFactory
 

Additional Inherited Members

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

Member Typedef Documentation

◆ HasStaticComputedNames

◆ IsAnonymousExpression

◆ Property

◆ StaticElement

Constructor & Destructor Documentation

◆ ClassLiteral()

v8::internal::ClassLiteral::ClassLiteral ( ClassScope * scope,
Expression * extends,
FunctionLiteral * constructor,
ZonePtrList< Property > * public_members,
ZonePtrList< Property > * private_members,
FunctionLiteral * static_initializer,
FunctionLiteral * instance_members_initializer_function,
int start_position,
int end_position,
bool has_static_computed_names,
bool is_anonymous,
Variable * home_object,
Variable * static_home_object )
inlineprivate

Definition at line 2738 of file ast.h.

Here is the call graph for this function:

Member Function Documentation

◆ constructor()

FunctionLiteral * v8::internal::ClassLiteral::constructor ( ) const
inline

Definition at line 2708 of file ast.h.

Here is the caller graph for this function:

◆ end_position()

int v8::internal::ClassLiteral::end_position ( ) const
inline

Definition at line 2712 of file ast.h.

Here is the caller graph for this function:

◆ extends()

Expression * v8::internal::ClassLiteral::extends ( ) const
inline

Definition at line 2707 of file ast.h.

Here is the caller graph for this function:

◆ has_static_computed_names()

bool v8::internal::ClassLiteral::has_static_computed_names ( ) const
inline

Definition at line 2713 of file ast.h.

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

◆ home_object()

Variable * v8::internal::ClassLiteral::home_object ( ) const
inline

Definition at line 2730 of file ast.h.

Here is the caller graph for this function:

◆ instance_members_initializer_function()

FunctionLiteral * v8::internal::ClassLiteral::instance_members_initializer_function ( ) const
inline

Definition at line 2726 of file ast.h.

Here is the caller graph for this function:

◆ is_anonymous_expression()

bool v8::internal::ClassLiteral::is_anonymous_expression ( ) const
inline

Definition at line 2717 of file ast.h.

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

◆ IsAnonymousFunctionDefinition()

bool v8::internal::ClassLiteral::IsAnonymousFunctionDefinition ( ) const
inline

Definition at line 2720 of file ast.h.

Here is the call graph for this function:

◆ private_members()

ZonePtrList< Property > * v8::internal::ClassLiteral::private_members ( ) const
inline

Definition at line 2710 of file ast.h.

Here is the caller graph for this function:

◆ public_members()

ZonePtrList< Property > * v8::internal::ClassLiteral::public_members ( ) const
inline

Definition at line 2709 of file ast.h.

Here is the caller graph for this function:

◆ scope()

ClassScope * v8::internal::ClassLiteral::scope ( ) const
inline

Definition at line 2706 of file ast.h.

Here is the caller graph for this function:

◆ start_position()

int v8::internal::ClassLiteral::start_position ( ) const
inline

Definition at line 2711 of file ast.h.

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

◆ static_home_object()

Variable * v8::internal::ClassLiteral::static_home_object ( ) const
inline

Definition at line 2732 of file ast.h.

Here is the caller graph for this function:

◆ static_initializer()

FunctionLiteral * v8::internal::ClassLiteral::static_initializer ( ) const
inline

Definition at line 2724 of file ast.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ AstNodeFactory

friend class AstNodeFactory
friend

Definition at line 2735 of file ast.h.

Member Data Documentation

◆ constructor_

FunctionLiteral* v8::internal::ClassLiteral::constructor_
private

Definition at line 2766 of file ast.h.

◆ end_position_

int v8::internal::ClassLiteral::end_position_
private

Definition at line 2763 of file ast.h.

◆ extends_

Expression* v8::internal::ClassLiteral::extends_
private

Definition at line 2765 of file ast.h.

◆ home_object_

Variable* v8::internal::ClassLiteral::home_object_
private

Definition at line 2773 of file ast.h.

◆ instance_members_initializer_function_

FunctionLiteral* v8::internal::ClassLiteral::instance_members_initializer_function_
private

Definition at line 2770 of file ast.h.

◆ private_members_

ZonePtrList<Property>* v8::internal::ClassLiteral::private_members_
private

Definition at line 2768 of file ast.h.

◆ public_members_

ZonePtrList<Property>* v8::internal::ClassLiteral::public_members_
private

Definition at line 2767 of file ast.h.

◆ scope_

ClassScope* v8::internal::ClassLiteral::scope_
private

Definition at line 2764 of file ast.h.

◆ static_home_object_

Variable* v8::internal::ClassLiteral::static_home_object_
private

Definition at line 2774 of file ast.h.

◆ static_initializer_

FunctionLiteral* v8::internal::ClassLiteral::static_initializer_
private

Definition at line 2769 of file ast.h.

◆ Zone

friend v8::internal::ClassLiteral::Zone
private

Definition at line 2736 of file ast.h.


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