2012-02-02 10 views
2

私はC/C++コードを解析するためにclangに興味があり、メソッドと関数を見つけることができます。libclang:メソッドの場所のコレクションを取得

clangを使用してC++ソースコードファイルを解析し、クラスとメソッドのコレクション、およびそれらの場所を取得できますか?

答えて

5

これはあなたのためにclangプラグインを書くことができます。

this articleをご覧ください。基本的に、独自のプラグインを構築し、ASTConsumerを使用してASTをトラバースする方法について説明します。記事に書かれているように、既存のプラグインの例PrintFunctionNamesから始めます。各関数宣言に対してメソッドHandleTopLevelDecl(DeclGroupRef DG)が呼び出されます。 ND->getNameAsString()に加えて、この方法でND->getLocation()を呼び出すことができます。

How to get location of variable name in clang::VarDecl

Handle C++ functions with clang API to insert code

:また API documentationを見て、詳細については、この二つの質問を持っています
関連する問題