![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <type-oracle.h>
Static Public Member Functions | |
static const AbstractType * | GetAbstractType (const Type *parent, std::string name, AbstractTypeFlags flags, std::string generated, const Type *non_constexpr_version, MaybeSpecializationKey specialized_from) |
static StructType * | GetStructType (const StructDeclaration *decl, MaybeSpecializationKey specialized_from) |
static BitFieldStructType * | GetBitFieldStructType (const Type *parent, const BitFieldStructDeclaration *decl) |
static ClassType * | GetClassType (const Type *parent, const std::string &name, ClassFlags flags, const std::string &generates, ClassDeclaration *decl, const TypeAlias *alias) |
static const BuiltinPointerType * | GetBuiltinPointerType (TypeVector argument_types, const Type *return_type) |
static const Type * | GetGenericTypeInstance (GenericType *generic_type, TypeVector arg_types) |
static GenericType * | GetReferenceGeneric (bool is_const) |
static GenericType * | GetConstReferenceGeneric () |
static GenericType * | GetMutableReferenceGeneric () |
static std::optional< const Type * > | MatchReferenceGeneric (const Type *reference_type, bool *is_const=nullptr) |
static GenericType * | GetMutableSliceGeneric () |
static GenericType * | GetConstSliceGeneric () |
static GenericType * | GetWeakGeneric () |
static GenericType * | GetSmiTaggedGeneric () |
static GenericType * | GetLazyGeneric () |
static const Type * | GetReferenceType (const Type *referenced_type, bool is_const) |
static const Type * | GetConstReferenceType (const Type *referenced_type) |
static const Type * | GetMutableReferenceType (const Type *referenced_type) |
static const Type * | GetMutableSliceType (const Type *referenced_type) |
static const Type * | GetConstSliceType (const Type *referenced_type) |
static const std::vector< const BuiltinPointerType * > & | AllBuiltinPointerTypes () |
static const Type * | GetUnionType (UnionType type) |
static const Type * | GetUnionType (const Type *a, const Type *b) |
static const TopType * | GetTopType (std::string reason, const Type *source_type) |
static const Type * | GetArgumentsType () |
static const Type * | GetBoolType () |
static const Type * | GetConstexprBoolType () |
static const Type * | GetConstexprStringType () |
static const Type * | GetConstexprIntPtrType () |
static const Type * | GetConstexprInstanceTypeType () |
static const Type * | GetVoidType () |
static const Type * | GetRawPtrType () |
static const Type * | GetExternalPointerType () |
static const Type * | GetCppHeapPointerType () |
static const Type * | GetTrustedPointerType () |
static const Type * | GetProtectedPointerType () |
static const Type * | GetDispatchHandleType () |
static const Type * | GetMapType () |
static const Type * | GetObjectType () |
static const Type * | GetHeapObjectType () |
static const Type * | GetTaggedZeroPatternType () |
static const Type * | GetJSAnyType () |
static const Type * | GetJSObjectType () |
static const Type * | GetTaggedType () |
static const Type * | GetStrongTaggedType () |
static const Type * | GetUninitializedType () |
static const Type * | GetUninitializedHeapObjectType () |
static const Type * | GetSmiType () |
static const Type * | GetConstStringType () |
static const Type * | GetStringType () |
static const Type * | GetNumberType () |
static const Type * | GetIntPtrType () |
static const Type * | GetUIntPtrType () |
static const Type * | GetInt64Type () |
static const Type * | GetUint64Type () |
static const Type * | GetInt32Type () |
static const Type * | GetUint32Type () |
static const Type * | GetUint31Type () |
static const Type * | GetInt16Type () |
static const Type * | GetUint16Type () |
static const Type * | GetInt8Type () |
static const Type * | GetUint8Type () |
static const Type * | GetFloat64Type () |
static const Type * | GetFloat64OrUndefinedOrHoleType () |
static const Type * | GetConstFloat64Type () |
static const Type * | GetIntegerLiteralType () |
static const Type * | GetNeverType () |
static const Type * | GetConstInt31Type () |
static const Type * | GetConstInt32Type () |
static const Type * | GetContextType () |
static const Type * | GetNoContextType () |
static const Type * | GetNativeContextType () |
static const Type * | GetJSFunctionType () |
static const Type * | GetUninitializedIteratorType () |
static const Type * | GetFixedArrayBaseType () |
static std::optional< const Type * > | ImplicitlyConvertableFrom (const Type *to, const Type *from) |
static const std::vector< std::unique_ptr< AggregateType > > & | GetAggregateTypes () |
static const std::vector< std::unique_ptr< BitFieldStructType > > & | GetBitFieldStructTypes () |
static std::vector< const ClassType * > | GetClasses () |
static void | FinalizeAggregateTypes () |
static size_t | FreshTypeId () |
static Namespace * | CreateGenericTypeInstantiationNamespace () |
![]() | |
static VarType & | Get () |
static bool | HasScope () |
Private Member Functions | |
const Type * | GetBuiltinType (const QualifiedName &name) |
const Type * | GetBuiltinType (const std::string &name) |
Private Attributes | |
Deduplicator< BuiltinPointerType > | function_pointer_types_ |
std::vector< const BuiltinPointerType * > | all_builtin_pointer_types_ |
Deduplicator< UnionType > | union_types_ |
std::vector< std::unique_ptr< Type > > | nominal_types_ |
std::vector< std::unique_ptr< AggregateType > > | aggregate_types_ |
std::vector< std::unique_ptr< BitFieldStructType > > | bit_field_struct_types_ |
std::vector< std::unique_ptr< Type > > | top_types_ |
std::vector< std::unique_ptr< Namespace > > | generic_type_instantiation_namespaces_ |
size_t | next_type_id_ = 0 |
Additional Inherited Members | |
![]() | |
using | VarT = VarType |
Definition at line 20 of file type-oracle.h.
|
inlinestatic |
|
static |
Definition at line 65 of file type-oracle.cc.
|
static |
|
inlinestatic |
|
inlinestatic |
Definition at line 22 of file type-oracle.h.
|
static |
|
inlinestatic |
Definition at line 168 of file type-oracle.h.
|
inlinestatic |
Definition at line 47 of file type-oracle.h.
|
static |
|
inlinestatic |
Definition at line 172 of file type-oracle.h.
|
inlinestatic |
Definition at line 67 of file type-oracle.h.
|
inlineprivate |
Definition at line 407 of file type-oracle.h.
|
inlineprivate |
|
static |
Definition at line 72 of file type-oracle.cc.
|
inlinestatic |
Definition at line 56 of file type-oracle.h.
|
inlinestatic |
Definition at line 176 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 180 of file type-oracle.h.
|
inlinestatic |
Definition at line 330 of file type-oracle.h.
|
inlinestatic |
Definition at line 342 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 90 of file type-oracle.h.
|
inlinestatic |
Definition at line 104 of file type-oracle.h.
|
inlinestatic |
Definition at line 136 of file type-oracle.h.
|
inlinestatic |
Definition at line 266 of file type-oracle.h.
|
inlinestatic |
Definition at line 350 of file type-oracle.h.
|
inlinestatic |
Definition at line 204 of file type-oracle.h.
|
inlinestatic |
Definition at line 216 of file type-oracle.h.
|
inlinestatic |
Definition at line 200 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 326 of file type-oracle.h.
|
inlinestatic |
Definition at line 322 of file type-oracle.h.
|
static |
Definition at line 36 of file type-oracle.cc.
|
inlinestatic |
|
inlinestatic |
Definition at line 306 of file type-oracle.h.
|
inlinestatic |
Definition at line 294 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 314 of file type-oracle.h.
|
inlinestatic |
Definition at line 334 of file type-oracle.h.
|
inlinestatic |
Definition at line 278 of file type-oracle.h.
|
inlinestatic |
Definition at line 236 of file type-oracle.h.
|
inlinestatic |
Definition at line 362 of file type-oracle.h.
|
inlinestatic |
Definition at line 240 of file type-oracle.h.
|
inlinestatic |
Definition at line 117 of file type-oracle.h.
|
inlinestatic |
Definition at line 220 of file type-oracle.h.
|
inlinestatic |
Definition at line 93 of file type-oracle.h.
|
inlinestatic |
Definition at line 100 of file type-oracle.h.
|
inlinestatic |
Definition at line 133 of file type-oracle.h.
|
inlinestatic |
Definition at line 358 of file type-oracle.h.
|
inlinestatic |
Definition at line 338 of file type-oracle.h.
|
inlinestatic |
Definition at line 354 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 224 of file type-oracle.h.
|
inlinestatic |
Definition at line 212 of file type-oracle.h.
|
inlinestatic |
Definition at line 196 of file type-oracle.h.
|
inlinestatic |
Definition at line 84 of file type-oracle.h.
|
inlinestatic |
Definition at line 121 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 262 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 248 of file type-oracle.h.
|
inlinestatic |
Definition at line 38 of file type-oracle.h.
|
inlinestatic |
Definition at line 244 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 160 of file type-oracle.h.
|
inlinestatic |
Definition at line 208 of file type-oracle.h.
|
inlinestatic |
Definition at line 310 of file type-oracle.h.
|
inlinestatic |
Definition at line 302 of file type-oracle.h.
|
inlinestatic |
Definition at line 298 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 318 of file type-oracle.h.
|
inlinestatic |
Definition at line 282 of file type-oracle.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 145 of file type-oracle.h.
|
inlinestatic |
Definition at line 192 of file type-oracle.h.
|
inlinestatic |
Definition at line 109 of file type-oracle.h.
|
inlinestatic |
Definition at line 374 of file type-oracle.h.
|
private |
Definition at line 418 of file type-oracle.h.
|
private |
Definition at line 415 of file type-oracle.h.
|
private |
Definition at line 419 of file type-oracle.h.
|
private |
Definition at line 414 of file type-oracle.h.
|
private |
Definition at line 422 of file type-oracle.h.
|
private |
Definition at line 423 of file type-oracle.h.
|
private |
Definition at line 417 of file type-oracle.h.
|
private |
Definition at line 420 of file type-oracle.h.
|
private |
Definition at line 416 of file type-oracle.h.