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

Felix Schmitt felix.schmitt at zih.tu-dresden.de
Tue Jun 19 05:34:51 PDT 2012


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?

Regards,
Felix




More information about the cfe-dev mailing list