如何在 VarDecl 之后放置文本?
How to place text after VarDecl?
我想在使用 Clang 声明变量后写一篇评论。
我尝试使用 getLocEnd 函数:
void PreprocessConsumer::WriteId(clang::VarDecl *vd)
{
auto location = vd->getLocEnd();
_rewriter.InsertTextAfterToken(location, "//My label");
_rewriter.overwriteChangedFiles();
}
对于这个输入
void f (int n)
{
float x[10];
}
它在分号前加上注释:
void f (int n)
{
float x[10]//My label;
}
但是我想让Clang在分号后写一个注释如下:
void f (int n)
{
float x[10];//My label
}
解决方案是使用来自父 clang::Stmt 的 getLocEnd。
我想在使用 Clang 声明变量后写一篇评论。
我尝试使用 getLocEnd 函数:
void PreprocessConsumer::WriteId(clang::VarDecl *vd)
{
auto location = vd->getLocEnd();
_rewriter.InsertTextAfterToken(location, "//My label");
_rewriter.overwriteChangedFiles();
}
对于这个输入
void f (int n)
{
float x[10];
}
它在分号前加上注释:
void f (int n)
{
float x[10]//My label;
}
但是我想让Clang在分号后写一个注释如下:
void f (int n)
{
float x[10];//My label
}
解决方案是使用来自父 clang::Stmt 的 getLocEnd。