summaryrefslogtreecommitdiffstats
path: root/third_party/rust/smallvec/debug_metadata/smallvec.natvis
blob: 8731860f489755a975415036d50c7f222d62c05e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="smallvec::SmallVec&lt;array$&lt;*,*&gt;&gt;" Priority="Medium">
    <Intrinsic Name="is_inline" Expression="$T2 &gt;= capacity" />
    <Intrinsic Name="len" Expression="is_inline() ? capacity : data.variant1.value.len" />
    <Intrinsic Name="data_ptr" Expression="is_inline() ? data.variant0.value.__0.value.value : data.variant1.value.ptr.pointer" />

    <DisplayString>{{ len={len()} is_inline={is_inline()} }}</DisplayString>
    <Expand>
        <Item Name="[capacity]">is_inline() ? $T2 : capacity</Item>
        <Item Name="[len]">len()</Item>
        <Item Name="[data_ptr]">data_ptr()</Item>

        <ArrayItems>
            <Size>len()</Size>
            <ValuePointer>data_ptr()</ValuePointer>
        </ArrayItems>
    </Expand>
  </Type>

  <Type Name="smallvec::SmallVec&lt;array$&lt;*,*&gt;&gt;" Priority="MediumLow">
    <Intrinsic Name="is_inline" Expression="$T2 &gt;= capacity" />
    <Intrinsic Name="len" Expression="is_inline() ? capacity : data.heap.__1" />
    <Intrinsic Name="data_ptr" Expression="is_inline() ? data.inline.value.value.value : data.heap.__0.pointer" />
    <DisplayString>{{ len={len()} is_inline={is_inline()} }}</DisplayString>
    <Expand>
        <Item Name="[capacity]">is_inline() ? $T2 : capacity</Item>
        <Item Name="[len]">len()</Item>

        <ArrayItems>
            <Size>len()</Size>
            <ValuePointer>data_ptr()</ValuePointer>
        </ArrayItems>
    </Expand>
  </Type>
</AutoVisualizer>