将节点添加到 Clang 的 AST



我需要在 AST 中插入新节点。 例如,向函数添加命名空间:把这个——

void foo();

进入这个——

namespace bar {
    void foo();
}

我读了如何克隆或创建 slang 的 AST Stmt 节点? 但我不喜欢使用源到源编译

答案可以在这里找到http://clang-developers.42468.n3.nabble.com/Adding-nodes-to-Clang-s-AST-td4054800.html

但是,节点被添加到编译的 AST 中 - 例如,如果想要将命名空间注入代码,他不能直接通过代码使用命名空间,因为词法分析器不知道它。

最新更新