<> <> <> <> <> <> <> DIRECTORY Core, CoreClasses; CoreProperties: CEDAR DEFINITIONS = BEGIN OPEN Core; <> <> <> GetProp: PROC [from: Properties, prop: ATOM] RETURNS [value: REF ANY _ NIL]; <> PutProp: PROC [on: Properties, prop: ATOM, value: REF ANY _ NIL] RETURNS [new: Properties]; <> Enumerate: PROC [props: Properties, consume: PROC [ATOM, REF ANY]]; <> PrintProperties: PROC [props: Properties, out: STREAM _ NIL, indent: NAT _ 0, cr: BOOL _ TRUE, level: NAT _ 2]; <> <<>> GetPropPrintProc: PROC [prop: ATOM, val: REF ANY] RETURNS [PropPrintProc]; <> <> RegisterProperty: PROC [prop: ATOM, properties: Properties _ NIL] RETURNS [sameProp: ATOM]; <> RegisterUnprintableProperty: PROC [prop: ATOM, properties: Properties _ NIL] RETURNS [sameProp: ATOM]; <> StoreProperties: PROC [prop: ATOM, properties: Properties]; <> <<>> FetchProperties: PROC [prop: ATOM] RETURNS [properties: Properties]; <> propPrint: ATOM; <> PropPrintProc: TYPE = PROC [to: STREAM, prop: ATOM, val: REF ANY, indent, level: NAT, cr: BOOL]; PropDontPrint: REF PropPrintProc; -- Does not print anything <> InheritCellTypeProp: PROC [from: CellType, prop: ATOM] RETURNS [value: REF ANY _ NIL]; <> <<>> InheritPublicProp: PROC [cellType: CellType, from: Wire, prop: ATOM] RETURNS [value: REF ANY _ NIL]; <> <<>> <> PropertyLiteral: TYPE = RECORD [key: ATOM, val: REF ANY _ NIL]; Props: PROC [lit1, lit2, lit3, lit4, lit5, lit6: PropertyLiteral _ []] RETURNS [properties: Properties]; <> GetWireProp: PROC [from: Wire, prop: ATOM] RETURNS [value: REF ANY _ NIL]; <> PutWireProp: PROC [on: Wire, prop: ATOM, value: REF ANY _ NIL]; <> GetCellClassProp: PROC [from: CellClass, prop: ATOM] RETURNS [value: REF ANY _ NIL]; PutCellClassProp: PROC [on: CellClass, prop: ATOM, value: REF ANY _ NIL]; GetCellTypeProp: PROC [from: CellType, prop: ATOM] RETURNS [value: REF ANY _ NIL]; <> PutCellTypeProp: PROC [on: CellType, prop: ATOM, value: REF ANY _ NIL]; <> GetCellInstanceProp: PROC [from: CoreClasses.CellInstance, prop: ATOM] RETURNS [value: REF ANY _ NIL]; PutCellInstanceProp: PROC [on: CoreClasses.CellInstance, prop: ATOM, value: REF ANY _ NIL]; END.