0

次のコード ブロックを表す複合ステートメントがあります。

    {
      int a = 3;
      foo(a);
      a = 4;
      foo(a);
      a = 5;
    }

元のステートメントの最初の 2 つのステートメントを含む、次のような別の複合ステートメントを作成したいと思います。

    {
      int a = 3;
      foo(a);
    }

そして、次の 2 つのステートメントを含む別のステートメント:

    {
      a = 4;
      foo(a);
    }

foo(a)asへの呼び出しがありますclang::CallExpr

私がこれまでに持っている唯一のアイデアは、元の複合ステートメントを反復しすぎて、見つかるまで他の複合ステートメントを埋めるfoo(a)ことです。しかし、API にはステートメントを比較する機能がないようです。より良いアイデアはありますか?

4

0 に答える 0