All files / transpiler/types/symbols IBaseSymbol.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 24 25 26 27 28 29 30 31 32                                                               
import type TSymbolKindCNext from "../symbol-kinds/TSymbolKindCNext";
import type ESourceLanguage from "../../../utils/types/ESourceLanguage";
 
/**
 * Base interface for all symbol types.
 * All concrete symbol interfaces extend this with a narrowed `kind` literal.
 */
interface IBaseSymbol {
  /** Symbol kind - discriminator for type narrowing */
  readonly kind: TSymbolKindCNext;
 
  /** Symbol name */
  readonly name: string;
 
  /** Scope this symbol belongs to (circular reference resolved at runtime) */
  readonly scope: IBaseSymbol;
 
  /** Source file where the symbol is defined */
  readonly sourceFile: string;
 
  /** Line number in the source file */
  readonly sourceLine: number;
 
  /** Source language (CNext, C, Cpp) */
  readonly sourceLanguage: ESourceLanguage;
 
  /** Whether this symbol is exported/public */
  readonly isExported: boolean;
}
 
export default IBaseSymbol;