aboutsummaryrefslogtreecommitdiff
path: root/src/interp/define.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-05-15 18:47:34 +0000
committerdos-reis <gdr@axiomatics.org>2013-05-15 18:47:34 +0000
commit974674143225554b96178718d83134946c58beb3 (patch)
tree5dc0f315e4a8bf66c7de20d4448b17a740508823 /src/interp/define.boot
parent0431131ebcdd17268513169c08fd1803a16d07f6 (diff)
downloadopen-axiom-974674143225554b96178718d83134946c58beb3.tar.gz
* interp/define.boot (dbClearForCompilation!): New.
(compDefineFunctor1): Use it.
Diffstat (limited to 'src/interp/define.boot')
-rw-r--r--src/interp/define.boot11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 7228ea44..6603f489 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -1384,6 +1384,13 @@ AMFCR_,redefined(opname,u) ==
op in '(PROGN SEQ) => AMFCR_,redefinedList(opname,l)
op = '%when => "OR"/[AMFCR_,redefinedList(opname,rest u) for u in l]
+dbClearForCompilation! db ==
+ dbTemplate(db) := nil
+ dbLookupFunction(db) := nil
+ dbCapsuleDefinitions(db) := nil
+ dbModemaps(db) := nil
+ dbDocumentation(db) := nil
+
substituteCategoryArguments(argl,catform) ==
argl := substitute("$$","$",argl)
applySubst(pairList($FormalMapVariableList,argl),catform)
@@ -1417,12 +1424,10 @@ compDefineFunctor1(df is ['DEF,form,signature,body],m,$e,$formalArgList) ==
$genSDVar: local:= 0
originale:= $e
db := constructorDB $op
+ dbClearForCompilation! db
dbConstructorForm(db) := form
dbCompilerData(db) := makeCompilationData()
dbFormalSubst(db) := pairList(form.args,$FormalMapVariableList)
- dbTemplate(db) := nil
- dbLookupFunction(db) := nil
- dbCapsuleDefinitions(db) := nil
$e := registerConstructor($op,$e)
deduceImplicitParameters(db,$e)
$formalArgList:= [:form.args,:$formalArgList]