-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsciter.natvis
133 lines (116 loc) · 5.69 KB
/
sciter.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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="sciter::value">
<DisplayString Condition="t == 0 && u == 0">undefined</DisplayString>
<DisplayString Condition="t == 0 && u == 1">nothing</DisplayString>
<DisplayString Condition="t == 1 && u == 0">null</DisplayString>
<DisplayString Condition="t == 2 && d == 1">true</DisplayString>
<DisplayString Condition="t == 2 && d == 0">false</DisplayString>
<DisplayString Condition="t == 3">{(signed __int64)d}</DisplayString>
<DisplayString Condition="t == 4">{ *(double*)&d }</DisplayString>
<DisplayString Condition="t == 5 && u == 0">{(const wchar_t*)&((size_t*)d)[3], su}</DisplayString>
<DisplayString Condition="t == 5 && u == 1">error({(const wchar_t*)&((size_t*)d)[3], su})</DisplayString>
<DisplayString Condition="t == 5 && u == 2">secure({(const wchar_t*)&((size_t*)d)[3], su})</DisplayString>
<DisplayString Condition="t == 5 && u == 3">url({(const wchar_t*)&((size_t*)d)[3], su})</DisplayString>
<DisplayString Condition="t == 5 && u == 4">selector({(const wchar_t*)&((size_t*)d)[3], su})</DisplayString>
<DisplayString Condition="t == 5 && u == 0xffff">#{(const wchar_t*)&((size_t*)d)[3], su}</DisplayString>
<DisplayString Condition="t == 6">date({d})</DisplayString>
<DisplayString Condition="t == 7">currency({d})</DisplayString>
<DisplayString Condition="t == 8">length</DisplayString>
<DisplayString Condition="t == 9 && ((int**)d)[2] == 0">array(0)</DisplayString>
<DisplayString Condition="t == 9 && ((int**)d)[2] != 0">array({((int**)d)[2][1]})</DisplayString>
<DisplayString Condition="t == 10 && ((int**)d)[6] == 0">map(0)</DisplayString>
<DisplayString Condition="t == 10 && ((int**)d)[6] != 0">map({((int**)d)[6][1]})</DisplayString>
<DisplayString Condition="t == 11">function</DisplayString>
<DisplayString Condition="t == 12">bytes({((unsigned*)d)[1]})</DisplayString>
<DisplayString Condition="t == 13">object</DisplayString>
<DisplayString Condition="t == 14">dom_object</DisplayString>
<DisplayString Condition="t == 15">resource</DisplayString>
<DisplayString Condition="t == 16">range</DisplayString>
<DisplayString Condition="t == 17">duration({ *(double*)&d })</DisplayString>
<DisplayString Condition="t == 18">angle({ *(double*)&d })</DisplayString>
<DisplayString Condition="t == 19">color({ d, Xb })</DisplayString>
<DisplayString Condition="t == 20">enum</DisplayString>
<DisplayString Condition="t == 21">asset</DisplayString>
<DisplayString Condition="t > 21"><unknown: {t}></DisplayString>
<StringView Condition="t == 5">(const wchar_t*)&((size_t*)d)[3], su</StringView>
<Expand>
<Synthetic Name="string" Condition="t == 5">
<!--
tool::string_t<CT>::data {
atomic_long ref_count;
size_t allocated;
size_t length;
CT chars[];
}
-->
<Expand>
<Item Name="refs">((size_t*)d)[0]</Item>
<Item Name="count">((size_t*)d)[2]</Item>
<Item Name="capacity">((size_t*)d)[1]</Item>
<ArrayItems>
<Size>((size_t*)d)[2]</Size>
<ValuePointer>((const wchar_t*)&((size_t*)d)[3])</ValuePointer>
</ArrayItems>
</Expand>
</Synthetic>
<Synthetic Name="array" Condition="t == 9 && ((int**)d)[2] != 0">
<!--
tool::array_value {
long resource::ref_count;
tool::array<T>::array_data* data;
}
tool::array<T>::array_data {
long ref_count;
size_t size;
size_t capacity;
T elements[];
}
-->
<Expand>
<Item Name="refs">((unsigned*)d)[1]</Item>
<Item Name="count">((unsigned**)d)[2][1]</Item>
<Item Name="capacity">((unsigned**)d)[2][2]</Item>
<ArrayItems>
<Size>((unsigned**)d)[2][1]</Size>
<ValuePointer>((sciter::value*)( ((int**)d)[2] + 3 ))</ValuePointer>
</ArrayItems>
</Expand>
</Synthetic>
<Synthetic Name="map" Condition="t == 10 && ((int**)d)[6] != 0">
<!--
tool::map_value {
long resource::ref_count;
ustring name;
dictionary<value,value> params;
}
tool::dictionary<K,V> {
size_t hash_size;
hash_item** hash_table;
array<dict_item> hash_elements;
}
-->
<Expand>
<Item Name="refs">((unsigned*)d)[1]</Item>
<Item Name="count">((unsigned**)d)[6][1]</Item>
<Item Name="capacity">((unsigned**)d)[6][2]</Item>
<ArrayItems>
<Size>((unsigned**)d)[6][1]</Size>
<ValuePointer>((json_value_pair*)( ((int**)d)[6] + 3 ))</ValuePointer>
</ArrayItems>
</Expand>
</Synthetic>
<Synthetic Name="bytes" Condition="t == 12 && ((int**)d)[2] != 0">
<Expand>
<Item Name="refs">((unsigned*)d)[0]</Item>
<Item Name="count">((unsigned*)d)[1]</Item>
<Item Name="capacity">((unsigned*)d)[2]</Item>
<ArrayItems>
<Size>((unsigned*)d)[1]</Size>
<ValuePointer>((unsigned char*)( ((int*)d) + 3 ))</ValuePointer>
</ArrayItems>
</Expand>
</Synthetic>
</Expand>
</Type>
</AutoVisualizer>