[cfe-dev] acquiring all the ancestors or descendants of a matched node

Farzad Sadeghi via cfe-dev cfe-dev at lists.llvm.org
Wed Jul 13 06:34:30 PDT 2016


Hi,
I need to travel through all the ancestors or descendants of a matched
AST node to later use that info to moodify parts of the input source
code. I tried to look for ways to do that. I looked at the getParents
member function of the ASTContext class. I could use that to just go
up the AST hierarchy to visit all the ancestor nodes of my
currently-matched node. but the problem with that is, when i get the
parent node, i no longer have the context for that node to try and get
its parent. I could try to rebuild the ASTContext for the new node but
that seems to be another big task on its own, if possible. the lowest
NodeKind (lowest in the C hierarchy) I'm looking for is a callExpr and
the highest I'm looking for is a functionDecl. How can I obtain all
the ancestors or descendants of a matched AST node after the match
returns the control to run in MatchCallback?


-- 
Farzad Sadeghi



More information about the cfe-dev mailing list