From 191de261d5a6dde0e287e33431f9a62a36f67ffa Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Thu, 7 Jan 2016 04:51:50 -0800 Subject: computeAncestorsOf: First parameter is now a DB for the the constructor. --- src/interp/br-data.boot | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/interp/br-data.boot') diff --git a/src/interp/br-data.boot b/src/interp/br-data.boot index 039874d5..6399277c 100644 --- a/src/interp/br-data.boot +++ b/src/interp/br-data.boot @@ -550,12 +550,14 @@ ancestorsOf(conform,domform) == --called by kcaPage, originsInOrder,... if domform then right := simpHasPred right right = false => nil [left,:right] - computeAncestorsOf(conform,domform) + -- FIXME: Handle builtin constructors such as Record and friends. + db := constructorDB conname + computeAncestorsOf(db,domform) -computeAncestorsOf(conform,domform) == +computeAncestorsOf(db,domform) == $done: local := hashTable 'EQUAL $if: local := hashTable 'EQ - ancestorsRecur(conform,domform,true,true) + ancestorsRecur(dbConstructorForm db,domform,true,true) acc := nil for op in listSort(function GLESSEQP,HKEYS $if) repeat for pair in tableValue($if,op) repeat acc := [pair,:acc] -- cgit v1.2.3