UNPKG

symref

Version:

Static code checker for AI code agents (Windsurf, Cline, etc.)

119 lines 3.95 kB
import { Project } from 'ts-morph'; import { CallGraphResult } from '../types/index.js'; /** * 呼び出しグラフの構築と分析を担当するクラス */ export declare class CallGraphAnalyzer { private project; private nodeUtils; private callGraph; private outputDir; /** * コンストラクタ * @param project ts-morphのプロジェクトインスタンス * @param outputDir 出力ディレクトリ(オプション) */ constructor(project: Project, outputDir?: string); /** * 出力ディレクトリを確保 */ private ensureOutputDir; /** * グラフファイルの出力パスを生成 * @param baseName 基本ファイル名 * @returns 出力パス */ private generateOutputPath; /** * プロジェクト全体の呼び出しグラフを構築 * @returns 構築された呼び出しグラフのノード数 */ buildCallGraph(): number; /** * 関数宣言を処理 * @param sourceFile ソースファイル */ private processFunctions; /** * クラス宣言を処理 * @param sourceFile ソースファイル */ private processClasses; /** * 変数宣言を処理し、Reactコンポーネントをグラフに追加 * @param sourceFile ソースファイル */ private processVariableDeclarations; /** * 関数/メソッド本体内の呼び出し式を処理 * @param node 関数/メソッドノード * @param callGraphNode 呼び出しグラフノード */ private processCallExpressions; /** * 呼び出し関係を記録 * @param caller 呼び出し元ノード * @param calleeName 呼び出し先シンボル名 * @param callNode 呼び出し箇所のノード(オプション) */ private recordCallRelationship; /** * React Hook呼び出し関係を記録 * @param caller 呼び出し元ノード(コンポーネント) * @param hookName フック名 * @param callNode 呼び出し箇所のノード */ private recordHookCallRelationship; /** * 呼び出し関係を構築 */ private buildCallRelationships; /** * ノードを取得または作成 * @param symbolName シンボル名 * @param type シンボルタイプ * @param node ノード(オプション) * @returns 呼び出しグラフノード */ private getOrCreateNode; /** * 2つのシンボル間の呼び出し経路を検索 * @param fromSymbol 開始シンボル * @param toSymbol 終了シンボル * @returns 呼び出し経路の分析結果 */ findPathsFromTo(fromSymbol: string, toSymbol: string): CallGraphResult; /** * シンボルを呼び出すすべての経路を検索 * @param symbol 対象シンボル * @returns 呼び出し経路の分析結果 */ findAllCallers(symbol: string): CallGraphResult; /** * 深さ優先探索で経路を検索 * @param current 現在のノード * @param target 目標ノード * @param visited 訪問済みノード * @param path 現在の経路 * @param edges 現在の経路のエッジ * @param results 結果の経路リスト */ private dfsSearch; /** * 逆方向の深さ優先探索で経路を検索 * @param current 現在のノード * @param visited 訪問済みノード * @param path 現在の経路 * @param edges 現在の経路のエッジ * @param results 結果の経路リスト */ private dfsReverseSearch; /** * Mermaid形式のグラフを生成 * @param paths 経路リスト * @param baseName 基本ファイル名 * @returns Mermaid形式の文字列と出力パス */ private generateMermaidFormat; } //# sourceMappingURL=CallGraphAnalyzer.d.ts.map