natvis: updated meta views

This commit is contained in:
Michele Caini
2024-03-08 12:14:37 +01:00
parent f18234abbd
commit 1178b8e0cf

View File

@@ -2,17 +2,25 @@
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="entt::internal::meta_base_node">
<DisplayString>{{}}</DisplayString>
<Expand/>
</Type>
<Type Name="entt::internal::meta_conv_node">
<DisplayString>{{}}</DisplayString>
<Expand/>
</Type>
<Type Name="entt::internal::meta_ctor_node">
<DisplayString>{{ arity={ arity } }}</DisplayString>
<Expand>
<Item Name="[arity]">arity</Item>
</Expand>
</Type>
<Type Name="entt::internal::meta_data_node">
<Intrinsic Name="has_trait" Expression="!!(traits &amp; property)">
<Parameter Name="property" Type="int"/>
</Intrinsic>
<Intrinsic Name="prop_at" Expression="prop.packed.first_base::value[pos].element">
<Parameter Name="pos" Type="int"/>
</Intrinsic>
<DisplayString>{{ arity={ arity } }}</DisplayString>
<Expand>
<Item Name="[arity]">arity</Item>
@@ -21,10 +29,15 @@
<Synthetic Name="[prop]">
<DisplayString>{ prop.size() }</DisplayString>
<Expand>
<IndexListItems>
<Size>prop.size()</Size>
<ValueNode>prop.packed.first_base::value[$i].element.first</ValueNode>
</IndexListItems>
<CustomListItems>
<Variable Name="pos" InitialValue="0"/>
<Variable Name="last" InitialValue="prop.size()"/>
<Loop>
<Break Condition="pos == last"/>
<Item Name="[{ prop_at(pos).first }]">prop_at(pos).second</Item>
<Exec>++pos</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
</Expand>
@@ -33,6 +46,9 @@
<Intrinsic Name="has_trait" Expression="!!(traits &amp; property)">
<Parameter Name="property" Type="int"/>
</Intrinsic>
<Intrinsic Name="prop_at" Expression="prop.packed.first_base::value[pos].element">
<Parameter Name="pos" Type="int"/>
</Intrinsic>
<DisplayString>{{ arity={ arity } }}</DisplayString>
<Expand>
<Item Name="[is_const]">has_trait(entt::internal::meta_traits::is_const)</Item>
@@ -41,19 +57,135 @@
<Synthetic Name="[prop]">
<DisplayString>{ prop.size() }</DisplayString>
<Expand>
<IndexListItems>
<Size>prop.size()</Size>
<ValueNode>prop.packed.first_base::value[$i].element.first</ValueNode>
</IndexListItems>
<CustomListItems>
<Variable Name="pos" InitialValue="0"/>
<Variable Name="last" InitialValue="prop.size()"/>
<Loop>
<Break Condition="pos == last"/>
<Item Name="[{ prop_at(pos).first }]">prop_at(pos).second</Item>
<Exec>++pos</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
</Expand>
</Type>
<Type Name="entt::internal::meta_prop_node">
<DisplayString>{ value }</DisplayString>
<Expand/>
</Type>
<Type Name="entt::internal::meta_template_node">
<DisplayString>{{ arity={ arity } }}</DisplayString>
<Expand>
<Item Name="[arity]">arity</Item>
</Expand>
</Type>
<Type Name="entt::internal::meta_type_descriptor">
<Intrinsic Name="ctor_at" Expression="ctor.packed.first_base::value[pos].element">
<Parameter Name="pos" Type="int"/>
</Intrinsic>
<Intrinsic Name="base_at" Expression="base.packed.first_base::value[pos].element">
<Parameter Name="pos" Type="int"/>
</Intrinsic>
<Intrinsic Name="conv_at" Expression="conv.packed.first_base::value[pos].element">
<Parameter Name="pos" Type="int"/>
</Intrinsic>
<Intrinsic Name="data_at" Expression="data.packed.first_base::value[pos].element">
<Parameter Name="pos" Type="int"/>
</Intrinsic>
<Intrinsic Name="func_at" Expression="func.packed.first_base::value[pos].element">
<Parameter Name="pos" Type="int"/>
</Intrinsic>
<Intrinsic Name="prop_at" Expression="prop.packed.first_base::value[pos].element">
<Parameter Name="pos" Type="int"/>
</Intrinsic>
<DisplayString/>
<Expand>
<Synthetic Name="[ctor]">
<DisplayString>{ ctor.size() }</DisplayString>
<Expand>
<CustomListItems>
<Variable Name="pos" InitialValue="0"/>
<Variable Name="last" InitialValue="ctor.size()"/>
<Loop>
<Break Condition="pos == last"/>
<Item Name="[{ ctor_at(pos).first }]">ctor_at(pos).second</Item>
<Exec>++pos</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
<Synthetic Name="[base]">
<DisplayString>{ base.size() }</DisplayString>
<Expand>
<CustomListItems>
<Variable Name="pos" InitialValue="0"/>
<Variable Name="last" InitialValue="base.size()"/>
<Loop>
<Break Condition="pos == last"/>
<Item Name="[{ base_at(pos).first }]">base_at(pos).second</Item>
<Exec>++pos</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
<Synthetic Name="[conv]">
<DisplayString>{ conv.size() }</DisplayString>
<Expand>
<CustomListItems>
<Variable Name="pos" InitialValue="0"/>
<Variable Name="last" InitialValue="conv.size()"/>
<Loop>
<Break Condition="pos == last"/>
<Item Name="[{ conv_at(pos).first }]">conv_at(pos).second</Item>
<Exec>++pos</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
<Synthetic Name="[data]">
<DisplayString>{ data.size() }</DisplayString>
<Expand>
<CustomListItems>
<Variable Name="pos" InitialValue="0"/>
<Variable Name="last" InitialValue="data.size()"/>
<Loop>
<Break Condition="pos == last"/>
<Item Name="[{ data_at(pos).first }]">data_at(pos).second</Item>
<Exec>++pos</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
<Synthetic Name="[func]">
<DisplayString>{ func.size() }</DisplayString>
<Expand>
<CustomListItems>
<Variable Name="pos" InitialValue="0"/>
<Variable Name="last" InitialValue="func.size()"/>
<Loop>
<Break Condition="pos == last"/>
<Item Name="[{ func_at(pos).first }]">func_at(pos).second</Item>
<Exec>++pos</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
<Synthetic Name="[prop]">
<DisplayString>{ prop.size() }</DisplayString>
<Expand>
<CustomListItems>
<Variable Name="pos" InitialValue="0"/>
<Variable Name="last" InitialValue="prop.size()"/>
<Loop>
<Break Condition="pos == last"/>
<Item Name="[{ prop_at(pos).first }]">prop_at(pos).second</Item>
<Exec>++pos</Exec>
</Loop>
</CustomListItems>
</Expand>
</Synthetic>
</Expand>
</Type>
<Type Name="entt::internal::meta_type_node">
<Intrinsic Name="has_trait" Expression="!!(traits &amp; property)">
@@ -77,7 +209,7 @@
<Item Name="[default_constructor]">default_constructor != nullptr</Item>
<Item Name="[conversion_helper]">conversion_helper != nullptr</Item>
<Item Name="[from_void]">from_void != nullptr</Item>
<Item Name="[template_info]">templ</Item>
<Item Name="[template_info]" Condition="templ.arity != 0u">templ</Item>
<Item Name="[details]" Condition="details != nullptr">*details</Item>
</Expand>
</Type>
@@ -91,6 +223,7 @@
</Type>
<Type Name="entt::meta_handle">
<DisplayString>{ any }</DisplayString>
<Expand/>
</Type>
<Type Name="entt::meta_associative_container">
<DisplayString>{ storage }</DisplayString>