-- SaffronAddPairsToFieldListImpl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 6:29:57 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronAG7aDef, SaffronAG6cDef, ThreeC4Support, SaffronBaseDef, SaffronATDef; SaffronAddPairsToFieldListImpl: CEDAR PROGRAM IMPORTS ThreeC4Support, SaffronBaseDef EXPORTS SaffronAG7aDef, SaffronAG6cDef= BEGIN OPEN SaffronAG7aDef, SaffronAG6cDef, ThreeC4Support, SaffronBaseDef, SaffronATDef; PairListmanyProdAddPairsToFieldList: PUBLIC PROC[ref: REF ANY, localContext: LocalContextNode, fieldList: FieldListNode, paintRecords: BOOLEAN, cs: CompilerStateNode] RETURNS[temp0: LocalContextNode, temp1: FieldListNode] = BEGIN tree: PairListNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: PairListmanyProdData _ NARROW[tree.data]; BEGIN localContext1: LocalContextNode; fieldList1: FieldListNode; [localContext1, fieldList1] _ treeData.PairListhead.procs.AddPairsToFieldList[treeData.PairListhead, localContext, fieldList, paintRecords, cs]; [temp0, temp1] _ treeData.PairListtail.procs.AddPairsToFieldList[treeData.PairListtail, localContext1, fieldList1, paintRecords, cs]; END; END END; PairListoneProdAddPairsToFieldList: PUBLIC PROC[ref: REF ANY, localContext: LocalContextNode, fieldList: FieldListNode, paintRecords: BOOLEAN, cs: CompilerStateNode] RETURNS[temp0: LocalContextNode, temp1: FieldListNode] = BEGIN tree: PairListNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: PairListoneProdData _ NARROW[tree.data]; [temp0, temp1] _ treeData.PairItem.procs.AddPairsToFieldList[treeData.PairItem, localContext, fieldList, paintRecords, cs]; END END; PairItemProdAddPairsToFieldList: PUBLIC PROC[ref: REF ANY, localContext: LocalContextNode, fieldList: FieldListNode, paintRecords: BOOLEAN, cs: CompilerStateNode] RETURNS[temp0: LocalContextNode, temp1: FieldListNode] = BEGIN tree: PairItemNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: PairItemProdData _ NARROW[tree.data]; BEGIN localContext1: LocalContextNode; tgn: TypeGraphNodeNode; accessVal: AccessValNode; defaultExp: DefaultExpNode; defaultExp _ treeData.Default.procs.GetDefaultExpVal[treeData.Default]; accessVal _ treeData.Access.procs.GetAccessVal[treeData.Access, GetDefaultAccess[cs]]; [localContext1, tgn] _ treeData.TypeExp.procs.MakeType[treeData.TypeExp, localContext, paintRecords, cs]; temp1 _ treeData.IdentList.procs.AddNamesToFieldList[treeData.IdentList, accessVal, tgn, defaultExp, fieldList]; temp0 _ localContext1; END; END END; AccessemptyProdGetAccessVal: PUBLIC PROC[ref: REF ANY, default: AccessValNode] RETURNS[temp0: AccessValNode] = BEGIN tree: AccessNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; temp0 _ FakeCopyAccessVal[default]; END END; AccesspublicProdGetAccessVal: PUBLIC PROC[ref: REF ANY, default: AccessValNode] RETURNS[temp0: AccessValNode] = BEGIN tree: AccessNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; temp0 _ AccessValConst["public"]; END END; AccessprivateProdGetAccessVal: PUBLIC PROC[ref: REF ANY, default: AccessValNode] RETURNS[temp0: AccessValNode] = BEGIN tree: AccessNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; temp0 _ AccessValConst["private"]; END END; END..