我对 CLang 和 Libtooling 比较陌生。我想在终端上显示源代码中的一行。我在RecursiveASTVisitor中有一个 *VisitFunctionDecl(FunctionDecl func)。对于每个函数,我得到SourceRange并从中得到SourceLocation。但我不明白如何显示。我有事要做
问问题
396 次
1 回答
0
您需要 FullSourceLoc:
FullSourceLoc functionDeclFullLocation = Context->getFullLoc(func.getLocStart());
if (functionDeclFullLocation.isValid())
llvm::outs() << "Found FunctionDecl at "
<< functionDeclFullLocation.getManager().getFilename(functionDeclFullLocation) << ":"
<< functionDeclFullLocation.getSpellingLineNumber() << ":"
<< functionDeclFullLocation.getSpellingColumnNumber() << "\n";
于 2018-07-05T18:25:26.990 回答