symref
Version:
Static code checker for AI code agents (Windsurf, Cline, etc.)
42 lines (41 loc) • 1.4 kB
TypeScript
import { Project, Node } from 'ts-morph';
import { SymbolLocation } from '../types';
/**
* シンボルの定義と参照を検索するクラス
*/
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 参照ノード
* @param currentFile 現在のファイルパス
* @returns 参照情報
*/
private extractReferenceInfo;
}