1

ライブラリと複数のアプリケーションがあります。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}]
}
4

0 に答える 0