DIRECTORY
	ThreeC4Support,
	ThreeC4FlowGraphAbGramDef,
	ThreeC4BaseDecl2Def,
	ThreeC4BasicAbTypesDef;

ThreeC4FlowGraphImplImpl: CEDAR PROGRAM IMPORTS ThreeC4Support, ThreeC4BaseDecl2Def EXPORTS ThreeC4FlowGraphAbGramDef= 
BEGIN
OPEN ThreeC4Support, ThreeC4FlowGraphAbGramDef, ThreeC4BaseDecl2Def, ThreeC4BasicAbTypesDef;
DamageShareAssertionsemptyProdFormRecordOfDamageShareAssertion: PUBLIC PROC[ref: REF ANY, FcnDefGraph: FcnDefGraphNode] RETURNS[temp0: FcnDefGraphNode] =
BEGIN
tree: DamageShareAssertionsNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
temp0 ← FakeCopyFcnBaseGraph[FcnDefGraph];
END
END;

DamageShareAssertionsmanyProdFormRecordOfDamageShareAssertion: PUBLIC PROC[ref: REF ANY, FcnDefGraph: FcnDefGraphNode] RETURNS[temp0: FcnDefGraphNode] =
BEGIN
tree: DamageShareAssertionsNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: DamageShareAssertionsmanyProdData ← NARROW[tree.data];
temp0 ← treeData.DamageShareAssertion.procs.FormRecordOfDamageShareAssertion[treeData.DamageShareAssertion, treeData.DamageShareAssertions.procs.FormRecordOfDamageShareAssertion[treeData.DamageShareAssertions, FcnDefGraph]];
END
END;

DamageShareAssertiondamagedRepsProdFormRecordOfDamageShareAssertion: PUBLIC PROC[ref: REF ANY, FcnDefGraph: FcnDefGraphNode] RETURNS[temp0: FcnDefGraphNode] =
BEGIN
tree: DamageShareAssertionNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: DamageShareAssertiondamagedRepsProdData ← NARROW[tree.data];
temp0 ← RecordDamageList[FcnDefGraph, treeData.ModIdList.procs.FormNameList[treeData.ModIdList]];
END
END;

DamageShareAssertionsharedRepsProdFormRecordOfDamageShareAssertion: PUBLIC PROC[ref: REF ANY, FcnDefGraph: FcnDefGraphNode] RETURNS[temp0: FcnDefGraphNode] =
BEGIN
tree: DamageShareAssertionNode← NARROW[ref];
BEGIN
ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length];
treeData: DamageShareAssertionsharedRepsProdData ← NARROW[tree.data];
temp0 ← RecordShareList[FcnDefGraph, treeData.ModIdList.procs.FormNameList[treeData.ModIdList]];
END
END;

END..