All files / transpiler/logic/symbols/types IFunctionSymbol.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                                                   
import ESymbolKind from "../../../../utils/types/ESymbolKind";
import IBaseSymbol from "./IBaseSymbol";
import IParameterInfo from "./IParameterInfo";
 
/**
 * Symbol representing a function definition or declaration.
 */
interface IFunctionSymbol extends IBaseSymbol {
  /** Discriminant for type narrowing */
  kind: ESymbolKind.Function;
 
  /** Return type (e.g., "void", "u32", "Point") */
  returnType: string;
 
  /** Function parameters */
  parameters: IParameterInfo[];
 
  /** Visibility within a scope */
  visibility: "public" | "private";
 
  /** Full signature for overload detection (e.g., "void foo(int, float)") */
  signature?: string;
}
 
export default IFunctionSymbol;