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
CDPrivate: CEDAR DEFINITIONS =
BEGIN
-- Layers
LayerRef: TYPE = REF LayerRec;
LayerRec:
TYPE =
RECORD [
technology: CD.Technology←NIL,
uniqueKey: ATOM←NIL, -- unique per technology
properties: CD.PropRef,
globalUniqueKey: REF←NIL, --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: BOOL←FALSE];
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.