aboutsummaryrefslogtreecommitdiff
path: root/src/interp/database.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/database.boot')
-rw-r--r--src/interp/database.boot7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/interp/database.boot b/src/interp/database.boot
index da33e22b..f7834c15 100644
--- a/src/interp/database.boot
+++ b/src/interp/database.boot
@@ -101,10 +101,13 @@ getConstructorKindFromDB ctor ==
db := constructorDB ctor => dbConstructorKind db
nil
-getConstructorAncestorsFromDB: %Symbol -> %List %Constructor
+getConstructorAncestorsFromDB: %Symbol -> %List %Pair(%Instantiation,%Code)
getConstructorAncestorsFromDB ctor ==
builtinConstructor? ctor => nil -- FIXME: catch at cal sites.
- GETDATABASE(ctor,"ANCESTORS")
+ db := constructorDB ctor
+ if not dbBeingDefined? db and dbAncestors db isnt [.,:.] then
+ loadDBIfNecessary db
+ dbAncestors db
++ return the modemap of the constructor or the instantiation
++ of the constructor `form'.