CDPrivate.mesa (part of ChipNDale)
Copyright © 1983, 1985, 1986 by Xerox Corporation. All rights reserved.
Created by Christian Jacobi, November 21, 1983 4:02 pm
Last Edited by: Christian Jacobi, August 16, 1986 5:07:35 pm PDT
DIRECTORY
CD;
CDPrivate: CEDAR DEFINITIONS =
BEGIN
-- Layers
LayerRef: TYPE = REF LayerRec;
LayerRec: TYPE = RECORD [
technology: CD.Technology←NIL,
uniqueKey: ATOMNIL, -- unique per technology
properties: CD.PropRef,
globalUniqueKey: REFNIL, --use as CDValue key reserved by CDDefaults
number: CD.Layer
];
layers: READONLY REF ARRAY CD.Layer OF LayerRef;
ConvertLayer: PROC [technology: CD.Technology, uniqueKey: ATOM, into: CD.Layer];
--To enable input of no more supported layers
-- Designs
DesignEnumerator: TYPE = PROC [design: CD.Design] RETURNS [quit: BOOLFALSE];
EnumDesigns: PROC [p: DesignEnumerator] RETURNS [BOOL];
--only (modifyable) subset of designs will be enumerated
--Enumerator does NOT have a lock on design: design is readonly unless locked explicitely
InstallDesignEnumerator: PRIVATE PROC [PROC [p: DesignEnumerator] RETURNS [BOOL]];
-- For object generators...
Hash: PROC[x: REF] RETURNS [h: CARDINAL];
--assumes x of type CD.Object
--generates hash code using size, layer and class
END.