All files / types IFoldedConstant.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                               
/**
 * A name's compile-time integer value where it is used, with the declared
 * type that holds it (#1664 review of #1668's C11).
 *
 * The type is what lets a fold refuse a result C would not compute: `A - 3`
 * on a `u8` is ADR-044's saturating `cnx_clamp_sub_u8(A, 3U)` in C, which is
 * 0, and a fold that knew only the value said -1.
 */
interface IFoldedConstant {
  readonly value: number;
  /** The declaration's C-Next type name (`u8`), or null when it has none */
  readonly typeName: string | null;
}
 
export default IFoldedConstant;