-- JaMTypeChk.mesa
-- Written by John Warnock, January, 1979
-- Last changed by Doug Wyatt, February 10, 1981 7:11 PM

DIRECTORY
JaMTypeChkDefs,
JaMMasterDefs USING [Object],
JaMExecDefs USING [JaMError, typechk];

JaMTypeChk: PROGRAM
IMPORTS JaMExecDefs
EXPORTS JaMTypeChkDefs =
BEGIN OPEN JaMMasterDefs;

DescIntegerType: PUBLIC PROCEDURE[ob: Object]
RETURNS[IntegerType Object] =
BEGIN
WITH dob:ob SELECT FROM
IntegerType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescLongIntegerType: PUBLIC PROCEDURE[ob: Object]
RETURNS[LongIntegerType Object] =
BEGIN
WITH dob:ob SELECT FROM
LongIntegerType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescRealType: PUBLIC PROCEDURE[ob: Object]
RETURNS[RealType Object] =
BEGIN
WITH dob:ob SELECT FROM
RealType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescBooleanType: PUBLIC PROCEDURE[ob: Object]
RETURNS[BooleanType Object] =
BEGIN
WITH dob:ob SELECT FROM
BooleanType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescStringType: PUBLIC PROCEDURE[ob: Object]
RETURNS[StringType Object] =
BEGIN
WITH dob:ob SELECT FROM
StringType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescStreamType: PUBLIC PROCEDURE[ob: Object]
RETURNS[StreamType Object] =
BEGIN
WITH dob:ob SELECT FROM
StreamType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescCommandType: PUBLIC PROCEDURE[ob: Object]
RETURNS[CommandType Object] =
BEGIN
WITH dob:ob SELECT FROM
CommandType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescDictType: PUBLIC PROCEDURE[ob: Object]
RETURNS[DictType Object] =
BEGIN
WITH dob:ob SELECT FROM
DictType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescArrayType: PUBLIC PROCEDURE[ob: Object]
RETURNS[ArrayType Object] =
BEGIN
WITH dob:ob SELECT FROM
ArrayType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescStackType: PUBLIC PROCEDURE[ob: Object]
RETURNS[StackType Object] =
BEGIN
WITH dob:ob SELECT FROM
StackType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescFrameType: PUBLIC PROCEDURE[ob: Object]
RETURNS[FrameType Object] =
BEGIN
WITH dob:ob SELECT FROM
FrameType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

DescUserType: PUBLIC PROCEDURE[ob: Object]
RETURNS[UserType Object] =
BEGIN
WITH dob:ob SELECT FROM
UserType => RETURN[dob];
ENDCASE => { OPEN JaMExecDefs; ERROR JaMError[typechk,TRUE] };
END;

-- Initialization
STOP;

END.

DKW March 28, 1980 4:48 PM
added StartTypeChk
DKW April 1, 1980 4:02 PM
now uses NotifyStringObject
DKW February 10, 1981 7:00 PM
imports errors from JaMExecDefs; initializes after STOP