[cfe-dev] Obtaining file name for functions from included files

Felix Schmitt felix.schmitt at zih.tu-dresden.de
Tue Jun 19 06:22:48 PDT 2012


Manuel Klimek <klimek at ...> writes:

> 
> On Tue, Jun 19, 2012 at 2:34 PM, Felix Schmitt 
<felix.schmitt <at> zih.tu-dresden.de> wrote:
> Hi,
> I got the following problem:
> I need to traverse the AST (currently using 
RecursiveASTVisitor) and get the
> file name for every function declaration.
> Currently, I only get the filename for function 
declarations in my main file but
> how do I get these for functions in #included files?
> My relevant code looks like this (srcMgr is the 
SourceManager):
> bool CMyASTVisitor::VisitFunctionDecl(FunctionDecl* 
decl)
> {
> ...
> const FileEntry* file_entry =
> srcMgr.getFileEntryForID(srcMgr.getFileID(decl-
>getLocStart()));
> if (file_entry == NULL)
>    std::cout << "no file entry" << std::endl;
> ...
> }
> Is there a way to get these filenames?
> 
> 
> Why does file_entry->getName() not work?
> 

Because file_entry is NULL if the declaration found is 
not in
the main file but from an included file in the main file.

Felix 

> Cheers,
> /Manuel
>  
> 
> 
> 
> Regards,
> Felix
> _______________________________________________
> cfe-dev mailing listcfe-dev-
Tmj1lob9twqVc3sceRu5cw at public.gmane.orghttp://
lists.cs.uiuc.edu/
mailman/listinfo/cfe-dev
> 
> 
> 
> 
> 
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at ...
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> 







More information about the cfe-dev mailing list