Skip to content

Commit fda33b1

Browse files
committed
fix: fixup clang natvis
1 parent 3e5f660 commit fda33b1

File tree

1 file changed

+113
-37
lines changed

1 file changed

+113
-37
lines changed

lib/clang.natvis

+113-37
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ For later versions of Visual Studio, no setup is required-->
193193
<Type Name="clang::DeclContext">
194194
<DisplayString>{(clang::Decl::Kind)DeclContextBits.DeclKind,en}Decl</DisplayString>
195195
<Expand>
196-
<Item Name="DeclKind">(clang::Decl::Kind)DeclContextBits.DeclKind,en</Item>
196+
<!--<Item Name="DeclKind">(clang::Decl::Kind)DeclContextBits.DeclKind,en</Item>-->
197197
<Synthetic Name="Members">
198198
<DisplayString></DisplayString>
199199
<Expand>
@@ -208,33 +208,46 @@ For later versions of Visual Studio, no setup is required-->
208208
</Type>
209209
<Type Name="clang::FieldDecl">
210210
<DisplayString>Field {{{*(clang::DeclaratorDecl *)this,view(cpp)nd}}}</DisplayString>
211+
<Expand>
212+
<ExpandedItem>*(DeclaratorDecl*)this,nd</ExpandedItem>
213+
</Expand>
211214
</Type>
212215
<Type Name="clang::CXXMethodDecl">
213216
<DisplayString IncludeView="cpp">{*(clang::FunctionDecl *)this,nd}</DisplayString>
214217
<DisplayString>Method {{{*this,view(cpp)}}}</DisplayString>
218+
<Expand>
219+
<ExpandedItem>*(FunctionDecl*)this,nd</ExpandedItem>
220+
</Expand>
215221
</Type>
216222
<Type Name="clang::CXXConstructorDecl">
217223
<DisplayString>Constructor {{{Name,view(cpp)}({*(clang::FunctionDecl *)this,view(parm0)nd})}}</DisplayString>
224+
<Expand>
225+
<ExpandedItem>*(FunctionDecl*)this,nd</ExpandedItem>
226+
</Expand>
218227
</Type>
219228
<Type Name="clang::CXXDestructorDecl">
220229
<DisplayString>Destructor {{~{Name,view(cpp)}()}}</DisplayString>
230+
<Expand>
231+
<ExpandedItem>*(FunctionDecl*)this,nd</ExpandedItem>
232+
</Expand>
221233
</Type>
222234
<Type Name="clang::TemplateTypeParmDecl">
223235
<DisplayString IncludeView="TorC" Condition="Typename">typename</DisplayString>
224236
<DisplayString IncludeView="TorC" Condition="!Typename">class</DisplayString>
225237
<DisplayString IncludeView="MaybeEllipses" Condition="TypeForDecl == nullptr">(not yet known if parameter pack) </DisplayString>
226-
<DisplayString IncludeView="MaybeEllipses" Condition="((TemplateTypeParmType *)(((clang::ExtQualsTypeCommonBase *)(((uintptr_t)TypeForDecl->CanonicalType.Value.Value) &amp; ~(uintptr_t)((1 &lt;&lt; 4) - 1)))-&gt;BaseType))->CanTTPTInfo.ParameterPack">...</DisplayString>
227-
<DisplayString IncludeView="MaybeEllipses" Condition="!((TemplateTypeParmType *)(((clang::ExtQualsTypeCommonBase *)(((uintptr_t)TypeForDecl->CanonicalType.Value.Value) &amp; ~(uintptr_t)((1 &lt;&lt; 4) - 1)))-&gt;BaseType))->CanTTPTInfo.ParameterPack"></DisplayString>
228-
<DisplayString IncludeView="DefaultArg" Condition="(DefaultArgument.ValueOrInherited.Val.Value&amp;3LL) == 0">{(TypeSourceInfo *)(DefaultArgument.ValueOrInherited.Val.Value&amp;~3LL),view(cpp)}</DisplayString>
238+
<DisplayString IncludeView="MaybeEllipses" Condition="((TemplateTypeParmType *)(((clang::ExtQualsTypeCommonBase *)(((uintptr_t)TypeForDecl->CanonicalType.Value.Value.Data) &amp; ~(uintptr_t)((1 &lt;&lt; 4) - 1)))-&gt;BaseType))->CanTTPTInfo.ParameterPack">...</DisplayString>
239+
<DisplayString IncludeView="MaybeEllipses" Condition="!((TemplateTypeParmType *)(((clang::ExtQualsTypeCommonBase *)(((uintptr_t)TypeForDecl->CanonicalType.Value.Value.Data) &amp; ~(uintptr_t)((1 &lt;&lt; 4) - 1)))-&gt;BaseType))->CanTTPTInfo.ParameterPack"></DisplayString>
240+
<DisplayString IncludeView="DefaultArg" Condition="((*(uintptr_t*)DefaultArgument.ValueOrInherited.Val.Value.Data)&amp;3LL) == 0">{(TypeSourceInfo *)((*(uintptr_t*)DefaultArgument.ValueOrInherited.Val.Value.Data)&amp;~3LL),view(cpp)}</DisplayString>
229241
<DisplayString IncludeView="DefaultArg">{{InheritedInitializer}}</DisplayString>
230-
<DisplayString IncludeView="Initializer" Condition="DefaultArgument.ValueOrInherited.Val.Value&amp;~3LL">= {this,view(DefaultArg)na}</DisplayString>
242+
<DisplayString IncludeView="Initializer" Condition="(*(uintptr_t*)DefaultArgument.ValueOrInherited.Val.Value.Data)&amp;~3LL">= {this,view(DefaultArg)na}</DisplayString>
231243
<DisplayString IncludeView="Initializer"></DisplayString>
232244
<DisplayString>{*this,view(TorC)} {*this,view(MaybeEllipses)}{Name,view(cpp)} {this,view(Initializer)na}</DisplayString>
233245
</Type>
234246
<Type Name="clang::TemplateDecl">
235247
<DisplayString IncludeView="cpp">{*TemplatedDecl,view(cpp)}</DisplayString>
236248
<DisplayString>template{TemplateParams,na} {*TemplatedDecl};</DisplayString>
237249
<Expand>
250+
<ExpandedItem>*(NamedDecl *)this,nd</ExpandedItem>
238251
<Item Name="TemplateParams">TemplateParams,na</Item>
239252
<Item Name="TemplatedDecl">TemplatedDecl,na</Item>
240253
</Expand>
@@ -246,11 +259,11 @@ For later versions of Visual Studio, no setup is required-->
246259
<DisplayString IncludeView="name">{(TypeDecl *)this,view(cpp)nand}</DisplayString>
247260
<DisplayString>typedef {this,view(type)na} {this,view(name)na};</DisplayString>
248261
<Expand>
262+
<ExpandedItem>*(TypeDecl *)this,nd</ExpandedItem>
249263
<Item Name="IsTransparent" Condition="(*(uintptr_t *)MaybeModedTInfo.Value.Data &amp; 1)==0">"Not yet calculated",sb</Item>
250264
<Item Name="IsTransparent" Condition="(*(uintptr_t *)MaybeModedTInfo.Value.Data &amp; 1)!=0">(bool)(*(uintptr_t *)MaybeModedTInfo.Value.Data &amp; 2)</Item>
251265
<Item Name="TypeSourceInfo" Condition="(*(uintptr_t *)MaybeModedTInfo.Value.Data &amp; 4)==0">(clang::TypeSourceInfo *)(*(uintptr_t *)MaybeModedTInfo.Value.Data &amp; ~7LL)</Item>
252266
<Item Name="ModedTInfo" Condition="(*(uintptr_t *)MaybeModedTInfo.Value.Data &amp; 4)!=0">(clang::TypedefNameDecl::ModedTInfo *)(*(uintptr_t *)MaybeModedTInfo.Value.Data &amp; ~7LL)</Item>
253-
<ExpandedItem>(TypeDecl *)this,nd</ExpandedItem>
254267
</Expand>
255268
</Type>
256269
<Type Name="clang::TypeAliasDecl">
@@ -286,46 +299,46 @@ For later versions of Visual Studio, no setup is required-->
286299
<Type Name="llvm::PointerUnion&lt;clang::TemplateDecl *, clang::UncommonTemplateNameStorage *,
287300
clang::QualifiedTemplateName *, clang::DependentTemplateName *&gt;">
288301
<!-- Expand this out by hand to get cpp view -->
289-
<DisplayString Condition="(Val.Value &amp;3) == 0" IncludeView="cpp">
290-
{(clang::TemplateDecl *)(Val.Value &amp; ~3LL),view(cpp)na}
302+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 0" IncludeView="cpp">
303+
{(clang::TemplateDecl *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),view(cpp)na}
291304
</DisplayString>
292-
<DisplayString Condition="(Val.Value &amp;3) == 0">
293-
{(clang::TemplateDecl *)(Val.Value &amp; ~3LL),na}
305+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 0">
306+
{(clang::TemplateDecl *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),na}
294307
</DisplayString>
295-
<DisplayString Condition="(Val.Value &amp;3) == 1" IncludeView="cpp">
296-
{(clang::UncommonTemplateNameStorage *)(Val.Value &amp; ~3LL),view(cpp)na}
308+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 1" IncludeView="cpp">
309+
{(clang::UncommonTemplateNameStorage *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),view(cpp)na}
297310
</DisplayString>
298-
<DisplayString Condition="(Val.Value &amp;3) == 1">
299-
{(clang::UncommonTemplateNameStorage *)(Val.Value &amp; ~3LL),na}
311+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 1">
312+
{(clang::UncommonTemplateNameStorage *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),na}
300313
</DisplayString>
301-
<DisplayString Condition="(Val.Value &amp;3) == 2" IncludeView="cpp">
302-
{(clang::QualifiedTemplateName *)(Val.Value &amp; ~3LL),view(cpp)na}
314+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 2" IncludeView="cpp">
315+
{(clang::QualifiedTemplateName *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),view(cpp)na}
303316
</DisplayString>
304-
<DisplayString Condition="(Val.Value &amp;3) == 2">
305-
{(clang::QualifiedTemplateName *)(Val.Value &amp; ~3LL),na}
317+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 2">
318+
{(clang::QualifiedTemplateName *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),na}
306319
</DisplayString>
307-
<DisplayString Condition="(Val.Value &amp;3) == 3" IncludeView="cpp">
308-
{(clang::DependentTemplateName *)(Val.Value &amp; ~3LL),view(cpp)na}
320+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 3" IncludeView="cpp">
321+
{(clang::DependentTemplateName *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),view(cpp)na}
309322
</DisplayString>
310-
<DisplayString Condition="(Val.Value &amp;3) == 3">
311-
{(clang::DependentTemplateName *)(Val.Value &amp; ~3LL),na}
323+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 3">
324+
{(clang::DependentTemplateName *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),na}
312325
</DisplayString>
313326
<Expand>
314-
<Item Name="[Holds]" Condition="(Val.Value &amp;3) == 0">"TemplateDecl",s8b</Item>
315-
<Item Name="[Ptr]" Optional="true" Condition="(Val.Value &amp;3) == 0">
316-
(clang::TemplateDecl *)(Val.Value &amp; ~3LL)
327+
<Item Name="[Holds]" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 0">"TemplateDecl",s8b</Item>
328+
<Item Name="[Ptr]" Optional="true" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 0">
329+
(clang::TemplateDecl *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL)
317330
</Item>
318-
<Item Name="[Holds]" Condition="(Val.Value &amp;3) == 1">"UncommonTemplateNameStorage",s8b</Item>
319-
<Item Name="[Ptr]" Optional="true" Condition="(Val.Value &amp;3) == 1">
320-
(clang::UncommonTemplateNameStorage *)(Val.Value &amp; ~3LL)
331+
<Item Name="[Holds]" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 1">"UncommonTemplateNameStorage",s8b</Item>
332+
<Item Name="[Ptr]" Optional="true" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 1">
333+
(clang::UncommonTemplateNameStorage *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL)
321334
</Item>
322-
<Item Name="[Holds]" Condition="(Val.Value &amp;3) == 2">"QualifiedTemplateName",s8b</Item>
323-
<Item Name="[Ptr]" Optional="true" Condition="(Val.Value &amp;3) == 2">
324-
(clang::QualifiedTemplateName *)(Val.Value &amp; ~3LL)
335+
<Item Name="[Holds]" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 2">"QualifiedTemplateName",s8b</Item>
336+
<Item Name="[Ptr]" Optional="true" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 2">
337+
(clang::QualifiedTemplateName *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL)
325338
</Item>
326-
<Item Name="[Holds]" Condition="(Val.Value &amp;3) == 3">"DependentTemplateName",s8b</Item>
327-
<Item Name="[Ptr]" Optional="true" Condition="(Val.Value &amp;3) == 3">
328-
(clang::DependentTemplateName *)(Val.Value &amp; ~3LL)
339+
<Item Name="[Holds]" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 3">"DependentTemplateName",s8b</Item>
340+
<Item Name="[Ptr]" Optional="true" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 3">
341+
(clang::DependentTemplateName *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL)
329342
</Item>
330343
<Item Name="[Val]">Val</Item>
331344

