-- JaMTypeChk.mesa
-- Written by John Warnock, January, 1979
-- Last changed by Doug Wyatt, April 1, 1980 4:02 PM

DIRECTORY
JaMTypeChkDefs: FROM "JaMTypeChkDefs",
JaMMasterDefs: FROM "JaMMasterDefs" USING [
Object],
JaMControlDefs: FROM "JaMControlDefs" USING [
NotifyStringObject],
JaMExecDefs: FROM "JaMExecDefs" USING [
JaMError];

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

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

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

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

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

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

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

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

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

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

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

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

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

TypeChk: StringType Object;

StartTypeChk: PROCEDURE =
BEGIN OPEN JaMControlDefs;
NotifyStringObject[@TypeChk, ".typechk"L];
END;

-- Initialization
StartTypeChk;

END.

DKW March 28, 1980 4:48 PM
added StartTypeChk

DKW April 1, 1980 4:02 PM
now uses NotifyStringObject