containing all the gory details.\r
"cpp": Only occasionally used when we need to distinguish between an ordinary view and a C++-like view.\r
-->\r
+ <DisplayString IncludeView="cmn" Condition="TypeBits.TC==clang::LocInfoType::LocInfo">LocInfoType</DisplayString>\r
<DisplayString IncludeView="cmn">{(clang::Type::TypeClass)TypeBits.TC, en}Type</DisplayString>\r
<!-- Dispatch to visualizers for the actual Type subclass -->\r
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::Builtin" IncludeView="poly">{*(clang::BuiltinType *)this}</DisplayString>\r
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::FunctionProto" IncludeView="poly">{*(clang::FunctionProtoType *)this}</DisplayString>\r
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::TemplateSpecialization" IncludeView="poly">{*(clang::TemplateSpecializationType *)this}</DisplayString>\r
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::InjectedClassName" IncludeView="poly">{*(clang::InjectedClassNameType *)this}</DisplayString>\r
+ <DisplayString Condition="TypeBits.TC==clang::LocInfoType::LocInfo" IncludeView="poly">{*(clang::LocInfoType *)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>{*this,view(cmn)} {{{*this,view(poly)}}}</DisplayString>\r
<ExpandedItem ExcludeView="cmn" Condition="TypeBits.TC==clang::Type::TypeClass::FunctionProto">(clang::FunctionProtoType *)this</ExpandedItem>\r
<ExpandedItem ExcludeView="cmn" Condition="TypeBits.TC==clang::Type::TypeClass::TemplateSpecialization">(clang::TemplateSpecializationType *)this</ExpandedItem>\r
<ExpandedItem ExcludeView="cmn" Condition="TypeBits.TC==clang::Type::TypeClass::InjectedClassName">(clang::InjectedClassNameType *)this</ExpandedItem>\r
+ <ExpandedItem ExcludeView="cmn" Condition="TypeBits.TC==clang::LocInfoType::LocInfo">(clang::LocInfoType *)this</ExpandedItem>\r
</Expand>\r
</Type>\r
<Type Name="clang::PointerType">\r
<Item Name="BaseType">*((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << 4) - 1)))->BaseType</Item>\r
</Expand>\r
</Type>\r
+ <Type Name="clang::LocInfoType">\r
+ <DisplayString>{*DeclInfo}</DisplayString>\r
+ <Expand>\r
+ <Item Name="DeclInfo">DeclInfo</Item>\r
+ <ExpandedItem>*(clang::Type *)this, view(cmn)</ExpandedItem>\r
+ </Expand>\r
+ </Type>\r
+ <Type Name="clang::TypeSourceInfo">\r
+ <DisplayString>{Ty}</DisplayString>\r
+ </Type>\r
<Type Name="clang::TemplateArgumentLoc">\r
<DisplayString>{Argument}</DisplayString>\r
<Expand>\r
<DisplayString Condition="ResultKind == clang::LookupResult::Ambiguous">{Ambiguity,en}: {Decls}</DisplayString>\r
<DisplayString>{ResultKind,en}: {Decls}</DisplayString>\r
</Type>\r
+ <Type Name="clang::ActionResult<*>" IncludeView="packedValidity">\r
+ <DisplayString Condition="PtrWithInvalid&1">Invalid</DisplayString>\r
+ <DisplayString Condition="!(PtrWithInvalid&1)">Valid</DisplayString>\r
+ </Type>\r
+ <Type Name="clang::ActionResult<*>" IncludeView="unpackedValidity">\r
+ <DisplayString Condition="Invalid">Invalid</DisplayString>\r
+ <DisplayString Condition="!Invalid">Valid</DisplayString>\r
+ </Type>\r
+ <Type Name="clang::ActionResult<*>" IncludeView="packed">\r
+ <DisplayString>{*this,view(packedValidity)}: {($T1 *)(PtrWithInvalid&~1)}</DisplayString>\r
+ <Expand>\r
+ <Item Name="Invalid">(bool)(PtrWithInvalid&1)</Item>\r
+ <Item Name="Val">($T1 *)(PtrWithInvalid&~1)</Item>\r
+ </Expand>\r
+ </Type>\r
+ <Type Name="clang::ActionResult<*>" IncludeView="unpacked">\r
+ <DisplayString>{*this,view(unpackedValidity)}: {Val}</DisplayString>\r
+ </Type>\r
+ <Type Name="clang::ActionResult<*>">\r
+ <DisplayString Condition="$T2">{*this,view(packed)}</DisplayString>\r
+ <DisplayString Condition="!$T2">{*this,view(unpacked)}</DisplayString>\r
+ <Expand>\r
+ <ExpandedItem Condition="$T2">*this,view(packed)</ExpandedItem>\r
+ <ExpandedItem Condition="!$T2">*this,view(unpacked)</ExpandedItem>\r
+ </Expand>\r
+ </Type>\r
</AutoVisualizer>\r