<div dir="ltr">Hi All, <div><br></div><div>I am fairly new to Clang, so please forgive me if my question is dumb. I am trying to create a ASTFrontendAction to visit functions with a specific name and modifying them. I do the following:</div><div>







<p class=""><span class=""><b>class</b></span><span class=""> </span>FindNamedFunctionAction<span class="">: </span><span class=""><b>public</b></span><span class=""> clang::</span>ASTFrontendAction<span class=""> {</span></p>
<p class=""><b>public</b><span class="">:</span></p>
<p class=""><span class="">     </span><span class=""><b>virtual</b></span> std::<span class="">unique_ptr</span><clang::<span class="">ASTConsumer</span>> <b>CreateASTConsumer</b>(</p>
<p class=""><span class="">     </span><span class="">    </span><span class="">    </span>clang::<span class="">CompilerInstance</span> &Compiler, <span class=""><b>const</b></span> llvm::<span class="">StringRef</span> InFile) {</p><p class="">            // implementation of creating consumer and visitor etc. ...</p><p class="">}</p><p class="">};</p></div><div>I would like the function name to be a parameter to the action. If I provide an explicit argument </div><div>to the constructor of this action by having something like: </div><div><p class=""><span class=""><b>class</b></span><span class=""> </span>FindNamedFunctionAction<span class="">: </span><span class=""><b>public</b></span><span class=""> clang::</span>ASTFrontendAction<span class=""> {</span></p><p class=""><span class="">public: </span></p><p class=""><span class="">FindNamedFunctionAction(std::string Name): Name(Name){}<br></span></p><p class=""><span class="">private: </span></p><p class=""><span class="">std::string Name;</span></p><p class=""><span class="">...</span></p><p class=""><span class="">};</span></p><p class=""><span class=""><br></span></p><p class=""><span class="">But doing this doesn't work with running the tool with:  </span><span class="">tool.</span><b>run</b><span class="">(</span><b>newFrontendActionFactory</b><span class=""><</span><span class="">FindNamedFunctionAction</span><span class="">>().get());</span></p>







</div><div> I can't find any way of instantiating my action so that I can pass it to ClangTool's run method. Could anyone kindly point me in the right direction?</div><div><br></div><div>Thanks & Regards!</div><div><div><div class="gmail_signature" data-smartmail="gmail_signature">--</div></div>
</div></div>