UNPKG

symref

Version:

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

90 lines (89 loc) 3.27 kB
import { SymbolAnalysisOptions, ReferenceResult, SymbolInfo, CallGraphResult, RuntimeTraceOptions, RuntimeTraceResult } from '../types/index.js'; /** * TypeScriptコードのシンボル参照を分析するクラス */ export declare class SymbolReferenceAnalyzer { private projectManager; private symbolFinder; private nodeUtils; private callGraphAnalyzer; private runtimeTraceAnalyzer; private options; private basePath; /** * コンストラクタ * @param options 設定オプション */ constructor(options: RuntimeTraceOptions); /** * シンボルの参照を分析する * @param symbolName 分析対象のシンボル名 * @param options 分析オプション * @returns 参照分析結果 */ analyzeSymbol(symbolName: string, options?: SymbolAnalysisOptions): ReferenceResult; /** * ファイル内の未参照シンボルをチェック * @param filePath チェック対象のファイルパス * @returns 他のファイルから参照されていないシンボルのリスト */ checkFile(filePath: string): SymbolInfo[]; /** * トップレベルのシンボルをチェックする * @param sourceFile ソースファイル * @param checkedSymbols チェック済みシンボルのセット * @param unreferencedSymbols 未参照シンボルのリスト */ private checkTopLevelSymbols; /** * クラスメンバーをチェックする * @param sourceFile ソースファイル * @param checkedSymbols チェック済みシンボルのセット * @param unreferencedSymbols 未参照シンボルのリスト */ private checkClassMembers; /** * メソッド参照を検索する * @param className クラス名 * @param methodName メソッド名 * @returns 参照の配列 */ private findMethodReferences; /** * プロパティ参照を検索する * @param className クラス名 * @param propertyName プロパティ名 * @returns 参照の配列 */ private findPropertyReferences; /** * 呼び出しグラフを構築する * @returns 構築されたノード数 */ buildCallGraph(): number; /** * 2つのシンボル間の呼び出し経路を分析 * @param fromSymbol 開始シンボル * @param toSymbol 終了シンボル * @returns 呼び出し経路の分析結果 */ traceCallPath(fromSymbol: string, toSymbol: string): CallGraphResult; /** * シンボルを呼び出すすべての経路を分析 * @param symbol 対象シンボル * @returns 呼び出し経路の分析結果 */ findCallers(symbol: string): CallGraphResult; /** * プロジェクトインスタンスを取得する * @returns プロジェクトインスタンス */ getProject(): import("ts-morph").Project; /** * 2つのシンボル間の呼び出し経路を動的に分析 * @param fromSymbol 開始シンボル * @param toSymbol 終了シンボル * @returns 呼び出し経路の分析結果 */ traceCallPathRuntime(fromSymbol: string, toSymbol: string): Promise<RuntimeTraceResult>; }