ライブラリと複数のアプリケーションがあります。Apps から Lib の API への関数呼び出しに関する使用統計を収集したいと考えています。基本的に私の現在のプロセスは次のとおりです。
- すべての関数/メソッドの Lib を解析します
- フォーマットされた方法で情報を出力する
- その出力を使用して、アプリから統計を収集します。
私は現在、USRの形式で相互参照を提供する libclang API を使用しているため、関数のインデックスを作成し、それをアプリの解析時に使用しています。問題は、この API が制限されていることです。そのため、Libtooling に移行したいと考えています。
libtooling の API を調べましたが、似たようなものを見つけることができませんでした。私の質問は、Libtooling を使用してその「相互参照」を実現するための最良の方法は何でしょうか。
例は次のとおりです。
> lib.h
class Foo {
public:
void bar();
};
> app.cpp
#include "lib.h"
int main(void) {
Foo f;
f.bar();
return 0;
}
予想される出力は json ファイルです。
{
"name": "bar",
"location": { "file": "lib.h", "line": 5},
"references": [{"file": "app.cpp", "line": 8}]
}