C++ では、コンパイラは delete キーワード/スコープの終了などの場所にデストラクタへの呼び出しを暗黙的に挿入する必要があります。C++ では、デストラクタへの呼び出しはコンパイル時に修正する必要があります (呼び出し先は実行時に vtables で決定される場合があります)。(上記でよろしいですか?)
しかし、Clang LibTooling を使用している間の Clang AST のダンプには、AST 内のデストラクタへのそのような暗黙的な呼び出しはありません。比較のために、スキャンされたソース コードに存在しない場合でも、AST に暗黙的に生成されたデフォルトのコンストラクターとデストラクター ノードがあります。
delete キーワードの場合、AST に CXXDeleteExpr ノードがありますが、デストラクタの CXXDestructorDecl は含まれず、削除するオブジェクトのタイプのみが含まれます。
デストラクタへの他のタイプの呼び出しの場合、AST にはノードがまったくありません。
次に、Clang LibTooling で、デストラクタが呼び出される場所に関する情報を取得する方法を教えてください。