@@ -338,9 +351,22 @@ For later versions of Visual Studio, no setup is required-->
338351
<ExpandedItem>Storage</ExpandedItem>
339352
</Expand>
340353
</Type>
354+
<Type Name="clang::Decl">
355+
<DisplayString>{(clang::Decl::Kind)DeclKind,en}Decl</DisplayString>
356+
<Expand>
357+
<Item Name="DeclKind">(clang::Decl::Kind)DeclKind,en</Item>
358+
<Item Name="Implicit">Implicit</Item>
359+
<Item Name="Access">(AccessSpecifier)Access</Item>
360+
<ExpandedItem Condition="dynamic_cast&lt;clang::DeclContext*&gt;(this)">*dynamic_cast&lt;clang::DeclContext*&gt;(this)</ExpandedItem>
361+
</Expand>
362+
</Type>
341363
<Type Name="clang::NamedDecl" >
342364
<DisplayString IncludeView="cpp">{Name,view(cpp)}</DisplayString>
343365
<DisplayString>{Name}</DisplayString>
366+
<Expand>
367+
<ExpandedItem>*(clang::Decl*)this,nd</ExpandedItem>
368+
<Item Name="Name">Name</Item>
369+
</Expand>
344370
</Type>
345371
<Type Name="clang::TagDecl">
346372
<DisplayString IncludeView="implicit" Condition="Implicit">implicit{" ",sb}</DisplayString>
@@ -353,7 +379,7 @@ For later versions of Visual Studio, no setup is required-->
353379
<DisplayString Condition="TagDeclBits.TagDeclKind==clang::TagTypeKind::TTK_Class">{*this,view(modifiers)nd}class {Name,view(cpp)}</DisplayString>
354380
<DisplayString Condition="TagDeclBits.TagDeclKind==clang::TagTypeKind::TTK_Enum">{*this,view(modifiers)nd}enum {Name,view(cpp)}</DisplayString>
355381
<Expand>
356-
<ExpandedItem>(clang::DeclContext *)this</ExpandedItem>
382+
<ExpandedItem>*(clang::Decl *)this,nd</ExpandedItem>
357383
</Expand>
358384
</Type>
359385
<Type Name="clang::TagType">
@@ -893,14 +919,14 @@ For later versions of Visual Studio, no setup is required-->
893919
<Type Name="clang::DeclaratorDecl">
894920
<DisplayString>{DeclType,view(left)} {Name,view(cpp)}{DeclType,view(right)}</DisplayString>
895921
<Expand>
896-
<Item Name="Name">Name</Item>
922+
<ExpandedItem>*(NamedDecl*)this,nd</ExpandedItem>
897923
<Item Name="DeclType">DeclType</Item>
898924
</Expand>
899925
</Type>
900926
<Type Name="clang::VarDecl">
901927
<DisplayString>{(DeclaratorDecl*)this,nand}</DisplayString>
902928
<Expand>
903-
<ExpandedItem>(DeclaratorDecl*)this,nd</ExpandedItem>
929+
<ExpandedItem>*(DeclaratorDecl*)this,nd</ExpandedItem>
904930
<Item Name="Init">Init</Item>
905931
<Item Name="VarDeclBits">VarDeclBits</Item>
906932
</Expand>
@@ -927,6 +953,56 @@ For later versions of Visual Studio, no setup is required-->
927953
<ExpandedItem>(FunctionDecl*)this,nd</ExpandedItem>
928954
</Expand>
929955
</Type>
956+
957+
<Type Name="llvm::PointerUnion&lt;clang::NamedDecl*, clang::MemberSpecializationInfo*, clang::FunctionTemplateSpecializationInfo*, clang::DependentFunctionTemplateSpecializationInfo*&gt;">
958+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 0" IncludeView="cpp">
959+
{(clang::NamedDecl *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),view(cpp)na}
960+
</DisplayString>
961+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 0">
962+
{(clang::NamedDecl *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),na}
963+
</DisplayString>
964+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 1" IncludeView="cpp">
965+
{(clang::MemberSpecializationInfo *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),view(cpp)na}
966+
</DisplayString>
967+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 1">
968+
{(clang::MemberSpecializationInfo *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),na}
969+
</DisplayString>
970+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 2" IncludeView="cpp">
971+
{(clang::FunctionTemplateSpecializationInfo *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),view(cpp)na}
972+
</DisplayString>
973+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 2">
974+
{(clang::FunctionTemplateSpecializationInfo *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),na}
975+
</DisplayString>
976+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 3" IncludeView="cpp">
977+
{(clang::DependentFunctionTemplateSpecializationInfo *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),view(cpp)na}
978+
</DisplayString>
979+
<DisplayString Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 3">
980+
{(clang::DependentFunctionTemplateSpecializationInfo *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL),na}
981+
</DisplayString>
982+
983+
<Expand>
984+
<Item Name="[Holds]" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 0">"NamedDecl",s8b</Item>
985+
<Item Name="[Ptr]" Optional="true" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 0">
986+
(clang::NamedDecl *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL)
987+
</Item>
988+
<Item Name="[Holds]" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 1">"MemberSpecializationInfo",s8b</Item>
989+
<Item Name="[Ptr]" Optional="true" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 1">
990+
(clang::MemberSpecializationInfo *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL)
991+
</Item>
992+
<Item Name="[Holds]" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 2">"FunctionTemplateSpecializationInfo",s8b</Item>
993+
<Item Name="[Ptr]" Optional="true" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 2">
994+
(clang::FunctionTemplateSpecializationInfo *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL)
995+
</Item>
996+
<Item Name="[Holds]" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 3">"DependentFunctionTemplateSpecializationInfo",s8b</Item>
997+
<Item Name="[Ptr]" Optional="true" Condition="(*((uintptr_t*)Val.Value.Data) &amp;3) == 3">
998+
(clang::DependentFunctionTemplateSpecializationInfo *)(*((uintptr_t*)Val.Value.Data) &amp; ~3LL)
999+
</Item>
1000+
1001+
<Item Name="[Val]">Val</Item>
1002+
1003+
</Expand>
1004+
</Type>
1005+
9301006
<Type Name="clang::FunctionDecl">
9311007
<DisplayString IncludeView="retType">{((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)((*(uintptr_t *)DeclType.Value.Value.Data) &amp; ~15))-&gt;BaseType)->ResultType,view(cpp)}</DisplayString>
9321008
<DisplayString IncludeView="parm0" Condition="0 == ((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)((*(uintptr_t *)DeclType.Value.Value.Data) &amp; ~15))-&gt;BaseType)-&gt;FunctionTypeBits.NumParams"></DisplayString>

0 commit comments

Comments
 (0)