BEGIN
CC: TYPE = CirioTypes.CompilerContext;
Type: TYPE = CirioTypes.Type;
Node: TYPE = CirioTypes.Node;
CreateListType:
PROC [listStructType: Type, listElementType: Type, getNewList:
PROC [listType: Type, data:
REF
ANY, cc:
CC]
RETURNS [Node], procData:
REF
ANY, cc:
CC]
RETURNS [Type];
CirioCode.GetTypeClass[type] = $list
CCTypes.GetTypeRepresentation will return NIL.
ListNodeInfo: TYPE = REF ListNodeInfoBody;
ListNodeInfoBody:
TYPE =
RECORD [
getListStruct: PROC [listStructType: Type, cc: CC, data: REF ANY] RETURNS [Node],
getListElements: PROC [index: INT, listElementType: Type, cc: CC, data: REF ANY] RETURNS [Node],
storeList: PROC [valNode: Node, cc: CC, data: REF ANY],
getPointer: PROC[data: REF ANY, cc: CC] RETURNS[CirioTypes.Node],
data: REF ANY
];
CreateListIndirectNode: PUBLIC PROC [type: Type, info: REF ANY] RETURNS [Node];