如何在VarDecl之后放置文本?

时间:2015-12-29 15:42:58

标签: c++ clang abstract-syntax-tree

我想在使用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
    }

1 个答案:

答案 0 :(得分:0)

解决方案是使用来自父clang :: Stmt。

的getLocEnd