diff options
author | dos-reis <gdr@axiomatics.org> | 2008-05-29 07:00:40 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-05-29 07:00:40 +0000 |
commit | 54a6b006a39fd52cb0110e4ae3e2cec8e2708ec6 (patch) | |
tree | ae44750e6ddb7a20d4229991d35f7c53a0f1b74a /src/interp | |
parent | a96dbac109e95cab66934e98c27e0d148a9b98fd (diff) | |
download | open-axiom-54a6b006a39fd52cb0110e4ae3e2cec8e2708ec6.tar.gz |
Fix AW/421.
* interp/i-spec2.boot (uphas): When compiling a function, don't
bother evaluating type variables.
* testsuite/interpreter/aw-412.input: Add.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/i-spec2.boot | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/interp/i-spec2.boot b/src/interp/i-spec2.boot index c1189335..f3362bff 100644 --- a/src/interp/i-spec2.boot +++ b/src/interp/i-spec2.boot @@ -193,13 +193,19 @@ uphas t == t isnt [op,type,prop] => nil -- handler for category and attribute queries type := - isLocalVar(type) => ["unabbrev", type] + isLocalVar(type) => + $genValue => ["evaluateType", ["unabbrev", type]] + -- At this point, type will have already been reduced to + -- its object representation. + ["devaluate", type] MKQ unabbrev type catCode := + -- FIXME: when we come to support category valued variable + -- this code needs to be adapted. prop := unabbrev prop evaluateType0 prop => ["evaluateType", MKQ prop] MKQ prop - code:=["newHasTest",["evaluateType", type], catCode] + code:=["newHasTest",type, catCode] if $genValue then code := wrap timedEVALFUN code putValue(op,objNew(code,$Boolean)) putModeSet(op,[$Boolean]) |