{(clang::Type::TypeClass)TypeBits.TC, en}Type
{*(clang::BuiltinType *)this}
{*(clang::PointerType *)this}
{*(clang::LValueReferenceType *)this}
{*(clang::RValueReferenceType *)this}
{*(clang::AttributedType *)this}
{*(clang::TemplateTypeParmType *)this}
{*(clang::SubstTemplateTypeParmType *)this}
{*(clang::RecordType *)this}
{*(clang::RecordType *)this,view(cpp)}
{*(clang::FunctionProtoType *)this}
{*(clang::TemplateSpecializationType *)this}
{*(clang::InjectedClassNameType *)this}
{*this,view(poly)}
{*this,view(cmn)}
{*this,view(cmn)} {{{*this,view(poly)}}}
- (clang::Type::TypeClass)TypeBits.TC
- TypeBits
- CanonicalType
*(clang::BuiltinType *)this
*(clang::PointerType *)this
*(clang::LValueReferenceType *)this
*(clang::RValueReferenceType *)this
*(clang::AttributedType *)this
(clang::TemplateTypeParmType *)this
(clang::SubstTemplateTypeParmType *)this
(clang::RecordType *)this
(clang::FunctionProtoType *)this
(clang::TemplateSpecializationType *)this
(clang::InjectedClassNameType *)this
{PointeeType, view(poly)} *
- PointeeType
*(clang::Type *)this, view(cmn)
{((clang::ReferenceType *)this)->PointeeType,view(cpp)} &
*(clang::Type *)this, view(cmn)
- PointeeType
{((clang::ReferenceType *)this)->PointeeType,view(cpp)} &&
*(clang::Type *)this, view(cmn)
- PointeeType
{ModifiedType} Attribute={(clang::AttributedType::Kind)AttributedTypeBits.AttrKind}
{(clang::Decl::Kind)DeclKind,en}Decl
- (clang::Decl::Kind)DeclKind,en
FirstDecl
(clang::Decl *)(NextInContextAndBits.Value & ~3)
*this
Field {{{*(clang::DeclaratorDecl *)this,view(cpp)nd}}}
{*(clang::FunctionDecl *)this,nd}
Method {{{*this,view(cpp)}}}
Constructor {{{Name,view(cpp)}({*(clang::FunctionDecl *)this,view(parm0)nd})}}
Destructor {{~{Name,view(cpp)}()}}
class {Name,view(cpp)}
typename {Name,view(cpp)}
template{*TemplateParams} {*TemplatedDecl};
{Name,view(cpp)}
{Name}
implicit{" ",sb}
{*this,view(implicit)}
{*this,view(modifiers)}{Name,view(cpp)}
{*this,view(modifiers)}struct {Name,view(cpp)}
{*this,view(modifiers)}interface {Name,view(cpp)}
{*this,view(modifiers)}union {Name,view(cpp)}
{*this,view(modifiers)}class {Name,view(cpp)}
{*this,view(modifiers)}enum {Name,view(cpp)}
(clang::DeclContext *)this
{*decl,view(cpp)}
{*decl}
*(clang::Type *)this, view(cmn)
- decl
{*(clang::TagType *)this,view(cpp)}
{*(clang::TagType *)this}
- *(clang::TagType *)this
{*Replaced,view(cpp)} <= {CanonicalType,view(cpp)}
*(clang::Type *)this, view(cmn)
- *Replaced
{ResultType,view(cpp)}
{*(clang::QualType *)(this+1),view(cpp)}{*this,view(parm1)}
, {*((clang::QualType *)(this+1)+1),view(cpp)}{*this,view(parm2)}
, {*((clang::QualType *)(this+1)+2),view(cpp)}{*this,view(parm3)}
, {*((clang::QualType *)(this+1)+3),view(cpp)}{*this,view(parm4)}
, {*((clang::QualType *)(this+1)+4),view(cpp)}{*this,view(parm5)}
, /* expand for more params */
{*this,view(retType)}({*this,view(parm0)})
- ResultType
{*this,view(parm0)}
NumParams
(clang::QualType *)(this+1)
*(clang::Type *)this, view(cmn)
{*TTPDecl,view(cpp)}
{*TTPDecl}
{*Decl,view(cpp)}
- Decl
- InjectedType
*(clang::Type *)this, view(cmn)
{*((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << 4) - 1)))->BaseType,view(poly)}{*this,view(fastQuals)}
{*((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << 4) - 1)))->BaseType,view(cpp)}{*this,view(fastQuals)}
{" ",sb}const
{" ",sb}restrict
{" ",sb}const restrict
{" ",sb}volatile
{" ",sb}const volatile
{" ",sb}volatile restrict
{" ",sb}const volatile restrict
Cannot visualize non-fast qualifiers
{*((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << 4) - 1)))->BaseType}{*this,view(fastQuals)}
- *this,view(fastQuals)
- *((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << 4) - 1)))->BaseType
{Argument}
Argument
{*(clang::QualType *)&TypeOrValue.V,view(cpp)}
{(clang::TemplateArgument::ArgKind)TypeOrValue.Kind,en} template parameter: {*(clang::QualType *)&TypeOrValue.V}
- *(clang::QualType *)&TypeOrValue.V
void
bool
char
unsigned char
wchar_t
char16_t
char32_t
unsigned short
unsigned int
unsigned long
unsigned long long
__uint128_t
char
signed char
wchar_t
short
int
long
long long
__int128_t
__fp16
float
double
long double
nullptr_t
{(clang::BuiltinType::Kind)BuiltinTypeBits.Kind, en}
- (clang::BuiltinType::Kind)BuiltinTypeBits.Kind
{((clang::TemplateArgument *)(this+1))[0],view(cpp)}{*this,view(arg1)}
, {((clang::TemplateArgument *)(this+1))[1],view(cpp)}{*this,view(arg2)}
, {((clang::TemplateArgument *)(this+1))[2],view(cpp)}{*this,view(arg3)}
{*((clang::TemplateDecl *)((Template.Storage.Val.Val.Value >> 2) << 2))->TemplatedDecl,view(cpp)}<{*this,view(arg0)}>
- Template.Storage
NumArgs
(clang::TemplateArgument *)(this+1)
{((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,sb}
- ((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,s
- (clang::tok::TokenKind)TokenID
Empty
{*(clang::IdentifierInfo *)(Ptr & ~PtrMask)}
{{Identifier ({*(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}
{{ObjC Zero Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}
{{ObjC One Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}
{*(clang::DeclarationNameExtra *)(Ptr & ~PtrMask),view(cpp)}
{{Extra ({*(clang::DeclarationNameExtra *)(Ptr & ~PtrMask)})}}
- *(clang::IdentifierInfo *)(Ptr & ~PtrMask)
- *(clang::IdentifierInfo *)(Ptr & ~PtrMask)
- *(clang::IdentifierInfo *)(Ptr & ~PtrMask)
- (clang::DeclarationNameExtra *)(Ptr & ~PtrMask)
{((clang::CXXSpecialName *)this)->Type,view(cpp)}
{(clang::DeclarationNameExtra::ExtraKind)ExtraKindOrNumArgs,en}{" ",sb}{*this,view(cpp)}
{(clang::tok::TokenKind)Kind,en}
{{Identifier ({*(clang::IdentifierInfo *)(PtrData)})}}
[{(clang::DeclSpec::SCS)StorageClassSpec}], [{(clang::TypeSpecifierType)TypeSpecType}]
{Name,s}
{Name,s}
{Name,s}
- (clang::StorageClass)SClass
- (clang::ThreadStorageClassSpecifier)TSCSpec
- (clang::VarDecl::InitializationStyle)InitStyle
{DeclType,view(cpp)} {Name,view(cpp)}
{*(DeclaratorDecl*)this,nd}
*(DeclaratorDecl*)this,nd
- VarDeclBits
{*(VarDecl*)this,nd}
- ParmVarDeclBits
*(VarDecl*)this,nd
{*(clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType,view(retType)}
{*ParamInfo[0]}{*this,view(parm1)nd}
, {*ParamInfo[1]}{*this,view(parm2)nd}
, {*ParamInfo[2]}{*this,view(parm3)nd}
, {*ParamInfo[3]}{*this,view(parm4)nd}
, {*ParamInfo[4]}{*this,view(parm5)nd}
, /* expand for more params */
{*this,view(retType)nd} {Name,view(cpp)nd}({*this,view(parm0)nd})
- *this,view(retType)nd
{*this,view(parm0)nd}
((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->NumParams
ParamInfo
*(clang::Type *)this, view(cmn)
{($T1 *)Ptr
($T1 *)Ptr
{*((NamedDecl **)(this+1))[0],view(cpp)}{*this,view(parm1)}
, {*((NamedDecl **)(this+1))[1],view(cpp)}{*this,view(parm2)}
, {*((NamedDecl **)(this+1))[2],view(cpp)}{*this,view(parm3)}
, {*((NamedDecl **)(this+1))[3],view(cpp)}{*this,view(parm4)}
, {*((NamedDecl **)(this+1))[4],view(cpp)}{*this,view(parm5)}
, /* Expand for more params */
<{*this,view(parm0)}>
NumParams
(NamedDecl **)(this+1)