<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::TemplateTypeParm" IncludeView="poly">{*(clang::TemplateTypeParmType *)this}</DisplayString>\r
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::SubstTemplateTypeParm" IncludeView="poly">{*(clang::SubstTemplateTypeParmType *)this}</DisplayString>\r
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::Record" IncludeView="poly">{*(clang::RecordType *)this}</DisplayString>\r
+ <DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::Record" IncludeView="cpp">{*(clang::RecordType *)this,view(cpp)}</DisplayString>\r
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::FunctionProto" IncludeView="poly">{*(clang::FunctionProtoType *)this}</DisplayString>\r
<DisplayString IncludeView="cpp">{*this,view(poly)}</DisplayString>\r
<DisplayString IncludeView="poly">{*this,view(cmn)}"</DisplayString> <!-- Not yet implemented Type subclass -->\r
<DisplayString>{(clang::Decl::Kind)DeclKind,en}Decl</DisplayString>\r
<Expand>\r
<Item Name="DeclKind">(clang::Decl::Kind)DeclKind,en</Item>\r
- <LinkedListItems>\r
- <HeadPointer>FirstDecl</HeadPointer>\r
- <NextPointer>(clang::Decl *)(NextInContextAndBits.Value & ~3)</NextPointer>\r
- <ValueNode>*this</ValueNode>\r
- </LinkedListItems>\r
+ <Synthetic Name="Members">\r
+ <DisplayString></DisplayString>\r
+ <Expand>\r
+ <LinkedListItems>\r
+ <HeadPointer>FirstDecl</HeadPointer>\r
+ <NextPointer>(clang::Decl *)(NextInContextAndBits.Value & ~3)</NextPointer>\r
+ <ValueNode>*this</ValueNode>\r
+ </LinkedListItems>\r
+ </Expand>\r
+ </Synthetic>\r
</Expand>\r
</Type>\r
<Type Name="clang::FieldDecl">\r
<DisplayString>Field {{{*(clang::NamedDecl *)this,view(cpp)nd}}}</DisplayString>\r
</Type>\r
<Type Name="clang::CXXMethodDecl">\r
- <DisplayString>Method {{{*(clang::NamedDecl *)this,view(cpp)nd}}}</DisplayString>\r
+ <DisplayString IncludeView="cpp">{*(clang::FunctionDecl *)this,nd}</DisplayString>\r
+ <DisplayString>Method {{{*this,view(cpp)}}}</DisplayString>\r
</Type>\r
<Type Name="clang::CXXConstructorDecl">\r
- <DisplayString>Constructor {{{*(clang::NamedDecl *)this,view(cpp)nd}}}</DisplayString>\r
+ <DisplayString>Constructor {{{Name,view(cpp)}({*(clang::FunctionDecl *)this,view(parm0)nd})}}</DisplayString>\r
</Type>\r
<Type Name="clang::CXXDestructorDecl">\r
- <DisplayString>Destructor {{{*(clang::NamedDecl *)this,view(cpp)nd}}}</DisplayString>\r
+ <DisplayString>Destructor {{~{Name,view(cpp)}()}}</DisplayString>\r
</Type>\r
<Type Name="clang::NamedDecl" >\r
<DisplayString IncludeView="cpp">{Name,view(cpp)}</DisplayString>\r
<DisplayString>{Name}</DisplayString>\r
</Type>\r
<Type Name="clang::TagDecl">\r
- <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Struct">struct {Name,view(cpp)}</DisplayString>\r
- <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Interface">interface {Name,view(cpp)}</DisplayString>\r
- <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Union">union {Name,view(cpp)}</DisplayString>\r
- <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Class">class {Name,view(cpp)}</DisplayString>\r
- <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Enum">enum {Name,view(cpp)}</DisplayString>\r
+ <DisplayString IncludeView="implicit" Condition="Implicit">implicit{" ",sb}</DisplayString>\r
+ <DisplayString IncludeView="implicit"></DisplayString>\r
+ <DisplayString IncludeView="modifiers">{*this,view(implicit)}</DisplayString>\r
+ <DisplayString IncludeView="cpp">{*this,view(modifiers)}{Name,view(cpp)}</DisplayString>\r
+ <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Struct">{*this,view(modifiers)}struct {Name,view(cpp)}</DisplayString>\r
+ <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Interface">{*this,view(modifiers)}interface {Name,view(cpp)}</DisplayString>\r
+ <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Union">{*this,view(modifiers)}union {Name,view(cpp)}</DisplayString>\r
+ <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Class">{*this,view(modifiers)}class {Name,view(cpp)}</DisplayString>\r
+ <DisplayString Condition="TagDeclKind==clang::TagTypeKind::TTK_Enum">{*this,view(modifiers)}enum {Name,view(cpp)}</DisplayString>\r
<Expand>\r
<ExpandedItem>(clang::DeclContext *)this</ExpandedItem>\r
</Expand>\r
</Type>\r
<Type Name="clang::TagType">\r
+ <DisplayString IncludeView="cpp">{*decl,view(cpp)}</DisplayString>\r
<DisplayString>{*decl}</DisplayString>\r
<Expand>\r
<ExpandedItem>*(clang::Type *)this, view(cmn)</ExpandedItem>\r
</Expand>\r
</Type>\r
<Type Name="clang::RecordType">\r
+ <DisplayString IncludeView="cpp">{*(clang::TagType *)this,view(cpp)}</DisplayString>\r
<DisplayString>{*(clang::TagType *)this}</DisplayString>\r
<Expand>\r
<Item Name="TagType">*(clang::TagType *)this</Item>\r
<DisplayString Condition="(Ptr & PtrMask) == StoredIdentifier">{{Identifier ({*(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString>\r
<DisplayString Condition="(Ptr & PtrMask) == StoredObjCZeroArgSelector">{{ObjC Zero Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString>\r
<DisplayString Condition="(Ptr & PtrMask) == StoredObjCOneArgSelector">{{ObjC One Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString>\r
- <DisplayString Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra">{{Extra ({(clang::DeclarationNameExtra::ExtraKind)((clang::DeclarationNameExtra *)(Ptr & ~PtrMask))->ExtraKindOrNumArgs})}}</DisplayString>\r
+ <DisplayString Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra"\r
+ IncludeView="cpp">{*(clang::DeclarationNameExtra *)(Ptr & ~PtrMask),view(cpp)}</DisplayString>\r
+ <DisplayString Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra">{{Extra ({*(clang::DeclarationNameExtra *)(Ptr & ~PtrMask)})}}</DisplayString>\r
<Expand>\r
<Item Condition="(Ptr & PtrMask) == StoredIdentifier" Name="[Identifier]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item>\r
<Item Condition="(Ptr & PtrMask) == StoredObjCZeroArgSelector" Name="[ObjC Zero Arg Selector]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item>\r
<Item Condition="(Ptr & PtrMask) == StoredObjCOneArgSelector" Name="[ObjC One Arg Selector]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item>\r
- <Item Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra" Name="[Extra]">(clang::DeclarationNameExtra::ExtraKind)((clang::DeclarationNameExtra *)(Ptr & ~PtrMask))->ExtraKindOrNumArgs</Item>\r
+ <Item Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra" Name="[Extra]">(clang::DeclarationNameExtra *)(Ptr & ~PtrMask)</Item>\r
</Expand>\r
</Type>\r
+ <Type Name="clang::DeclarationNameExtra">\r
+ <DisplayString IncludeView="cpp"\r
+ Condition="ExtraKindOrNumArgs >= clang::DeclarationNameExtra::CXXConstructor \r
+ && ExtraKindOrNumArgs <= clang::DeclarationNameExtra::CXXConversionFunction"\r
+ >{((clang::CXXSpecialName *)this)->Type,view(cpp)}</DisplayString>\r
+ <DisplayString>{(clang::DeclarationNameExtra::ExtraKind)ExtraKindOrNumArgs,en}{" ",sb}{*this,view(cpp)}</DisplayString>\r
+ </Type>\r
<Type Name="clang::Token">\r
<DisplayString Condition="Kind != clang::tok::identifier">{(clang::tok::TokenKind)Kind,en}</DisplayString>\r
<DisplayString Condition="Kind == clang::tok::identifier">{{Identifier ({*(clang::IdentifierInfo *)(PtrData)})}}</DisplayString>\r
<Type Name="clang::FunctionDecl">\r
<DisplayString IncludeView="retType">{*(clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType,view(retType)}</DisplayString>\r
<DisplayString IncludeView="parm0" Condition="0 == ((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->NumParams"></DisplayString>\r
- <DisplayString IncludeView="parm0">{*ParamInfo[0]}{*this,view(parm1)}</DisplayString>\r
+ <DisplayString IncludeView="parm0">{*ParamInfo[0]}{*this,view(parm1)nd}</DisplayString>\r
<DisplayString IncludeView="parm1" Condition="1 == ((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->NumParams"></DisplayString>\r
- <DisplayString IncludeView="parm1">, {*ParamInfo[1]}{*this,view(parm2)}</DisplayString>\r
+ <DisplayString IncludeView="parm1">, {*ParamInfo[1]}{*this,view(parm2)nd}</DisplayString>\r
<DisplayString IncludeView="parm2" Condition="2 == ((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->NumParams"></DisplayString>\r
- <DisplayString IncludeView="parm2">, {*ParamInfo[2]}{*this,view(parm3)}</DisplayString>\r
+ <DisplayString IncludeView="parm2">, {*ParamInfo[2]}{*this,view(parm3)nd}</DisplayString>\r
<DisplayString IncludeView="parm3" Condition="3 == ((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->NumParams"></DisplayString>\r
- <DisplayString IncludeView="parm3">, {*ParamInfo[3]}{*this,view(parm4)}</DisplayString>\r
+ <DisplayString IncludeView="parm3">, {*ParamInfo[3]}{*this,view(parm4)nd}</DisplayString>\r
<DisplayString IncludeView="parm4" Condition="4 == ((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->NumParams"></DisplayString>\r
- <DisplayString IncludeView="parm4">, {*ParamInfo[4]}{*this,view(parm5)}</DisplayString>\r
+ <DisplayString IncludeView="parm4">, {*ParamInfo[4]}{*this,view(parm5)nd}</DisplayString>\r
<DisplayString IncludeView="parm5" Condition="5 == ((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->NumParams"></DisplayString>\r
<DisplayString IncludeView="parm5">, /* expand for more params */</DisplayString>\r
- <DisplayString>{*this,view(retType)} {Name,view(cpp)}({*this,view(parm0)})</DisplayString>\r
+ <DisplayString>{*this,view(retType)nd} {Name,view(cpp)nd}({*this,view(parm0)nd})</DisplayString>\r
<Expand>\r
- <Item Name="ReturnType">*this,view(retType)</Item>\r
+ <Item Name="ReturnType">*this,view(retType)nd</Item>\r
<Synthetic Name="Parameter Types">\r
- <DisplayString>{*this,view(parm0)}</DisplayString>\r
+ <DisplayString>{*this,view(parm0)nd}</DisplayString>\r
<Expand>\r
<ArrayItems>\r
<Size>((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->NumParams</Size>\r