Merge pull request #98961 from mihe/natvis-improvements

Add `Ref` and `HashSet` to `godot.natvis`
This commit is contained in:
Thaddeus Crews 2024-11-10 12:12:21 -06:00
commit 1789ad37bd
No known key found for this signature in database
GPG Key ID: 62181B86FE9E5D84

View File

@ -1,5 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="Ref&lt;*&gt;">
<SmartPointer Usage="Minimal">reference</SmartPointer>
<DisplayString Condition="!reference">[empty]</DisplayString>
<DisplayString Condition="!!reference">{*reference}</DisplayString>
<Expand>
<Item Condition="!!reference" Name="[ptr]">reference</Item>
<Item Condition="!!reference" Name="[refcount]">reference->refcount.count.value</Item>
</Expand>
</Type>
<Type Name="Vector&lt;*&gt;">
<Expand>
<Item Name="[size]">_cowdata._ptr ? (((const unsigned long long *)(_cowdata._ptr))[-1]) : 0</Item>
@ -91,6 +101,16 @@
<StringView Condition="_data &amp;&amp; !_data->cname">_data->name,s32b</StringView>
</Type>
<Type Name="HashSet&lt;*,*,*&gt;">
<Expand>
<Item Name="[size]">num_elements</Item>
<ArrayItems>
<Size>num_elements</Size>
<ValuePointer>($T1 *) keys._cowdata._ptr</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="HashMapElement&lt;*,*&gt;">
<DisplayString>{{Key = {($T1 *) &amp;data.key} Value = {($T2 *) &amp;data.value}}}</DisplayString>
<Expand>