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 33 34 35 36 37 | import SymbolTable from "../../../logic/symbols/SymbolTable";
/**
* Input interface for header type generators.
* Provides read-only access to symbol data needed for generating
* type definitions in C headers.
*
* This interface is a subset of ISymbolInfo, containing only
* the data needed for generating enums, structs, and bitmaps.
*/
interface IHeaderTypeInput {
/** Issue #502: Optional SymbolTable for C++ type detection */
readonly symbolTable?: SymbolTable;
/** Enum members and values: enumName -> (memberName -> value) */
readonly enumMembers: ReadonlyMap<string, ReadonlyMap<string, number>>;
/** Struct field types: structName -> (fieldName -> typeName) */
readonly structFields: ReadonlyMap<string, ReadonlyMap<string, string>>;
/** Array dimensions for struct fields: structName -> (fieldName -> dimensions) */
readonly structFieldDimensions: ReadonlyMap<
string,
ReadonlyMap<string, readonly number[]>
>;
/** Backing type for each bitmap: bitmapName -> typeName (e.g., "uint8_t") */
readonly bitmapBackingType: ReadonlyMap<string, string>;
/** Bitmap field info: bitmapName -> (fieldName -> {offset, width}) */
readonly bitmapFields: ReadonlyMap<
string,
ReadonlyMap<string, { readonly offset: number; readonly width: number }>
>;
}
export default IHeaderTypeInput;
|