SaffronMakeUnnamedFieldListImpl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 11:24:14 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
CedarBaseContext,
SaffronAG6Def,
ThreeC4Support,
SaffronATDef,
CedarBaseType;
SaffronMakeUnnamedFieldListImpl: CEDAR PROGRAM IMPORTS ThreeC4Support, CedarBaseType EXPORTS SaffronAG6Def=
BEGIN
OPEN CedarBaseContext, SaffronAG6Def, ThreeC4Support, SaffronATDef, CedarBaseType;
TypeItemProdMakeUnnamedFieldList: PUBLIC PROC[ref: REF ANY, unnamedFieldList: UnnamedFieldList, localContext: LocalContext, ribContext: RibContext, typeGraph: TypeGraph] RETURNS[temp0: UnnamedFieldList, temp1: LocalContext, temp2: TypeGraph] =
BEGIN
tree: TypeItemNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: TypeItemProdData ← NARROW[tree.data];
BEGIN
unnamedFieldList1: UnnamedFieldList;
fieldDescriptor: FieldDescriptor;
typeIndex: TypeIndex;
localContext1: LocalContext;
typeGraph1: TypeGraph;
[typeIndex, localContext1, typeGraph1] ← treeData.TypeExp.procs.MakeType[treeData.TypeExp, localContext, ribContext, typeGraph, UndefinedTypeIndex[]];
fieldDescriptor ← BuildFieldDescriptor[typeIndex];
unnamedFieldList1 ← AddUnnamedField[unnamedFieldList, fieldDescriptor];
temp2 ← typeGraph1;
temp1 ← localContext1;
temp0 ← unnamedFieldList1;
END;
END
END;
TypeListmanyProdMakeUnnamedFieldList: PUBLIC PROC[ref: REF ANY, unnamedFieldList: UnnamedFieldList, localContext: LocalContext, ribContext: RibContext, typeGraph: TypeGraph] RETURNS[temp0: UnnamedFieldList, temp1: LocalContext, temp2: TypeGraph] =
BEGIN
tree: TypeListNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: TypeListmanyProdData ← NARROW[tree.data];
BEGIN
unnamedFieldList1: UnnamedFieldList;
localContext1: LocalContext;
typeGraph1: TypeGraph;
[unnamedFieldList1, localContext1, typeGraph1] ← treeData.TypeListhead.procs.MakeUnnamedFieldList[treeData.TypeListhead, unnamedFieldList, localContext, ribContext, typeGraph];
[temp0, temp1, temp2] ← treeData.TypeListtail.procs.MakeUnnamedFieldList[treeData.TypeListtail, unnamedFieldList1, localContext1, ribContext, typeGraph1];
END;
END
END;
TypeListoneProdMakeUnnamedFieldList: PUBLIC PROC[ref: REF ANY, unnamedFieldList: UnnamedFieldList, localContext: LocalContext, ribContext: RibContext, typeGraph: TypeGraph] RETURNS[temp0: UnnamedFieldList, temp1: LocalContext, temp2: TypeGraph] =
BEGIN
tree: TypeListNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: TypeListoneProdData ← NARROW[tree.data];
[temp0, temp1, temp2] ← treeData.TypeItem.procs.MakeUnnamedFieldList[treeData.TypeItem, unnamedFieldList, localContext, ribContext, typeGraph];
END
END;
END..