Pass3Attributes.mesa
Copyright Ó 1985, 1986, 1987, 1989, 1991 by Xerox Corporation. All rights reserved.
Satterthwaite, April 14, 1986 2:01:16 pm PST
Russ Atkinson (RRA) May 23, 1989 8:00:13 pm PDT
DIRECTORY
Alloc USING [Notifier],
Symbols USING [Type, CSEIndex, RecordSEIndex, CBTIndex],
Tree USING [Link];
Pass3Attributes: DEFINITIONS = {
OPEN Symbols;
types
DefaultForm: TYPE = {none, void, nonVoid};
LhsMode: TYPE = {none, uncounted, counted};
LifeTime: TYPE = {global, local, unknown};
notifiers
TypeNotify: Alloc.Notifier;
type attributes
AssignableType: PROC [type: Type, safe: BOOL] RETURNS [BOOL];
BaseType: PROC [Type] RETURNS [Type];
Bundling: PROC [CSEIndex] RETURNS [CARDINAL];
CanonicalType: PROC [Type] RETURNS [Type];
Default: PROC [Type] RETURNS [DefaultForm];
DefaultInit: PROC [Type] RETURNS [Tree.Link];
IdentifiedType: PROC [Type] RETURNS [BOOL];
IndexType: PROC [Type] RETURNS [BOOL];
LongType: PROC [Type] RETURNS [BOOL];
MarkedType: PROC [Type] RETURNS [CSEIndex];
NewableType: PROC [Type] RETURNS [BOOL];
OrderedType: PROC [Type] RETURNS [BOOL];
PermanentType: PROC [Type] RETURNS [BOOL];
TargetType: PROC [Type] RETURNS [Type];
Unbundle: PROC [RecordSEIndex] RETURNS [Type];
VarType: PROC [type: Type] RETURNS [BOOL];
Voidable: PROC [Type] RETURNS [BOOL];
tree attributes
BodyForTree: PROC [Tree.Link] RETURNS [CBTIndex];
LongPath: PROC [Tree.Link] RETURNS [BOOL];
OperandEntry: PROC [Tree.Link] RETURNS [BOOL];
OperandInternal: PROC [Tree.Link] RETURNS [BOOL];
OperandLevel: PROC [Tree.Link] RETURNS [LifeTime];
OperandLhs: PROC [t: Tree.Link, readonly: BOOL ¬ FALSE] RETURNS [LhsMode];
OperandType: PROC [Tree.Link] RETURNS [Type];
TypeForTree: PROC [Tree.Link] RETURNS [Type];
VoidItem: PROC [Tree.Link] RETURNS [BOOL];
}.