<div style="font-family: arial, helvetica, sans-serif"><font size="2">On Tue, Jun 19, 2012 at 3:22 PM, Felix Schmitt <span dir="ltr"><<a href="mailto:felix.schmitt@zih.tu-dresden.de" target="_blank">felix.schmitt@zih.tu-dresden.de</a>></span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Manuel Klimek <klimek@...> writes:<br>
<br>
><br>
> On Tue, Jun 19, 2012 at 2:34 PM, Felix Schmitt<br>
</div><div class="im"><felix.schmitt <at> <a href="http://zih.tu-dresden.de" target="_blank">zih.tu-dresden.de</a>> wrote:<br>
> Hi,<br>
> I got the following problem:<br>
> I need to traverse the AST (currently using<br>
RecursiveASTVisitor) and get the<br>
> file name for every function declaration.<br>
> Currently, I only get the filename for function<br>
declarations in my main file but<br>
> how do I get these for functions in #included files?<br>
> My relevant code looks like this (srcMgr is the<br>
SourceManager):<br>
> bool CMyASTVisitor::VisitFunctionDecl(FunctionDecl*<br>
decl)<br>
> {<br>
> ...<br>
> const FileEntry* file_entry =<br>
> srcMgr.getFileEntryForID(srcMgr.getFileID(decl-<br>
>getLocStart()));<br>
> if (file_entry == NULL)<br>
>    std::cout << "no file entry" << std::endl;<br>
> ...<br>
> }<br>
> Is there a way to get these filenames?<br>
><br>
><br>
> Why does file_entry->getName() not work?<br>
><br>
<br>
</div>Because file_entry is NULL if the declaration found is<br>
not in<br>
the main file but from an included file in the main file.<br></blockquote><div><br></div><div>That's news to me - the only place where I've found file_entry to be NULL is for token-pasted code, for example from macro expansions.</div>
<div><br></div><div>Cheers,</div><div>/Manuel</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Felix<br>
<div class="im"><br>
> Cheers,<br>
> /Manuel<br>
>  <br>
><br>
><br>
><br>
> Regards,<br>
> Felix<br>
> _______________________________________________<br>
</div>> cfe-dev mailing listcfe-dev-<br>
Tmj1lob9twqVc3sceRu5cw@public.gmane.orghttp://<br>
<a href="http://lists.cs.uiuc.edu/" target="_blank">lists.cs.uiuc.edu/</a><br>
mailman/listinfo/cfe-dev<br>
><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> cfe-dev@...<br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<div class="HOEnZb"><div class="h5">><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></font></div>