UncountedAssignHack.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Russ Atkinson (RRA) May 1, 1986 7:11:22 pm PDT
McCreight, May 7, 1986 11:00:08 am PDT
DIRECTORY
;
UncountedAssignHack: CEDAR DEFINITIONS
= BEGIN
AssignResult: TYPE = {
success, -- assignment was successful
typesNE, -- types were not equal
sizesNE, -- sizes were not equal
problem  -- some other problem
};
EqualResult: TYPE = {
equal, -- objects were equal
typesNE, -- types were not equal
sizesNE, -- sizes were not equal
contentsNE, -- contents were not equal
problem  -- either not comparable or some other problem
};
ProblemKind: TYPE = {
noProblem, -- no problem
nilRef, -- ref = NIL
typeIsRC, -- type is REF containing
tooLong, -- object is too long (> Allocator.maxSmallBlockSize words)
tooShort}; -- object is too small (probably damaged)
UncountedSmallAssignProc: PUBLIC PROC [dst: REF, src: REF] RETURNS [AssignResult];
UncountedSmallAssignPlease: PUBLIC PROC [dst: REF, src: REF];
UncountedSmallNewProc: PUBLIC PROC [src: REF] RETURNS [dst: REFNIL];
UncountedSmallEqualProc: PUBLIC PROC [ref1, ref2: REF] RETURNS [EqualResult];
DiagnoseProblemProc: PUBLIC PROC [ref: REF] RETURNS [ProblemKind];
END.