![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <types.h>
Public Member Functions | |
std::string | ToExplicitString () const override |
std::string | GetGeneratedTypeNameImpl () const override |
std::string | GetGeneratedTNodeTypeNameImpl () const override |
bool | IsExtern () const |
bool | ShouldGeneratePrint () const |
bool | ShouldGenerateVerify () const |
bool | ShouldGenerateBodyDescriptor () const |
bool | DoNotGenerateCast () const |
bool | IsTransient () const override |
bool | IsAbstract () const |
bool | IsLayoutDefinedInCpp () const |
bool | HasSameInstanceTypeAsParent () const |
bool | ShouldGenerateCppClassDefinitions () const |
bool | ShouldGenerateCppObjectDefinitionAsserts () const |
bool | ShouldGenerateCppObjectLayoutDefinitionAsserts () const |
bool | ShouldGenerateFullClassDefinition () const |
bool | ShouldGenerateUniqueMap () const |
bool | ShouldGenerateFactoryFunction () const |
bool | ShouldExport () const |
bool | IsShape () const |
bool | HasStaticSize () const |
size_t | header_size () const |
ResidueClass | size () const |
const ClassType * | GetSuperClass () const |
void | GenerateAccessors () |
bool | AllowInstantiation () const |
const Field & | RegisterField (Field field) override |
void | Finalize () const override |
std::vector< Field > | ComputeAllFields () const |
std::vector< Field > | ComputeHeaderFields () const |
std::vector< Field > | ComputeArrayFields () const |
std::vector< ObjectSlotKind > | ComputeHeaderSlotKinds () const |
std::optional< ObjectSlotKind > | ComputeArraySlotKind () const |
bool | HasNoPointerSlotsExceptMap () const |
bool | HasIndexedFieldsIncludingInParents () const |
const Field * | GetFieldPreceding (size_t field_index) const |
const ClassType * | GetClassDeclaringField (const Field &f) const |
std::string | GetSliceMacroName (const Field &field) const |
const InstanceTypeConstraints & | GetInstanceTypeConstraints () const |
bool | IsHighestInstanceTypeWithinParent () const |
bool | IsLowestInstanceTypeWithinParent () const |
bool | HasUndefinedLayout () const |
SourcePosition | GetPosition () const |
SourceId | AttributedToFile () const |
void | InitializeInstanceTypes (std::optional< int > own, std::optional< std::pair< int, int > > range) const |
std::optional< int > | OwnInstanceType () const |
std::optional< std::pair< int, int > > | InstanceTypeRange () const |
![]() | |
void | SetFields (std::vector< Field > fields) |
const std::vector< Field > & | fields () const |
bool | HasField (const std::string &name) const |
const Field & | LookupField (const std::string &name) const |
const std::string & | name () const |
Namespace * | nspace () const |
void | RegisterMethod (Method *method) |
const std::vector< Method * > & | Methods () const |
std::vector< Method * > | Methods (const std::string &name) const |
std::vector< const AggregateType * > | GetHierarchy () const |
std::vector< TypeChecker > | GetTypeCheckers () const override |
const Field & | LastField () const |
![]() | |
Type & | operator= (const Type &other)=delete |
virtual bool | IsSubtypeOf (const Type *supertype) const |
std::string | ToString () const |
virtual std::string | SimpleName () const |
std::string | GetHandleTypeName (HandleKind kind, const std::string &type_name) const |
std::string | TagglifiedCppTypeName () const |
std::string | HandlifiedCppTypeName (HandleKind kind) const |
const Type * | parent () const |
bool | IsVoid () const |
bool | IsNever () const |
bool | IsBool () const |
bool | IsConstexprBool () const |
bool | IsVoidOrNever () const |
bool | IsFloat32 () const |
bool | IsFloat64 () const |
std::string | GetGeneratedTypeName () const |
std::string | GetGeneratedTNodeTypeName () const |
virtual bool | IsConstexpr () const |
virtual const Type * | NonConstexprVersion () const |
virtual std::string | GetConstexprGeneratedTypeName () const |
std::optional< const ClassType * > | ClassSupertype () const |
std::optional< const StructType * > | StructSupertype () const |
std::optional< const AggregateType * > | AggregateSupertype () const |
virtual std::string | GetRuntimeType () const |
virtual std::string | GetDebugType () const |
void | AddAlias (std::string alias) const |
size_t | id () const |
const MaybeSpecializationKey & | GetSpecializedFrom () const |
virtual void | SetConstexprVersion (const Type *type) const |
virtual const Type * | ConstexprVersion () const |
virtual size_t | AlignmentLog2 () const |
![]() | |
virtual | ~TypeBase ()=default |
bool | IsTopType () const |
bool | IsAbstractType () const |
bool | IsBuiltinPointerType () const |
bool | IsUnionType () const |
bool | IsBitFieldStructType () const |
bool | IsStructType () const |
bool | IsClassType () const |
bool | IsAggregateType () const |
Private Member Functions | |
ClassType (const Type *parent, Namespace *nspace, const std::string &name, ClassFlags flags, const std::string &generates, const ClassDeclaration *decl, const TypeAlias *alias) | |
void | GenerateSliceAccessor (size_t field_index) |
Private Attributes | |
size_t | header_size_ |
ResidueClass | size_ |
ClassFlags | flags_ |
const std::string | generates_ |
const ClassDeclaration * | decl_ |
const TypeAlias * | alias_ |
std::optional< int > | own_instance_type_ |
std::optional< std::pair< int, int > > | instance_type_range_ |
Friends | |
class | TypeOracle |
class | TypeVisitor |
Additional Inherited Members | |
![]() | |
enum class | HandleKind { kIndirect , kDirect } |
![]() | |
enum class | Kind { kTopType , kAbstractType , kBuiltinPointerType , kUnionType , kBitFieldStructType , kStructType , kClassType } |
![]() | |
static const Type * | CommonSupertype (const Type *a, const Type *b) |
static std::optional< const Type * > | MatchUnaryGeneric (const Type *type, GenericType *generic) |
static std::string | ComputeName (const std::string &basename, MaybeSpecializationKey specialized_from) |
![]() | |
AggregateType (Kind kind, const Type *parent, Namespace *nspace, const std::string &name, MaybeSpecializationKey specialized_from=std::nullopt) | |
void | CheckForDuplicateFields () const |
const Field & | LookupFieldInternal (const std::string &name) const |
std::string | SimpleNameImpl () const override |
![]() | |
Type (TypeBase::Kind kind, const Type *parent, MaybeSpecializationKey specialized_from=std::nullopt) | |
Type (const Type &other) V8_NOEXCEPT | |
void | set_parent (const Type *t) |
int | Depth () const |
![]() | |
TypeBase (Kind kind) | |
Kind | kind () const |
![]() | |
bool | is_finalized_ |
std::vector< Field > | fields_ |
|
private |
bool v8::internal::torque::ClassType::AllowInstantiation | ( | ) | const |
SourceId v8::internal::torque::ClassType::AttributedToFile | ( | ) | const |
std::vector< Field > v8::internal::torque::ClassType::ComputeAllFields | ( | ) | const |
std::vector< Field > v8::internal::torque::ClassType::ComputeArrayFields | ( | ) | const |
std::optional< ObjectSlotKind > v8::internal::torque::ClassType::ComputeArraySlotKind | ( | ) | const |
std::vector< Field > v8::internal::torque::ClassType::ComputeHeaderFields | ( | ) | const |
std::vector< ObjectSlotKind > v8::internal::torque::ClassType::ComputeHeaderSlotKinds | ( | ) | const |
|
inline |
|
overridevirtual |
Implements v8::internal::torque::AggregateType.
Definition at line 638 of file types.cc.
void v8::internal::torque::ClassType::GenerateAccessors | ( | ) |
|
private |
|
overridevirtual |
Reimplemented from v8::internal::torque::AggregateType.
|
overridevirtual |
Reimplemented from v8::internal::torque::AggregateType.
Definition at line 627 of file types.cc.
|
inline |
|
inline |
std::string v8::internal::torque::ClassType::GetSliceMacroName | ( | const Field & | field | ) | const |
|
inline |
bool v8::internal::torque::ClassType::HasIndexedFieldsIncludingInParents | ( | ) | const |
bool v8::internal::torque::ClassType::HasNoPointerSlotsExceptMap | ( | ) | const |
|
inline |
bool v8::internal::torque::ClassType::HasStaticSize | ( | ) | const |
|
inline |
|
inline |
void v8::internal::torque::ClassType::InitializeInstanceTypes | ( | std::optional< int > | own, |
std::optional< std::pair< int, int > > | range ) const |
std::optional< std::pair< int, int > > v8::internal::torque::ClassType::InstanceTypeRange | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
Reimplemented from v8::internal::torque::Type.
std::optional< int > v8::internal::torque::ClassType::OwnInstanceType | ( | ) | const |
Reimplemented from v8::internal::torque::AggregateType.
Definition at line 748 of file types.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Implements v8::internal::torque::Type.
Definition at line 632 of file types.cc.
|
friend |
|
friend |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
private |