-- SaffronAddToFieldListImpl.mesa
 -- Copyright س 1987 by Xerox Corporation.  All rights reserved.
 -- Generated by Rauen.pa at September 1, 1988 6:29:56 pm PDT
 --  using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT

DIRECTORY
	SaffronAG6cDef,
	ThreeC4Support,
	SaffronBaseDef,
	SaffronATDef;

SaffronAddToFieldListImpl: CEDAR PROGRAM IMPORTS ThreeC4Support, SaffronBaseDef EXPORTS SaffronAG6cDef= 
BEGIN
OPEN SaffronAG6cDef, ThreeC4Support, SaffronBaseDef, SaffronATDef;
TypeListmanyProdAddToFieldList:	PUBLIC PROC[ref: REF ANY, localContext: LocalContextNode, fieldList: FieldListNode, paintRecords: BOOLEAN, cs: CompilerStateNode] RETURNS[temp0: LocalContextNode, temp1: FieldListNode] =
BEGIN
tree:	TypeListNode_ NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData:	TypeListmanyProdData _ NARROW[tree.data];
BEGIN
localContext1:	LocalContextNode;
fieldList1:	FieldListNode;
[localContext1, fieldList1] _ treeData.TypeListhead.procs.AddToFieldList[treeData.TypeListhead, localContext, fieldList, paintRecords, cs];
[temp0, temp1] _ treeData.TypeListtail.procs.AddToFieldList[treeData.TypeListtail, localContext1, fieldList1, paintRecords, cs];
END;
END
END;

TypeListoneProdAddToFieldList:	PUBLIC PROC[ref: REF ANY, localContext: LocalContextNode, fieldList: FieldListNode, paintRecords: BOOLEAN, cs: CompilerStateNode] RETURNS[temp0: LocalContextNode, temp1: FieldListNode] =
BEGIN
tree:	TypeListNode_ NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData:	TypeListoneProdData _ NARROW[tree.data];
[temp0, temp1] _ treeData.TypeItem.procs.AddToFieldList[treeData.TypeItem, localContext, fieldList, paintRecords, cs];
END
END;

TypeItemProdAddToFieldList:	PUBLIC PROC[ref: REF ANY, localContext: LocalContextNode, fieldList: FieldListNode, paintRecords: BOOLEAN, cs: CompilerStateNode] RETURNS[temp0: LocalContextNode, temp1: FieldListNode] =
BEGIN
tree:	TypeItemNode_ NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData:	TypeItemProdData _ NARROW[tree.data];
BEGIN
fieldList1:	FieldListNode;
field:	FieldNode;
localContext1:	LocalContextNode;
tgn:	TypeGraphNodeNode;
defaultExp:	DefaultExpNode;
defaultExp _ treeData.Default.procs.GetDefaultExpVal[treeData.Default];
[localContext1, tgn] _ treeData.TypeExp.procs.MakeType[treeData.TypeExp, localContext, paintRecords, cs];
field _ CreateUnnamedField[tgn, defaultExp];
fieldList1 _ AppendFieldToFieldList[fieldList, field];
temp1 _ fieldList1;
temp0 _ localContext1;
END;
END
END;

END..