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

#include <types.h>

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

Public Member Functions

const std::string & name () const
 
std::string ToExplicitString () const override
 
std::string GetGeneratedTypeNameImpl () const override
 
std::string GetGeneratedTNodeTypeNameImpl () const override
 
bool IsConstexpr () const final
 
const TypeNonConstexprVersion () const override
 
std::vector< TypeCheckerGetTypeCheckers () const override
 
size_t AlignmentLog2 () const override
 
- Public Member Functions inherited from v8::internal::torque::Type
Typeoperator= (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 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
 
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 MaybeSpecializationKeyGetSpecializedFrom () const
 
virtual void SetConstexprVersion (const Type *type) const
 
virtual const TypeConstexprVersion () 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
 

Private Member Functions

 AbstractType (const Type *parent, AbstractTypeFlags flags, const std::string &name, const std::string &generated_type, const Type *non_constexpr_version, MaybeSpecializationKey specialized_from)
 
std::string SimpleNameImpl () const override
 
bool IsTransient () const override
 
bool UseParentTypeChecker () const
 

Private Attributes

AbstractTypeFlags flags_
 
const std::string name_
 
const std::string generated_type_
 
const Typenon_constexpr_version_
 

Friends

class TypeOracle
 

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
}
 
- 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)
 
- 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 267 of file types.h.

Constructor & Destructor Documentation

◆ AbstractType()

v8::internal::torque::AbstractType::AbstractType ( const Type * parent,
AbstractTypeFlags flags,
const std::string & name,
const std::string & generated_type,
const Type * non_constexpr_version,
MaybeSpecializationKey specialized_from )
inlineprivate

Definition at line 293 of file types.h.

Here is the call graph for this function:

Member Function Documentation

◆ AlignmentLog2()

size_t v8::internal::torque::AbstractType::AlignmentLog2 ( ) const
overridevirtual

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

Definition at line 1264 of file types.cc.

Here is the call graph for this function:

◆ GetGeneratedTNodeTypeNameImpl()

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

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

Definition at line 215 of file types.cc.

Here is the call graph for this function:

◆ GetGeneratedTypeNameImpl()

std::string v8::internal::torque::AbstractType::GetGeneratedTypeNameImpl ( ) const
overridevirtual

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

Definition at line 198 of file types.cc.

Here is the call graph for this function:

◆ GetTypeCheckers()

std::vector< TypeChecker > v8::internal::torque::AbstractType::GetTypeCheckers ( ) const
overridevirtual

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

Definition at line 220 of file types.cc.

Here is the call graph for this function:

◆ IsConstexpr()

bool v8::internal::torque::AbstractType::IsConstexpr ( ) const
inlinefinalvirtual

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

Definition at line 274 of file types.h.

Here is the caller graph for this function:

◆ IsTransient()

bool v8::internal::torque::AbstractType::IsTransient ( ) const
inlineoverrideprivatevirtual

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

Definition at line 319 of file types.h.

◆ name()

const std::string & v8::internal::torque::AbstractType::name ( ) const
inline

Definition at line 270 of file types.h.

Here is the caller graph for this function:

◆ NonConstexprVersion()

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

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

Definition at line 280 of file types.h.

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

◆ SimpleNameImpl()

std::string v8::internal::torque::AbstractType::SimpleNameImpl ( ) const
inlineoverrideprivatevirtual

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

Definition at line 308 of file types.h.

Here is the call graph for this function:

◆ ToExplicitString()

std::string v8::internal::torque::AbstractType::ToExplicitString ( ) const
inlineoverridevirtual

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

Definition at line 271 of file types.h.

Here is the call graph for this function:

◆ UseParentTypeChecker()

bool v8::internal::torque::AbstractType::UseParentTypeChecker ( ) const
inlineprivate

Definition at line 323 of file types.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ TypeOracle

friend class TypeOracle
friend

Definition at line 292 of file types.h.

Member Data Documentation

◆ flags_

AbstractTypeFlags v8::internal::torque::AbstractType::flags_
private

Definition at line 327 of file types.h.

◆ generated_type_

const std::string v8::internal::torque::AbstractType::generated_type_
private

Definition at line 329 of file types.h.

◆ name_

const std::string v8::internal::torque::AbstractType::name_
private

Definition at line 328 of file types.h.

◆ non_constexpr_version_

const Type* v8::internal::torque::AbstractType::non_constexpr_version_
private

Definition at line 330 of file types.h.


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