[cfe-dev] RecursiveASTVisitor: How to traverse all FieldDecl in a CXXRecordDecl?

Robinson, Paul via cfe-dev cfe-dev at lists.llvm.org
Mon Nov 30 14:18:38 PST 2020



> -----Original Message-----
> From: cfe-dev <cfe-dev-bounces at lists.llvm.org> On Behalf Of Marcel
> Schaible via cfe-dev
> Sent: Monday, November 30, 2020 11:49 AM
> To: cfe-dev at lists.llvm.org
> Subject: [cfe-dev] RecursiveASTVisitor: How to traverse all FieldDecl in a
> CXXRecordDecl?
> 
> Hi,
> 
> I have  simple RecursiveASTVisitor, which should handle definition of
> structs and their fields.
> 
> 
> How can I traverse over all FieldDecl in a given CXXRecordDecl?
> 
> Because of the sequence the AST is traversed, I don't know in a
> VisitFieldDecl approach to which CXXRecordDecl it belongs to.

I don't know anything about RecursiveASTVisitor so there might be
a way to do what you want there.  If you need to traverse the AST
"manually" there's code in clang/lib/CodeGen/CGDebugInfo.cpp (look
for CGDebugInfo::CollectRecordFields) that could be instructive.
Note that a VarDecl describes a static data member, while a
FieldDecl describes a normal data member.

--paulr

> 
> I hope I have stated my problem understandable..-
> 
> 
> Thanks
> 
> Marcel
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://urldefense.com/v3/__https://lists.llvm.org/cgi-
> bin/mailman/listinfo/cfe-dev__;!!JmoZiZGBv3RvKRSx!sAghJD5ak8TBfwxlN3-
> clB7IHmStNEf-qYGycEskAWJCHsfocgsXmtBh2CP25GHZAA$


More information about the cfe-dev mailing list