http://youtu.be/yuIOGfcOH0k
Clang tooling branch正在開發的工具,因為是從r31之後切出來的,
llvm需要從trunk抓對應的版號。
主要構成是inlcude/clang/ASTMatchers,
裡面有定義各種matcher以及match時的callback讓人置換程式碼。
目前需要make系統支援產生compile_commands.json來讓clang抓編譯參數,
CMake 2.8.5以後的版本加CMAKE_EXPORT_COMPILE_COMMANDS就會產生這個檔案
範例工具有
cfe/branches/tooling/examples/rename-method
cfe/branches/tooling/tools/remove-cstr-calls
用法都是executable <cmake-build-dir> <source1> <source2> ...
rename-method會把ElementsBase以及子類別的Get()換成Front()
remove-cstr-calls會把std::string(x.c_str()/p->c_str())換成std::string(x/*p)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.233.132