diff options
author | dos-reis <gdr@axiomatics.org> | 2011-11-26 23:22:40 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-11-26 23:22:40 +0000 |
commit | 437f814f275629d002bac24602266deb4b2e2616 (patch) | |
tree | 92b7f43d2ad754e352289ee2c3f4a9715b38d0a5 /src/interp/define.boot | |
parent | b91436e16c46bb3c8b0fa22d4f81eb8743f6cbd7 (diff) | |
download | open-axiom-437f814f275629d002bac24602266deb4b2e2616.tar.gz |
* interp/define.boot (assignCapsuleFunctionSlot): Do not call
NRTisExported?. Determine operation kind locally. Do not store
implement slot on the used entity list.
* interp/nruncomp.boot (genDeltaEntry): Likewise.
(deltaTran): Simplify.
(NRTisExported?): Remove.
(vectorLocation): Adjust.
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 |