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

#include <types.h>

Inheritance diagram for v8::internal::torque::UnionType:
Collaboration diagram for v8::internal::torque::UnionType:

Public Member Functions

std::string GetGeneratedTypeNameImpl () const override
 
std::string GetGeneratedTNodeTypeNameImpl () const override
 
std::string GetRuntimeType () const override
 
std::string GetDebugType () const override
 
std::string GetConstexprGeneratedTypeName () const override
 
bool operator== (const UnionType &other) const
 
std::optional< const Type * > GetSingleMember () const
 
bool IsSubtypeOf (const Type *other) const override
 
bool IsSupertypeOf (const Type *other) const
 
bool IsTransient () const override
 
bool IsConstexpr () const override
 
const TypeNonConstexprVersion () const override
 
void Extend (const Type *t)
 
std::string ToExplicitString () const override
 
void Subtract (const Type *t)
 
std::vector< TypeCheckerGetTypeCheckers () const override
 
- Public Member Functions inherited from v8::internal::torque::Type
Typeoperator= (const Type &other)=delete
 
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 Typeparent () 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
 
std::optional< const ClassType * > ClassSupertype () const
 
std::optional< const StructType * > StructSupertype () const
 
std::optional< const AggregateType * > AggregateSupertype () const
 
void AddAlias (std::string alias) const
 
size_t id () const
 
const MaybeSpecializationKeyGetSpecializedFrom () const
 
virtual void SetConstexprVersion (const Type *type) const
 
virtual const TypeConstexprVersion () const
 
virtual size_t AlignmentLog2 () const
 
- Public Member Functions inherited from v8::internal::torque::TypeBase
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
 

Static Public Member Functions

static UnionType FromType (const Type *t)
 
- Static Public Member Functions inherited from v8::internal::torque::Type
static const TypeCommonSupertype (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)
 

Private Member Functions

 UnionType (const Type *t)
 
void RecomputeParent ()
 
std::string SimpleNameImpl () const override
 

Static Private Member Functions

static void InsertGeneratedTNodeTypeName (std::set< std::string > &names, const Type *t)
 
static void InsertConstexprGeneratedTypeName (std::set< std::string > &names, const Type *t)
 

Private Attributes

std::set< const Type *, TypeLesstypes_
 

Friends

size_t hash_value (const UnionType &p)
 

Additional Inherited Members

- Public Types inherited from v8::internal::torque::Type
enum class  HandleKind { kIndirect , kDirect }
 
- Public Types inherited from v8::internal::torque::TypeBase
enum class  Kind {
  kTopType , kAbstractType , kBuiltinPointerType , kUnionType ,
  kBitFieldStructType , kStructType , kClassType
}
 
- Protected Member Functions inherited from v8::internal::torque::Type
 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
 
- Protected Member Functions inherited from v8::internal::torque::TypeBase
 TypeBase (Kind kind)
 
Kind kind () const
 

Detailed Description

Definition at line 389 of file types.h.

Constructor & Destructor Documentation

◆ UnionType()

v8::internal::torque::UnionType::UnionType ( const Type * t)
inlineexplicitprivate

Definition at line 483 of file types.h.

Member Function Documentation

◆ Extend()

void v8::internal::torque::UnionType::Extend ( const Type * t)
inline

Definition at line 451 of file types.h.

Here is the call graph for this function:

◆ FromType()

static UnionType v8::internal::torque::UnionType::FromType ( const Type * t)
inlinestatic

Definition at line 468 of file types.h.

Here is the caller graph for this function:

◆ GetConstexprGeneratedTypeName()

std::string v8::internal::torque::UnionType::GetConstexprGeneratedTypeName ( ) const
overridevirtual

Reimplemented from v8::internal::torque::Type.

Definition at line 350 of file types.cc.

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

◆ GetDebugType()

std::string v8::internal::torque::UnionType::GetDebugType ( ) const
overridevirtual

Reimplemented from v8::internal::torque::Type.

Definition at line 385 of file types.cc.

Here is the call graph for this function:

◆ GetGeneratedTNodeTypeNameImpl()

std::string v8::internal::torque::UnionType::GetGeneratedTNodeTypeNameImpl ( ) const
overridevirtual

Implements v8::internal::torque::Type.

Definition at line 296 of file types.cc.

Here is the call graph for this function:

◆ GetGeneratedTypeNameImpl()

std::string v8::internal::torque::UnionType::GetGeneratedTypeNameImpl ( ) const
inlineoverridevirtual

Implements v8::internal::torque::Type.

Definition at line 392 of file types.h.

◆ GetRuntimeType()

std::string v8::internal::torque::UnionType::GetRuntimeType ( ) const
overridevirtual

Reimplemented from v8::internal::torque::Type.

Definition at line 329 of file types.cc.

Here is the call graph for this function:

◆ GetSingleMember()

std::optional< const Type * > v8::internal::torque::UnionType::GetSingleMember ( ) const
inline

Definition at line 411 of file types.h.

◆ GetTypeCheckers()

std::vector< TypeChecker > v8::internal::torque::UnionType::GetTypeCheckers ( ) const
inlineoverridevirtual

Reimplemented from v8::internal::torque::Type.

Definition at line 473 of file types.h.

◆ InsertConstexprGeneratedTypeName()

void v8::internal::torque::UnionType::InsertConstexprGeneratedTypeName ( std::set< std::string > & names,
const Type * t )
staticprivate

Definition at line 339 of file types.cc.

Here is the caller graph for this function:

◆ InsertGeneratedTNodeTypeName()

void v8::internal::torque::UnionType::InsertGeneratedTNodeTypeName ( std::set< std::string > & names,
const Type * t )
staticprivate

Definition at line 285 of file types.cc.

Here is the caller graph for this function:

◆ IsConstexpr()

bool v8::internal::torque::UnionType::IsConstexpr ( ) const
inlineoverridevirtual

Reimplemented from v8::internal::torque::Type.

Definition at line 444 of file types.h.

◆ IsSubtypeOf()

bool v8::internal::torque::UnionType::IsSubtypeOf ( const Type * other) const
inlineoverridevirtual

Reimplemented from v8::internal::torque::Type.

Definition at line 419 of file types.h.

◆ IsSupertypeOf()

bool v8::internal::torque::UnionType::IsSupertypeOf ( const Type * other) const
inline

Definition at line 426 of file types.h.

◆ IsTransient()

bool v8::internal::torque::UnionType::IsTransient ( ) const
inlineoverridevirtual

Reimplemented from v8::internal::torque::Type.

Definition at line 435 of file types.h.

◆ NonConstexprVersion()

const Type * v8::internal::torque::UnionType::NonConstexprVersion ( ) const
inlineoverridevirtual

Reimplemented from v8::internal::torque::Type.

Definition at line 446 of file types.h.

◆ operator==()

bool v8::internal::torque::UnionType::operator== ( const UnionType & other) const
inline

Definition at line 407 of file types.h.

◆ RecomputeParent()

void v8::internal::torque::UnionType::RecomputeParent ( )
private

Definition at line 387 of file types.cc.

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

◆ SimpleNameImpl()

std::string v8::internal::torque::UnionType::SimpleNameImpl ( ) const
overrideprivatevirtual

Implements v8::internal::torque::Type.

Definition at line 271 of file types.cc.

◆ Subtract()

void v8::internal::torque::UnionType::Subtract ( const Type * t)

Definition at line 399 of file types.cc.

Here is the call graph for this function:

◆ ToExplicitString()

std::string v8::internal::torque::UnionType::ToExplicitString ( ) const
overridevirtual

Implements v8::internal::torque::Type.

Definition at line 256 of file types.cc.

Friends And Related Symbol Documentation

◆ hash_value

size_t hash_value ( const UnionType & p)
friend

Definition at line 400 of file types.h.

Member Data Documentation

◆ types_

std::set<const Type*, TypeLess> v8::internal::torque::UnionType::types_
private

Definition at line 492 of file types.h.


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