All files / transpiler/types/symbols IVariableSymbol.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                                                             
import type IBaseSymbol from "./IBaseSymbol";
import type TType from "../TType";
 
/**
 * Symbol representing a variable (global, static, or extern).
 */
interface IVariableSymbol extends IBaseSymbol {
  /** Discriminator narrowed to "variable" */
  readonly kind: "variable";
 
  /** Variable type */
  readonly type: TType;
 
  /** Whether this variable is const */
  readonly isConst: boolean;
 
  /** Whether this variable is atomic (volatile in C) */
  readonly isAtomic: boolean;
 
  /** Whether this variable is an array */
  readonly isArray: boolean;
 
  /** Array dimensions if isArray is true - numbers for resolved, strings for macros */
  readonly arrayDimensions?: ReadonlyArray<number | string>;
 
  /** Initial value expression (as string) */
  readonly initialValue?: string;
}
 
export default IVariableSymbol;