diff options
Diffstat (limited to 'src/interp/define.boot')
-rw-r--r-- | src/interp/define.boot | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot index 8204957c..600195a1 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -1697,16 +1697,16 @@ orderByDependency(vl,dl) == ++ Subroutine of compDefineCapsuleFunction. assignCapsuleFunctionSlot(db,op,sig) == - opSig := [op,sig] - [.,.,implementation] := NRTisExported? opSig or return nil - --if opSig is not exported, it is local and need not be assigned + kind := or/[u.mapKind for u in categoryExports $domainShell + | symbolEq?(op,u.mapOperation) and sig = u.mapSignature] + kind = nil => nil -- op is local and need not be assigned if $insideCategoryPackageIfTrue then sig := substitute('$,second dbConstructorForm db,sig) sig := [getLocalIndex(db,x) for x in sig] - opModemapPair := [op,['_$,:sig],["T",implementation]] - n := dbEntitySlot(db,opModemapPair) => n --already there + desc := [op,'$,:sig,kind] + n := dbEntitySlot(db,desc) => n --already there n := dbEntityCount db + $NRTbase - dbUsedEntities(db) := [[opModemapPair],:dbUsedEntities db] + dbUsedEntities(db) := [[desc],:dbUsedEntities db] dbEntityCount(db) := dbEntityCount db + 1 n |