UNPKG

symref

Version:

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

67 lines 2.69 kB
import { Project, Node } from 'ts-morph'; import { SymbolLocation } from '../types/index.js'; /** * シンボルの定義と参照を検索するクラス */ export declare class SymbolFinder { private project; private nodeUtils; /** * コンストラクタ * @param project ts-morphのプロジェクトインスタンス */ constructor(project: Project); /** * シンボルの定義ノードを見つける * @param symbolName シンボル名 * @returns 定義ノード(見つからない場合はundefined) */ findDefinitionNode(symbolName: string): Node | undefined; /** * 定義情報を抽出する * @param definitionNode 定義ノード * @returns 定義情報 */ extractDefinitionInfo(definitionNode: Node): SymbolLocation; /** * シンボルの参照を収集する * @param symbolName シンボル名 * @param definitionNode 定義ノード * @param includeInternalReferences 内部参照を含めるかどうか * @returns 参照情報の配列 */ collectReferences(symbolName: string, definitionNode: Node, includeInternalReferences?: boolean): SymbolLocation[]; /** * 定義ノードがクラスまたはインターフェースの定義かどうかを判定する * @param node 定義ノード * @returns クラスまたはインターフェースの定義かどうか */ private isClassOrInterfaceDefinition; /** * 参照情報を抽出する * @param node 参照ノード * @param currentFile 現在のファイルパス * @param contextPrefix コンテキスト情報の接頭辞 (例: "JSX Element") * @returns 参照情報 */ private extractReferenceInfo; /** * シンボルが存在するかどうかを確認する * @param symbolName シンボル名 * @returns シンボルが存在する場合はtrue、存在しない場合はfalse */ hasSymbol(symbolName: string): boolean; /** * プロジェクト内のすべてのエクスポートされたシンボルを取得 * @param filterType 特定のシンボルタイプでフィルタリングする場合(オプション) * @returns シンボル名とその位置情報のマップ */ getAllExportedSymbols(filterType?: 'class' | 'interface' | 'function' | 'enum' | 'variable'): Map<string, SymbolLocation>; /** * 宣言がエクスポートされているかどうかを確認 * @param node 宣言ノード * @returns エクスポートされている場合はtrue */ private isExported; } //# sourceMappingURL=SymbolFinder.d.ts.map