office-gobmx/solenv/vs/LibreOffice.natvis
Mike Kaganski 0fe6044d29 Remove useless and wrong mask; it turns signed short into unsigned
Change-Id: I8d428517cd2e9d3155a4aac513538aeb32065b4d
Reviewed-on: https://gerrit.libreoffice.org/81027
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-10-18 13:11:40 +02:00

479 lines
22 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
-->
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="rtl::OUString">
<DisplayString>{*pData}</DisplayString>
<StringView>*pData,su</StringView>
</Type>
<Type Name="rtl::OString">
<DisplayString>{*pData}</DisplayString>
<StringView>*pData,s</StringView>
</Type>
<Type Name="_rtl_uString">
<DisplayString Condition="length == 0">empty</DisplayString>
<DisplayString>{buffer,[length]su}</DisplayString>
<StringView>buffer,[length]su</StringView>
</Type>
<Type Name="_rtl_String">
<DisplayString Condition="length == 0">empty</DisplayString>
<DisplayString>{buffer,[length]s}</DisplayString>
<StringView>buffer,[length]s</StringView>
</Type>
<Type Name="_uno_Any">
<!--
typelib_TypeClass_VOID = 0,
typelib_TypeClass_TYPEDEF = 16,
typelib_TypeClass_STRUCT = 17,
typelib_TypeClass_UNION = 18,/** Deprecated, UNOIDL does not have a union concept.*/
typelib_TypeClass_ARRAY = 21,/** Deprecated, UNOIDL does not have an array concept.*/
typelib_TypeClass_SERVICE = 23,/** (not implemented) */
typelib_TypeClass_MODULE = 24,/** (not implemented) */
typelib_TypeClass_INTERFACE_METHOD = 25,
typelib_TypeClass_INTERFACE_ATTRIBUTE = 26,
typelib_TypeClass_UNKNOWN = 27,
typelib_TypeClass_PROPERTY = 28,
typelib_TypeClass_CONSTANT = 29,
typelib_TypeClass_CONSTANTS = 30,
typelib_TypeClass_SINGLETON = 31,
-->
<DisplayString Condition="pType->eTypeClass == 1" >{*((wchar_t*)pData),c} (CHAR)</DisplayString><!-- typelib_TypeClass_CHAR -->
<DisplayString Condition="pType->eTypeClass == 2" >{*((bool*)pData),d} (BOOLEAN)</DisplayString><!-- typelib_TypeClass_BOOLEAN -->
<DisplayString Condition="pType->eTypeClass == 3" >{*((unsigned char*)pData),d} (BYTE)</DisplayString><!-- typelib_TypeClass_BYTE -->
<DisplayString Condition="pType->eTypeClass == 4" >{*((short*)pData),d} (SHORT)</DisplayString><!-- typelib_TypeClass_SHORT -->
<DisplayString Condition="pType->eTypeClass == 5" >{*((unsigned short*)pData),d} (UNSIGNED_SHORT)</DisplayString><!-- typelib_TypeClass_UNSIGNED_SHORT -->
<DisplayString Condition="pType->eTypeClass == 6" >{*((int*)pData),d} (LONG)</DisplayString><!-- typelib_TypeClass_LONG -->
<DisplayString Condition="pType->eTypeClass == 7" >{*((unsigned int*)pData),d} (UNSIGNED_LONG)</DisplayString><!-- typelib_TypeClass_UNSIGNED_LONG -->
<DisplayString Condition="pType->eTypeClass == 8" >{*((__int64*)pData),d} (HYPER)</DisplayString><!-- typelib_TypeClass_HYPER -->
<DisplayString Condition="pType->eTypeClass == 9" >{*((unsigned __int64*)pData),d} (UNSIGNED_HYPER)</DisplayString><!-- typelib_TypeClass_UNSIGNED_HYPER -->
<DisplayString Condition="pType->eTypeClass == 10">{*((float*)pData)} (FLOAT)</DisplayString><!-- typelib_TypeClass_FLOAT -->
<DisplayString Condition="pType->eTypeClass == 11">{*((double*)pData)} (DOUBLE)</DisplayString><!-- typelib_TypeClass_DOUBLE -->
<DisplayString Condition="pType->eTypeClass == 12">{*((rtl::OUString*)pData)} (STRING)</DisplayString><!-- typelib_TypeClass_STRING -->
<DisplayString Condition="pType->eTypeClass == 13">{*((com::sun::star::uno::Type*)pData)} (TYPE)</DisplayString><!-- typelib_TypeClass_TYPE -->
<DisplayString Condition="pType->eTypeClass == 14">{*((_uno_Any*)pData)} (ANY)</DisplayString><!-- typelib_TypeClass_ANY -->
<DisplayString Condition="pType->eTypeClass == 15">{*((sal_Int32*)pData),d} (ENUM)</DisplayString><!-- typelib_TypeClass_ENUM -->
<DisplayString Condition="pType->eTypeClass == 19">{*((com::sun::star::uno::Exception *)pData)} (EXCEPTION)</DisplayString><!-- typelib_TypeClass_EXCEPTION -->
<DisplayString Condition="pType->eTypeClass == 20">{*((uno_Sequence **)pData)} (SEQUENCE)</DisplayString><!-- typelib_TypeClass_SEQUENCE -->
<DisplayString Condition="pType->eTypeClass == 22">{*((com::sun::star::uno::BaseReference *)pData)} (INTERFACE)</DisplayString><!-- typelib_TypeClass_INTERFACE -->
<DisplayString>{pType->eTypeClass,en}</DisplayString>
<Expand>
<ExpandedItem Condition="pType->eTypeClass == 19">(com::sun::star::uno::Exception *)pData</ExpandedItem>
<ExpandedItem Condition="pType->eTypeClass == 20">*(uno_Sequence **)pData</ExpandedItem>
<ExpandedItem Condition="pType->eTypeClass == 22">(com::sun::star::uno::BaseReference *)pData</ExpandedItem>
<Item Name="Data" Condition="pType->eTypeClass != 19 &amp;&amp; pType->eTypeClass != 20 &amp;&amp; pType->eTypeClass != 22">pData</Item>
</Expand>
</Type>
<Type Name="basegfx::internal::ImplMatLine &lt; 3 &gt;">
<DisplayString>{mfValue[0]}, {mfValue[1]}, {mfValue[2]}</DisplayString>
</Type>
<Type Name="basegfx::internal::ImplHomMatrixTemplate &lt; 3 &gt;">
<DisplayString>{{{maLine[0]}}}, {{{maLine[1]}}}, {mpLine}</DisplayString>
</Type>
<Type Name="o3tl::cow_wrapper &lt; basegfx::Impl2DHomMatrix,o3tl::UnsafeRefCountingPolicy &gt;::impl_t">
<DisplayString>{m_value}</DisplayString>
</Type>
<Type Name="o3tl::cow_wrapper &lt; basegfx::Impl2DHomMatrix,o3tl::UnsafeRefCountingPolicy &gt;">
<DisplayString>{m_pimpl}</DisplayString>
</Type>
<Type Name="basegfx::B2DHomMatrix">
<DisplayString>{mpImpl}</DisplayString>
</Type>
<Type Name="Point">
<DisplayString>X:{nA}, Y:{nB}</DisplayString>
</Type>
<Type Name="Size">
<DisplayString>W:{nA}, H:{nB}</DisplayString>
</Type>
<Type Name="Range">
<DisplayString>Min:{nA}, Max:{nB}</DisplayString>
</Type>
<Type Name="Selection">
<DisplayString>Min:{nA}, Max:{nB}</DisplayString>
</Type>
<Type Name="Pair">
<DisplayString>A:{nA}, B:{nB}</DisplayString>
</Type>
<Type Name="SwRect">
<DisplayString>{m_Point}, {m_Size}</DisplayString>
</Type>
<Type Name="tools::Rectangle">
<DisplayString IncludeView="w">{nRight==-32767?0:(nRight-nLeft+(nLeft>nRight?(-1):(1)))}</DisplayString>
<DisplayString IncludeView="h">{nBottom==-32767?0:(nBottom-nTop+(nTop>nBottom?(-1):(1)))}</DisplayString>
<DisplayString IncludeView="sz" Condition="nRight==-32767 || nBottom==-32767">empty</DisplayString>
<DisplayString IncludeView="sz">{*this,view(w)nd} x {*this,view(h)nd}</DisplayString>
<DisplayString>{{ LT=[{nLeft} , {nTop}] RB=[{nRight} , {nBottom}] [{*this,view(sz)}] }}</DisplayString>
</Type>
<Type Name="_sal_Sequence">
<DisplayString Condition="nElements == 0">_sal_Sequence (empty)</DisplayString>
<DisplayString>_sal_Sequence of {nElements,d} elements</DisplayString>
</Type>
<Type Name="com::sun::star::uno::Sequence &lt; signed char &gt;">
<DisplayString Condition="_pSequence->nElements == 0">Sequence (empty)</DisplayString>
<DisplayString>Sequence of {_pSequence->nElements,d} signed char</DisplayString>
<Expand>
<ArrayItems>
<Size>_pSequence->nElements</Size>
<ValuePointer>reinterpret_cast &lt; const char* &gt;( _pSequence->elements )</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="com::sun::star::uno::Sequence &lt; * &gt;">
<DisplayString Condition="_pSequence->nElements == 0">Sequence (empty)</DisplayString>
<DisplayString>Sequence of {_pSequence->nElements,d} {"$T1",sb}</DisplayString>
<Expand>
<ArrayItems>
<Size>_pSequence->nElements</Size>
<ValuePointer>reinterpret_cast &lt; const $T1 * &gt;( _pSequence->elements )</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="BigPtrArray">
<DisplayString>{{{m_nSize,d} nodes}}</DisplayString>
<Expand>
<CustomListItems>
<!-- Visualiser needs to know the type of variable (including pointer type).
If later we try to assign an incompatible value, visualiser will error out.
For pointers, valid syntax is e.g. "(BlockInfo*)nullptr" -->
<Variable Name="blocks" InitialValue="m_ppInf._Mypair._Myval2"/>
<Variable Name="count" InitialValue="m_nSize"/>
<Variable Name="pos" InitialValue="0"/>
<Variable Name="block_count" InitialValue="m_nBlock"/>
<Variable Name="block_pos" InitialValue="0"/>
<Variable Name="block" InitialValue="blocks[0]"/>
<Variable Name="next_block" InitialValue="block"/>
<Size>m_nSize</Size>
<Break Condition="block_pos &gt;= block_count"/>
<Break Condition="block == nullptr"/>
<Break Condition="block-&gt;nStart != 0"/>
<Break Condition="block-&gt;nEnd - block-&gt;nStart + 1 != block-&gt;nElem"/>
<Loop>
<Break Condition="pos &gt;= count"/>
<Item>*block-&gt;mvData._Elems[ pos - block-&gt;nStart ]</Item>
<If Condition="pos == block-&gt;nEnd">
<Exec>block_pos++</Exec>
<Break Condition="block_pos &gt;= block_count"/>
<Exec>next_block = blocks[block_pos]</Exec>
<Break Condition="next_block == nullptr"/>
<Break Condition="next_block-&gt;nEnd - next_block-&gt;nStart + 1 != next_block-&gt;nElem"/>
<Break Condition="next_block-&gt;nStart != block-&gt;nEnd + 1"/>
<Break Condition="next_block-&gt;nEnd &lt;= count"/>
<Exec>block = next_block</Exec>
</If>
<Exec>pos++</Exec>
</Loop>
</CustomListItems>
</Expand>
</Type>
<Type Name="SwNode">
<DisplayString IncludeView="No">[{m_pBlock->nStart + m_nOffset,d}]</DisplayString>
<DisplayString IncludeView="Name">Node</DisplayString>
<DisplayString>{*this,view(No)nd} {{{*this,view(Name)}}}</DisplayString>
<Expand>
<Item Name="No">m_pBlock->nStart + m_nOffset,d</Item>
<Item Name="Nodes">static_cast &lt; SwNodes* &gt;(m_pBlock->pBigArr)</Item>
</Expand>
</Type>
<Type Name="SwEndNode">
<DisplayString IncludeView="For" Condition="m_pStartOfSection != nullptr">- for {*(SwNode*)m_pStartOfSection,view(No)nd}</DisplayString>
<DisplayString IncludeView="For"/>
<DisplayString IncludeView="Name">EndNode</DisplayString>
<DisplayString>{*(SwNode*)this,nd} {*this,view(For)nd}</DisplayString>
</Type>
<Type Name="SwStartNode">
<DisplayString IncludeView="Till">- till {*(SwNode*)m_pEndOfSection,view(No)nd}</DisplayString>
<DisplayString IncludeView="Name" Condition="m_eStartNodeType == 0">NormalStartNode</DisplayString>
<DisplayString IncludeView="Name" Condition="m_eStartNodeType == 1">TableBoxStartNode</DisplayString>
<DisplayString IncludeView="Name" Condition="m_eStartNodeType == 2">FlyStartNode</DisplayString>
<DisplayString IncludeView="Name" Condition="m_eStartNodeType == 3">FootnoteStartNode</DisplayString>
<DisplayString IncludeView="Name" Condition="m_eStartNodeType == 4">HeaderStartNode</DisplayString>
<DisplayString IncludeView="Name" Condition="m_eStartNodeType == 5">FooterStartNode</DisplayString>
<DisplayString IncludeView="Name">StartNode {m_nNodeType,en}</DisplayString>
<DisplayString>{*(SwNode*)this,nd} {*this,view(Till)nd}</DisplayString>
</Type>
<Type Name="SwContentNode">
<DisplayString IncludeView="Name">ContentNode</DisplayString>
<DisplayString>{*(SwNode*)this,nd}</DisplayString>
</Type>
<Type Name="SwOLENode">
<DisplayString IncludeView="Name">OLENode</DisplayString>
<DisplayString>{*(SwNode*)this,nd}</DisplayString>
</Type>
<Type Name="SwGrfNode">
<DisplayString IncludeView="Name">GrfNode</DisplayString>
<DisplayString>{*(SwNode*)this,nd}</DisplayString>
</Type>
<Type Name="SwSectionNode">
<DisplayString IncludeView="Name">SectionNode</DisplayString>
<DisplayString>{*(SwStartNode*)this,nd}</DisplayString>
</Type>
<Type Name="SwTableNode">
<DisplayString IncludeView="Name">TableNode</DisplayString>
<DisplayString>{*(SwStartNode*)this,nd}</DisplayString>
</Type>
<Type Name="SwDummySectionNode">
<DisplayString IncludeView="Name">DummySectionNode</DisplayString>
<DisplayString>{*(SwNode*)this,nd}</DisplayString>
</Type>
<Type Name="SwTextNode">
<DisplayString IncludeView="Name">TextNode: {m_Text}</DisplayString>
<DisplayString>{*(SwNode*)this,nd}</DisplayString>
</Type>
<Type Name="SwNodeIndex">
<DisplayString>{{{*m_pNode}}}</DisplayString>
</Type>
<Type Name="SwIndex">
<DisplayString>{{{m_nIndex}}}</DisplayString>
</Type>
<Type Name="SwPosition">
<DisplayString>{{Node: {nNode} Content: {nContent}}}</DisplayString>
</Type>
<Type Name="SwPaM">
<DisplayString>{{Point: {*m_pPoint} Mark: {*m_pMark}}}</DisplayString>
</Type>
<Type Name="SwFrameFormats">
<DisplayString Condition="m_Array.node_count == 0">empty</DisplayString>
<DisplayString>Size: {m_Array.node_count}</DisplayString>
<Expand>
<IndexListItems>
<Size>m_Array.node_count</Size>
<ValueNode>**reinterpret_cast &lt; value_type* &gt; (&amp;static_cast &lt; ByPos::node_type* &gt; (static_cast &lt; ByPos::node_type::trampoline* &gt; (m_PosIndex.ptrs.spc.data_[$i]))->space)</ValueNode>
</IndexListItems>
</Expand>
</Type>
<Type Name="SwFormat">
<DisplayString>Format: "{m_aFormatName,sub}"</DisplayString>
</Type>
<Type Name="com::sun::star::uno::BaseReference">
<DisplayString Condition="_pInterface == nullptr">empty</DisplayString>
<DisplayString>{{{_pInterface}}}</DisplayString>
</Type>
<Type Name="com::sun::star::uno::Reference &lt; * &gt;">
<DisplayString Condition="_pInterface == nullptr">empty</DisplayString>
<DisplayString>{{{reinterpret_cast &lt; $T1 * &gt;(_pInterface)}}}</DisplayString>
<Expand>
<ExpandedItem>reinterpret_cast &lt; $T1 * &gt;(_pInterface)</ExpandedItem>
</Expand>
</Type>
<Type Name="rtl::Reference &lt; * &gt;">
<DisplayString Condition="m_pBody == nullptr">empty</DisplayString>
<DisplayString>{{{reinterpret_cast &lt; $T1 * &gt;(m_pBody)}}}</DisplayString>
<Expand>
<ExpandedItem>reinterpret_cast &lt; $T1 * &gt;(m_pBody)</ExpandedItem>
</Expand>
</Type>
<Type Name="VclPtr &lt; * &gt;">
<DisplayString>{m_rInnerRef}</DisplayString>
<Expand>
<ExpandedItem>m_rInnerRef</ExpandedItem>
</Expand>
</Type>
<Type Name="com::sun::star::uno::Type">
<DisplayString>{_pType->eTypeClass,en}</DisplayString>
<Expand>
<Item Name="Type Class">_pType->eTypeClass,en</Item>
<Item Name="Type Name">_pType->pTypeName</Item>
<Item Condition="_pType->pType != nullptr" Name="Size">_pType->pType->nSize</Item>
<Item Condition="_pType->pType != nullptr" Name="Alignment">_pType->pType->nAlignment</Item>
</Expand>
</Type>
<Type Name="SfxBoolItem">
<DisplayString>{{which={m_nWhich,x}}} {m_bValue}</DisplayString>
</Type>
<Type Name="SfxEnumItem &lt; * &gt;">
<DisplayString>{{which={m_nWhich,x}}} {m_nValue}</DisplayString>
</Type>
<Type Name="CntUnencodedStringItem">
<DisplayString>{{which={m_nWhich,x}}} {m_aValue}</DisplayString>
</Type>
<Type Name="SfxUnoAnyItem">
<DisplayString>{{which={m_nWhich,x}}} {aValue}</DisplayString>
</Type>
<Type Name="SvxFontItem">
<DisplayString>{{which={m_nWhich,x}}} Font family: {aFamilyName,sub}</DisplayString>
</Type>
<Type Name="SfxInt16Item">
<DisplayString>{{which={m_nWhich,x}}} Int16: {m_nValue}</DisplayString>
</Type>
<Type Name="CntUInt16Item">
<DisplayString>{{which={m_nWhich,x}}} uInt16: {m_nValue}</DisplayString>
</Type>
<Type Name="CntByteItem">
<DisplayString>{{which={m_nWhich,x}}} uInt8: {m_nValue}</DisplayString>
</Type>
<Type Name="CntInt32Item">
<DisplayString>{{which={m_nWhich,x}}} Int32: {m_nValue}</DisplayString>
</Type>
<Type Name="CntUInt32Item">
<DisplayString>{{which={m_nWhich,x}}} uInt32: {m_nValue}</DisplayString>
</Type>
<Type Name="SfxGrabBagItem">
<DisplayString>
{{which={m_nWhich,x}}} GrabBag {{size={m_aMap._Mypair._Myval2._Myval2._Mysize,d}}}
</DisplayString>
<Expand>
<ExpandedItem>m_aMap</ExpandedItem>
</Expand>
</Type>
<Type Name="SfxPoolItem">
<DisplayString>{{which={m_nWhich,x}}}</DisplayString>
</Type>
<Type Name="SfxItemSet">
<DisplayString>{{size={m_nCount,d}}}</DisplayString>
<Expand>
<CustomListItems>
<Variable Name='pCurItem' InitialValue='m_pItems._Mypair._Myval2'/>
<Variable Name='pCurRange' InitialValue='m_pWhichRanges'/>
<Variable Name='nCurWhich' InitialValue='0'/>
<Loop Condition='*pCurRange'>
<Exec>nCurWhich = *pCurRange</Exec>
<Loop Condition='nCurWhich&lt;=*(pCurRange+1)'>
<Item Condition='*pCurItem'>**pCurItem</Item>
<Exec>++pCurItem</Exec>
<Exec>++nCurWhich</Exec>
</Loop>
<Exec>pCurRange+=2</Exec>
</Loop>
</CustomListItems>
<Synthetic Name="Which Ranges">
<Expand>
<CustomListItems>
<Variable Name='pCurRange' InitialValue='m_pWhichRanges'/>
<Variable Name='i' InitialValue='0'/>
<Loop Condition='*pCurRange'>
<Item Name='[{i,d}] begin'>*pCurRange</Item>
<Item Name='[{i,d}] end'>*(pCurRange+1)</Item>
<Exec>pCurRange+=2</Exec>
<Exec>++i</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
<Item Condition="m_pParent != nullptr" Name="Parent">*m_pParent</Item>
</Expand>
</Type>
<Type Name="sax_fastparser::FastAttributeList">
<DisplayString>{{size={maAttributeTokens.size(),d}}}</DisplayString>
<Expand>
<CustomListItems>
<Variable Name='i' InitialValue='0'/>
<Loop Condition='i &lt; maAttributeTokens.size()'>
<Item Name='{maAttributeTokens[i],x}'>mpChunk + maAttributeValues[i]</Item>
<Exec>++i</Exec>
</Loop>
</CustomListItems>
</Expand>
</Type>
<Type Name='writerfilter::ooxml::OOXMLProperty'>
<DisplayString>{meType,en} {mId,d}: {*mpValue}</DisplayString>
<Expand HideRawView='true'>
<Item Name='Type'>meType</Item>
<Item Name='Id'>mId,d</Item> <!-- see workdir/CustomTarget/writerfilter/source/ooxml/resourceids.hxx -->
<Item Name='Value'>*mpValue</Item>
</Expand>
</Type>
<Type Name='writerfilter::ooxml::OOXMLStringValue'>
<DisplayString>"{mStr,sub}"</DisplayString>
<StringView>mStr</StringView>
</Type>
<Type Name='writerfilter::ooxml::OOXMLBooleanValue'>
<DisplayString>{mbValue}</DisplayString>
</Type>
<Type Name='writerfilter::ooxml::OOXMLIntegerValue'>
<DisplayString>{mnValue}</DisplayString>
</Type>
<Type Name='writerfilter::ooxml::OOXMLNthPtMeasureValue&lt;*&gt;'>
<DisplayString>{mnValue,d}/{$T1,d}={mnValue*1.0/$T1,g} pt</DisplayString>
</Type>
<Type Name='writerfilter::ooxml::OOXMLPropertySetValue'>
<DisplayString>{{Property set size={mpPropertySet->mProperties.size(),d}}}</DisplayString>
<Expand>
<IndexListItems>
<Size>mpPropertySet->mProperties.size()</Size>
<ValueNode>*mpPropertySet->mProperties[$i]</ValueNode>
</IndexListItems>
</Expand>
</Type>
<Type Name='writerfilter::ooxml::OOXMLPropertySet'>
<DisplayString>{{{maType} {{size={mProperties.size(),d}}}}}</DisplayString>
<Expand HideRawView='true'>
<IndexListItems>
<Size>mProperties.size()</Size>
<ValueNode>*mProperties[$i]</ValueNode>
</IndexListItems>
<Item Name='Type'>maType</Item>
</Expand>
</Type>
<Type Name='SwFrame'>
<DisplayString IncludeView='min'>{mnFrameType,en} of {mpUpper->mnFrameType,en} {(void*)mpUpper}</DisplayString>
<DisplayString Condition='!mpUpper'>{{{mnFrameType,en}}}</DisplayString>
<DisplayString>{{{*this,view(min)}}}</DisplayString>
<Expand>
<Synthetic Name='Frame'>
<DisplayString>Area: {maFrameArea}; Print Area: {maFramePrintArea}</DisplayString>
<Expand>
<Item Name='Area'>maFrameArea</Item>
<Item Name='Print Area'>maFramePrintArea</Item>
</Expand>
</Synthetic>
<Item Name='Upper'>mpUpper</Item>
</Expand>
</Type>
<Type Name='SwLayoutFrame'>
<DisplayString>{(SwFrame&amp;)*this}</DisplayString>
<Expand>
<ExpandedItem>(SwFrame&amp;)(*this)</ExpandedItem>
<Synthetic Name='Lowers' Condition='m_pLower'>
<Expand>
<CustomListItems>
<Variable Name="pChild" InitialValue="m_pLower"/>
<Loop>
<Break Condition="!pChild"/>
<Item>pChild</Item>
<Exec>pChild = pChild->mpNext</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
</Expand>
</Type>
<Type Name="SwRowFrame">
<DisplayString Condition="m_bIsRepeatedHeadline">{{Headline {(SwFrame&amp;)*this,view(min)}}}</DisplayString>
<DisplayString>{(SwFrame&amp;)*this}</DisplayString>
<Expand>
<ExpandedItem>(SwLayoutFrame&amp;)(*this)</ExpandedItem>
</Expand>
</Type>
<Type Name="SwTabFrame">
<DisplayString Condition="m_pPrecede">{{Follow {(SwFrame&amp;)*this,view(min)}}}</DisplayString>
<DisplayString>{(SwFrame&amp;)*this}</DisplayString>
<Expand>
<ExpandedItem>(SwLayoutFrame&amp;)(*this)</ExpandedItem>
</Expand>
</Type>
<Type Name="boost::optional&lt;*&gt;">
<DisplayString Condition="!m_initialized">Optional not set</DisplayString>
<DisplayString>{*reinterpret_cast&lt;$T1 *&gt;(m_storage.dummy_.data)}</DisplayString>
<Expand>
<Item Name="initialized">m_initialized</Item>
<Item Name="data">*reinterpret_cast&lt;$T1 *&gt;(m_storage.dummy_.data)</Item>
</Expand>
</Type>
<Type Name="ErrCode">
<DisplayString Condition="m_value == 0">None</DisplayString>
<DisplayString IncludeView="dynamic" Condition="m_value &amp; (31UL &lt;&lt; 26)">dynamic: {(m_value >> 26) &amp; 31UL} </DisplayString>
<DisplayString IncludeView="dynamic"/>
<DisplayString IncludeView="detail">{{{*this,view(dynamic)}area: {static_cast&lt;ErrCodeArea>((m_value >> 13) &amp; 0x01fff),en}, class: {static_cast&lt;ErrCodeClass>((m_value >> 8) &amp; 0x1f),en}, code: {m_value &amp; 0xff}}}</DisplayString>
<DisplayString Condition="m_value &amp; 0x80000000UL">Warning: {*this,view(detail)}</DisplayString>
<DisplayString>Error: {*this,view(detail)}</DisplayString>
</Type>
</AutoVisualizer>