如何在运行clang :: tooling :: RefactoringTool :: runAndSave之后或同时运行自定义函数?

时间:2019-07-07 06:07:17

标签: c++ clang libtooling

我正在使用libClang构建重构工具。任何熟悉这项业务的人都会知道我在写什么。

我们都知道clang::tooling::RefactoringTool::runAndSave对所有提供的源文件运行RefactoringTool,并执行替换操作。更具体地说,为了执行替换,它首先构造包含所有节点的AST,然后在找到匹配项时,调用合适的回调类的run()方法(从{{1继承}}),一一替换。

我的问题是:在调用了所有回调类的MatchFinder::MatchCallback方法之后,并且在执行了替换操作之后,我想运行一个附加函数,该函数会将一些代码行添加到源代码中正在分析的程序。

run(): 1.首先运行替换, 2.然后将替换文件保存到文件中。

我想直接在这两个步骤之间执行我的附加功能。我想添加其他自定义替换,这些替换不能由每个回调类的clang::tooling::RefactoringTool::runAndSave方法应用。基本上,我想在回调类的所有run()方法都已执行之后执行其他替换。我该怎么办?我要使用哪种代码构造?

0 个答案:

没有答案