All files / transpiler/types/symbols TAnySymbol.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                                             
import type TSymbol from "./TSymbol";
import type TCSymbol from "./c/TCSymbol";
import type TCppSymbol from "./cpp/TCppSymbol";
 
/**
 * Union of all symbol types across all supported languages (C-Next, C, C++).
 *
 * Use this type when handling symbols that could come from any source file type:
 * - C-Next (.cnx) → TSymbol
 * - C (.c, .h) → TCSymbol
 * - C++ (.cpp, .hpp) → TCppSymbol
 *
 * The `sourceLanguage` field can be used to narrow the type:
 * ```typescript
 * if (symbol.sourceLanguage === ESourceLanguage.CNext) {
 *   // TypeScript knows symbol is TSymbol here
 * }
 * ```
 */
type TAnySymbol = TSymbol | TCSymbol | TCppSymbol;
 
export default TAnySymbol;