All files / transpiler/logic/symbols/types IRegisterSymbol.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                                         
import ESymbolKind from "../../../../utils/types/ESymbolKind";
import IBaseSymbol from "./IBaseSymbol";
import IRegisterMemberInfo from "./IRegisterMemberInfo";
 
/**
 * Symbol representing a register block definition.
 * Registers provide typed access to memory-mapped I/O locations.
 */
interface IRegisterSymbol extends IBaseSymbol {
  /** Discriminant for type narrowing */
  kind: ESymbolKind.Register;
 
  /** Base address expression (as string, e.g., "0x40000000") */
  baseAddress: string;
 
  /** Map of member name to register member metadata */
  members: Map<string, IRegisterMemberInfo>;
}
 
export default IRegisterSymbol;