Skip to content

Commit d101082

Browse files
committed
Natvis: Add crude_json::value visualization
1 parent e33aad1 commit d101082

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

docs/CHANGELOG.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ v0.9.1 (WIP):
3131

3232
CHANGE: Delete operation on node/link will remove internal object (#173)
3333

34+
CHANGE: Natvis: Add crude_json::value visualization
35+
3436
NEW: All source components are now versioned
3537

3638
NEW: Make view state independent of window resolution.

misc/imgui_node_editor.natvis

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,35 @@
3030
</Expand>
3131
</Type>
3232

33+
<Type Name="std::pair&lt;*, crude_json::value&gt;" IncludeView="MapHelper" Priority="High">
34+
<DisplayString>{second}</DisplayString>
35+
<Expand HideRawView="true">
36+
<ExpandedItem>second</ExpandedItem>
37+
</Expand>
38+
</Type>
39+
40+
<Type Name="crude_json::value">
41+
<Intrinsic Name="object_ptr" Expression="(crude_json::object*)&amp;m_Storage" />
42+
<Intrinsic Name="array_ptr" Expression="(crude_json::array*)&amp;m_Storage" />
43+
<Intrinsic Name="string_ptr" Expression="(crude_json::string*)&amp;m_Storage" />
44+
<Intrinsic Name="boolean_ptr" Expression="(crude_json::boolean*)&amp;m_Storage" />
45+
<Intrinsic Name="number_ptr" Expression="(crude_json::number*)&amp;m_Storage" />
46+
47+
<DisplayString Condition="m_Type == crude_json::type_t::null">null</DisplayString>
48+
<DisplayString Condition="m_Type == crude_json::type_t::object">{*object_ptr()} : object</DisplayString>
49+
<DisplayString Condition="m_Type == crude_json::type_t::array">{*array_ptr()} : array</DisplayString>
50+
<DisplayString Condition="m_Type == crude_json::type_t::string">{*string_ptr()} : string</DisplayString>
51+
<DisplayString Condition="m_Type == crude_json::type_t::boolean">{*boolean_ptr()} : boolean</DisplayString>
52+
<DisplayString Condition="m_Type == crude_json::type_t::number">{*number_ptr(),g} : number</DisplayString>
53+
<DisplayString Condition="m_Type == crude_json::type_t::discarded">discarded</DisplayString>
54+
<Expand HideRawView="true">
55+
<!--<Synthetic Name="[type]"><DisplayString>{m_Type,en}</DisplayString></Synthetic>-->
56+
<ExpandedItem Condition="m_Type == crude_json::type_t::object">*object_ptr(),view(simple)</ExpandedItem>
57+
<ExpandedItem Condition="m_Type == crude_json::type_t::array">*array_ptr(),view(simple)</ExpandedItem>
58+
<Item Name="[value]" Condition="m_Type == crude_json::type_t::string">*string_ptr(),view(simple)</Item>
59+
<Item Name="[value]" Condition="m_Type == crude_json::type_t::boolean">*boolean_ptr()</Item>
60+
<Item Name="[value]" Condition="m_Type == crude_json::type_t::number">*number_ptr()</Item>
61+
</Expand>
62+
</Type>
63+
3364
</AutoVisualizer>

0 commit comments

Comments
 (0)