![]() |
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 |
const TypeVector & | parameter_types () const |
const Type * | return_type () const |
bool | operator== (const BuiltinPointerType &other) const |
size_t | function_pointer_type_id () const |
std::vector< TypeChecker > | GetTypeCheckers () const override |
bool | HasContextParameter () 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 bool | IsTransient () 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 | |
BuiltinPointerType (const Type *parent, TypeVector parameter_types, const Type *return_type, size_t function_pointer_type_id) | |
std::string | SimpleNameImpl () const override |
Private Attributes | |
const TypeVector | parameter_types_ |
const Type *const | return_type_ |
const size_t | function_pointer_type_id_ |
Friends | |
class | TypeOracle |
size_t | hash_value (const BuiltinPointerType &p) |
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) |
![]() | |
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 |
|
inlineprivate |
|
inline |
|
inlineoverridevirtual |
Implements v8::internal::torque::Type.
|
inlineoverridevirtual |
Implements v8::internal::torque::Type.
|
inlineoverridevirtual |
Reimplemented from v8::internal::torque::Type.
bool v8::internal::torque::BuiltinPointerType::HasContextParameter | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
overrideprivatevirtual |
Implements v8::internal::torque::Type.
|
overridevirtual |
Implements v8::internal::torque::Type.
Definition at line 238 of file types.cc.
|
friend |
|
friend |
|
private |
|
private |
|
private |