-
Notifications
You must be signed in to change notification settings - Fork 11
/
mim.natvis
110 lines (110 loc) · 9.36 KB
/
mim.natvis
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="mim::Def">
<DisplayString Condition="node_==0">{{node = Type}}</DisplayString>
<DisplayString Condition="node_==1">{{node = Univ}}</DisplayString>
<DisplayString Condition="node_==2">{{node = Pi}}</DisplayString>
<DisplayString Condition="node_==3">{{node = Lam}}</DisplayString>
<DisplayString Condition="node_==4">{{node = App}}</DisplayString>
<DisplayString Condition="node_==5">{{node = Sigma}}</DisplayString>
<DisplayString Condition="node_==6">{{node = Tuple}}</DisplayString>
<DisplayString Condition="node_==7">{{node = Extract}}</DisplayString>
<DisplayString Condition="node_==8">{{node = Insert}}</DisplayString>
<DisplayString Condition="node_==9">{{node = Arr}}</DisplayString>
<DisplayString Condition="node_==10">{{node = Pack}}</DisplayString>
<DisplayString Condition="node_==11">{{node = Join}}</DisplayString>
<DisplayString Condition="node_==12">{{node = Vel}}</DisplayString>
<DisplayString Condition="node_==13">{{node = Test}}</DisplayString>
<DisplayString Condition="node_==14">{{node = Top}}</DisplayString>
<DisplayString Condition="node_==15">{{node = Meet}}</DisplayString>
<DisplayString Condition="node_==16">{{node = Et}}</DisplayString>
<DisplayString Condition="node_==17">{{node = Pick}}</DisplayString>
<DisplayString Condition="node_==18">{{node = Bot}}</DisplayString>
<DisplayString Condition="node_==19">{{node = Proxy}}</DisplayString>
<DisplayString Condition="node_==21">{{node = Lit}}</DisplayString>
<DisplayString Condition="node_==22">{{node = Nat}}</DisplayString>
<DisplayString Condition="node_==23">{{node = Idx}}</DisplayString>
<DisplayString Condition="node_==24">{{node = Var}}</DisplayString>
<DisplayString Condition="node_==25">{{node = Infer}}</DisplayString>
<DisplayString Condition="node_==26">{{node = Global}}</DisplayString>
<DisplayString Condition="node_==27">{{node = Singleton}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 && (flags_ & 0xFF00)==0">{{ax = Mem}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==1">{{ax = Int}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==2">{{ax = Real}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==3">{{ax = Ptr}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==4">{{ax = Bit}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==5">{{ax = Shr}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==6">{{ax = Wrap}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==7">{{ax = Div}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==8">{{ax = ROp}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==9">{{ax = ICmp}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==10">{{ax = RCmp}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==11">{{ax = Trait}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==12">{{ax = Conv}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==13">{{ax = PE}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==14">{{ax = Acc}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==15">{{ax = Bitcast}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==16">{{ax = LEA}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==17">{{ax = Alloc}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==18">{{ax = Slot}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==19">{{ax = Malloc}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==20">{{ax = Mslot}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==21">{{ax = Load}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==22">{{ax = Remem}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==23">{{ax = Store}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==24">{{ax = Atomic}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==25">{{ax = Zip}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==26">{{ax = For}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==27">{{ax = RevDiff}}</DisplayString>
<DisplayString Condition="node_==20&&(flags_ & 0xffffffffffff0000) == 0xffffffffffff0000 &&(flags_ & 0xFF00)==28">{{ax = TangentVector}}</DisplayString>
<DisplayString Condition="node_==20">{{ax = {Axiom::demangle(flags_ & 0xffffffffffff0000)}.{(flags_ >> 8) & 0xff}.{flags_ & 0xff}}}</DisplayString>
<DisplayString>{{node = {node_}}}</DisplayString>
<Expand>
<Item Name="[type]" Condition="node_!=1&&node_!=0">type_</Item>
<Item Name="[world]" Condition="node_==1">world_</Item>
<!-- <Item Name="[level]" Condition="node_==0">(*(((Def**)(char*)((Def*)(((char*)&normalizer_)-8) + 1))))->flags_</Item> -->
<Item Name="[gid]">gid_</Item>
<Item Name="[shape]" Condition="node_==9">*(((Def**)(char*)((Def*)(((char*)&normalizer_)-8) + 1)))</Item>
<Item Name="[body]" Condition="node_==9">*(((Def**)(char*)((Def*)(((char*)&normalizer_)-8) + 1)) + 1)</Item>
<Item Name="[dom]" Condition="node_==2">*(((Def**)(char*)((Def*)(((char*)&normalizer_)-8) + 1)))</Item>
<Item Name="[codom]" Condition="node_==2">*(((Def**)(char*)((Def*)(((char*)&normalizer_)-8) + 1)) + 1)</Item>
<Item Name="[value]" Condition="node_==21">flags_</Item>
<Item Name="[inhabitant]" Condition="node_==27">*(((Def**)(char*)((Def*)(((char*)&normalizer_)-8) + 1)))</Item>
<ArrayItems Name="[ops]" Condition="node_!=9">
<Size>num_ops_</Size>
<ValuePointer>(((Def**)(char*)((Def*)(((char*)&normalizer_)-8) + 1)))</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="mim::ArrayRef<*>">
<DisplayString>{{size = size_}}</DisplayString>
<Expand>
<ArrayItems Name="[vals]">
<Size>size_</Size>
<ValuePointer>ptr_</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="mim::Defs">
<DisplayString>{{size = {size_}}}</DisplayString>
<Expand>
<ArrayItems Name="[vals]">
<Size>size_</Size>
<ValuePointer>ptr_</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="mim::DefArray">
<DisplayString>{{size = {storage_.size_}}}</DisplayString>
<Expand>
<ArrayItems Name="[vals]" Condition="!storage_.stack_">
<Size>storage_.size_</Size>
<ValuePointer>storage_.data_.ptr</ValuePointer>
</ArrayItems>
<ArrayItems Name="[vals]" Condition="storage_.stack_">
<Size>storage_.size_</Size>
<ValuePointer>storage_.data_.elems</ValuePointer>
</ArrayItems>
</Expand>
</Type>
</AutoVisualizer>