我有一个header.h带有宏定义的标头,该宏定义扩展为类定义和一个test.cpp包含header.h并使用该宏的源文件。然后我用来RecursiveASTVisitor访问所有CXXRecordDecl的。
当我访问 CXXRecordDecl(在 test.cpp 中)并查询其扩展的 CXXRecordDecl 时,该位置指向SourceLocation-宏定义的位置。dump()header.h
我需要为这个 CXXRecordDecl 获取的是SourceLocation宏扩展 - 在我的情况下它应该是test.cpp。
提前致谢。