<div dir="ltr">I /think/ what you're looking for is the "ParentMap" - the AST doesn't have one by default, but for many tools it's handy to build one (& there's one available in Clang & used in many tools)</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 28, 2016 at 6:01 AM, Noel Grandin via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi<br>
<br>
Is there a straightforward way to look "up" the tree when implementing<br>
a clang plugin using RecursiveASTVisitor ?<br>
<br>
I've bumped into this a couple of times and never found a "nice" answer.<br>
<br>
For example, I have overridden<br>
<br>
       VisitCallExpr(const CallExpr* expr)<br>
<br>
and I want to know in which context the call is happening i.e. from<br>
which FunctionDecl the call is being made.<br>
<br>
It seems like there should be an easy way to walk back up the tree?<br>
<br>
Thanks, Noel Grandin<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>