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

#include <literal-objects.h>

Inheritance diagram for v8::internal::ClassBoilerplate:
Collaboration diagram for v8::internal::ClassBoilerplate:

Classes

struct  ComputedEntryFlags
 

Public Types

enum  ValueKind { kData , kGetter , kSetter , kAutoAccessor }
 
enum  DefineClassArgumentsIndices { kConstructorArgumentIndex = 1 , kPrototypeArgumentIndex = 2 , kFirstDynamicArgumentIndex = 3 }
 
using BodyDescriptor = StructBodyDescriptor
 

Public Member Functions

template<typename IsolateT , typename PropertyDict >
void AddToPropertiesTemplate (IsolateT *isolate, Handle< PropertyDict > dictionary, Handle< Name > name, int key_index, ClassBoilerplate::ValueKind value_kind, Tagged< Smi > value)
 
- Public Member Functions inherited from v8::internal::Struct
void BriefPrintDetails (std::ostream &os)
 

Static Public Member Functions

template<typename IsolateT >
static Handle< ClassBoilerplateNew (IsolateT *isolate, ClassLiteral *expr, AllocationType allocation=AllocationType::kYoung)
 
template<typename IsolateT , typename Dictionary >
static void AddToPropertiesTemplate (IsolateT *isolate, Handle< Dictionary > dictionary, Handle< Name > name, int key_index, ValueKind value_kind, Tagged< Smi > value)
 
template<typename IsolateT >
static void AddToElementsTemplate (IsolateT *isolate, Handle< NumberDictionary > dictionary, uint32_t key, int key_index, ValueKind value_kind, Tagged< Smi > value)
 

Static Public Attributes

static const int kMinimumClassPropertiesCount = 6
 
static const int kMinimumPrototypePropertiesCount = 1
 

Private Member Functions

 OBJECT_CONSTRUCTORS (ClassBoilerplate, Struct)
 

Detailed Description

Definition at line 130 of file literal-objects.h.

Member Typedef Documentation

◆ BodyDescriptor

Member Enumeration Documentation

◆ DefineClassArgumentsIndices

Enumerator
kConstructorArgumentIndex 
kPrototypeArgumentIndex 
kFirstDynamicArgumentIndex 

Definition at line 144 of file literal-objects.h.

◆ ValueKind

Enumerator
kData 
kGetter 
kSetter 
kAutoAccessor 

Definition at line 134 of file literal-objects.h.

Member Function Documentation

◆ AddToElementsTemplate()

template<typename IsolateT >
template void v8::internal::ClassBoilerplate::AddToElementsTemplate ( IsolateT * isolate,
Handle< NumberDictionary > dictionary,
uint32_t key,
int key_index,
ValueKind value_kind,
Tagged< Smi > value )
static

Definition at line 665 of file literal-objects.cc.

◆ AddToPropertiesTemplate() [1/2]

template<typename IsolateT , typename Dictionary >
static void v8::internal::ClassBoilerplate::AddToPropertiesTemplate ( IsolateT * isolate,
Handle< Dictionary > dictionary,
Handle< Name > name,
int key_index,
ValueKind value_kind,
Tagged< Smi > value )
static

◆ AddToPropertiesTemplate() [2/2]

template<typename IsolateT , typename PropertyDict >
void v8::internal::ClassBoilerplate::AddToPropertiesTemplate ( IsolateT * isolate,
Handle< PropertyDict > dictionary,
Handle< Name > name,
int key_index,
ClassBoilerplate::ValueKind value_kind,
Tagged< Smi > value )

Definition at line 648 of file literal-objects.cc.

◆ New()

template<typename IsolateT >
template Handle< ClassBoilerplate > v8::internal::ClassBoilerplate::New ( IsolateT * isolate,
ClassLiteral * expr,
AllocationType allocation = AllocationType::kYoung )
static

Definition at line 680 of file literal-objects.cc.

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

◆ OBJECT_CONSTRUCTORS()

v8::internal::ClassBoilerplate::OBJECT_CONSTRUCTORS ( ClassBoilerplate ,
Struct  )
private

Member Data Documentation

◆ kMinimumClassPropertiesCount

const int v8::internal::ClassBoilerplate::kMinimumClassPropertiesCount = 6
static

Definition at line 153 of file literal-objects.h.

◆ kMinimumPrototypePropertiesCount

const int v8::internal::ClassBoilerplate::kMinimumPrototypePropertiesCount = 1
static

Definition at line 154 of file literal-objects.h.


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