SaffronMakeFieldListImpl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 11:24:12 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
CedarBaseContext,
SaffronAG6Def,
ThreeC4Support,
SaffronATDef,
CedarBaseType;
SaffronMakeFieldListImpl: CEDAR PROGRAM IMPORTS CedarBaseContext, ThreeC4Support, CedarBaseType EXPORTS SaffronAG6Def=
BEGIN
OPEN CedarBaseContext, SaffronAG6Def, ThreeC4Support, SaffronATDef, CedarBaseType;
RecListemptyProdMakeFieldList: PUBLIC PROC[ref: REF ANY, localContext: LocalContext, ribContext: RibContext, typeGraph: TypeGraph] RETURNS[temp0: FieldList, temp1: LocalContext, temp2: TypeGraph] =
BEGIN
tree: RecListNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
temp2 ← XTypeGraph[typeGraph];
temp1 ← XLocalContext[localContext];
temp0 ← BuildNullFieldList[];
END
END;
RecListpairlistProdMakeFieldList: PUBLIC PROC[ref: REF ANY, localContext: LocalContext, ribContext: RibContext, typeGraph: TypeGraph] RETURNS[temp0: FieldList, temp1: LocalContext, temp2: TypeGraph] =
BEGIN
tree: RecListNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: RecListpairlistProdData ← NARROW[tree.data];
BEGIN
namedFieldList: NamedFieldList;
localContext1: LocalContext;
typeGraph1: TypeGraph;
[namedFieldList, localContext1, typeGraph1] ← treeData.PairList.procs.MakeNamedFieldList[treeData.PairList, CreateNamedFieldList[], localContext, ribContext, typeGraph];
temp2 ← typeGraph1;
temp1 ← localContext1;
temp0 ← BuildNamedFieldList[namedFieldList];
END;
END
END;
RecListtypelistProdMakeFieldList: PUBLIC PROC[ref: REF ANY, localContext: LocalContext, ribContext: RibContext, typeGraph: TypeGraph] RETURNS[temp0: FieldList, temp1: LocalContext, temp2: TypeGraph] =
BEGIN
tree: RecListNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: RecListtypelistProdData ← NARROW[tree.data];
BEGIN
unnamedFieldList: UnnamedFieldList;
localContext1: LocalContext;
typeGraph1: TypeGraph;
[unnamedFieldList, localContext1, typeGraph1] ← treeData.TypeList.procs.MakeUnnamedFieldList[treeData.TypeList, CreateUnnamedFieldList[], localContext, ribContext, typeGraph];
temp2 ← typeGraph1;
temp1 ← localContext1;
temp0 ← BuildUnnamedFieldList[unnamedFieldList];
END;
END
END;
END..