SaffronAddToNamedFieldListImpl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 11:24:10 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
SaffronAG7Def,
CedarBaseMisc,
ThreeC4Support,
SaffronATDef,
CedarBaseType;
SaffronAddToNamedFieldListImpl: CEDAR PROGRAM IMPORTS CedarBaseMisc, ThreeC4Support, CedarBaseType EXPORTS SaffronAG7Def=
BEGIN
OPEN SaffronAG7Def, CedarBaseMisc, ThreeC4Support, SaffronATDef, CedarBaseType;
IdentidProdAddToNamedFieldList: PUBLIC PROC[ref: REF ANY, typeIndex: TypeIndex, namedFieldList: NamedFieldList] RETURNS[temp0: NamedFieldList] =
BEGIN
tree: IdentNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: IdentidProdData ← NARROW[tree.data];
BEGIN
assert: BOOLEAN;
namedFieldList1: NamedFieldList;
ok: BOOLEAN;
fieldDescriptor: FieldDescriptor;
fieldDescriptor ← BuildFieldDescriptor[typeIndex];
[namedFieldList1, ok] ← AddNamedField[namedFieldList, treeData.id, fieldDescriptor];
assert ← Assert[ok, "multiply defined field name", BotchAction.quit];
temp0 ← namedFieldList1;
END;
END
END;
IdentListmanyProdAddToNamedFieldList: PUBLIC PROC[ref: REF ANY, typeIndex: TypeIndex, namedFieldList: NamedFieldList] RETURNS[temp0: NamedFieldList] =
BEGIN
tree: IdentListNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: IdentListmanyProdData ← NARROW[tree.data];
BEGIN
namedFieldList2: NamedFieldList;
namedFieldList1: NamedFieldList;
namedFieldList1 ← treeData.IdentListhead.procs.AddToNamedFieldList[treeData.IdentListhead, typeIndex, namedFieldList];
namedFieldList2 ← treeData.IdentListtail.procs.AddToNamedFieldList[treeData.IdentListtail, typeIndex, namedFieldList1];
temp0 ← namedFieldList2;
END;
END
END;
IdentListoneProdAddToNamedFieldList: PUBLIC PROC[ref: REF ANY, typeIndex: TypeIndex, namedFieldList: NamedFieldList] RETURNS[temp0: NamedFieldList] =
BEGIN
tree: IdentListNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: IdentListoneProdData ← NARROW[tree.data];
temp0 ← treeData.Ident.procs.AddToNamedFieldList[treeData.Ident, typeIndex, namedFieldList];
END
END;
END..