-- file A3.mesa -- last modified by Satterthwaite, March 24, 1983 1:03 pm DIRECTORY Alloc: TYPE USING [Notifier], Symbols: TYPE USING [Type, CSEIndex, RecordSEIndex, CBTIndex], Tree: TYPE USING [Link]; A3: DEFINITIONS = { OPEN Symbols; -- types DefaultForm: TYPE = {none, void, nonVoid}; LhsMode: TYPE = {none, uncounted, counted}; LifeTime: TYPE = {global, local, unknown}; -- notifiers TreeNotify, TypeNotify: Alloc.Notifier; -- type attributes AccessMode: PUBLIC PROC [Type] RETURNS [LhsMode]; AssignableType: PROC [type: Type, safe: BOOL] RETURNS [BOOL]; CanonicalType: PROC [Type] RETURNS [CSEIndex]; Default: PROC [Type] RETURNS [DefaultForm]; DefaultInit: PROC [Type] RETURNS [Tree.Link]; IdentifiedType: PROC [Type] RETURNS [BOOL]; IndexType: PROC [Type] RETURNS [BOOL]; MarkedType: PROC [Type] RETURNS [CSEIndex]; NewableType: PROC [Type] RETURNS [BOOL]; NullableType: PROC [Type] RETURNS [BOOL]; OrderedType: PROC [Type] RETURNS [BOOL]; PermanentType: PROC [Type] RETURNS [BOOL]; TargetType: PROC [Type] RETURNS [CSEIndex]; Unwrap: PROC [RecordSEIndex] RETURNS [Type]; VarType: PROC [Type] RETURNS [BOOL]; Voidable: PROC [Type] RETURNS [BOOL]; Wrappings: PROC [Type] RETURNS [NAT]; -- tree attributes BodyForTree: PROC [Tree.Link] RETURNS [CBTIndex]; LongPath: PROC [Tree.Link] RETURNS [BOOL]; OperandInline: PROC [Tree.Link] RETURNS [BOOL]; OperandInternal: PROC [Tree.Link] RETURNS [BOOL]; OperandLevel: PROC [Tree.Link] RETURNS [LifeTime]; OperandLhs: PROC [Tree.Link] RETURNS [LhsMode]; OperandType: PROC [Tree.Link] RETURNS [CSEIndex]; TypeForTree: PROC [Tree.Link] RETURNS [Type]; VoidItem: PROC [Tree.Link] RETURNS [BOOL]; }.