fixes
This commit is contained in:
parent
e910f32931
commit
23299457db
1 changed files with 10 additions and 7 deletions
|
|
@ -659,10 +659,7 @@
|
||||||
(->DynamicVal (:sym o))
|
(->DynamicVal (:sym o))
|
||||||
|
|
||||||
(instance? SpecialFormUse o)
|
(instance? SpecialFormUse o)
|
||||||
(let [code (:code o)
|
(->DynamicVal (:code o))
|
||||||
v (->DynamicVal code)]
|
|
||||||
(if (= 'fn* (first code))
|
|
||||||
(->DynamicFunction pred* [v])))
|
|
||||||
|
|
||||||
(instance? FnInvocation o)
|
(instance? FnInvocation o)
|
||||||
(let [op (magic-precompilation* (:op o))
|
(let [op (magic-precompilation* (:op o))
|
||||||
|
|
@ -733,9 +730,15 @@
|
||||||
(resolve-magic-code path)))
|
(resolve-magic-code path)))
|
||||||
|
|
||||||
(instance? DynamicVal o)
|
(instance? DynamicVal o)
|
||||||
(if (-> o :code direct-nav?)
|
(let [code (:code o)]
|
||||||
(:code o)
|
(cond (direct-nav? code)
|
||||||
`(coerce-nav ~(:code o)))
|
code
|
||||||
|
|
||||||
|
(or (set? code) (and (fn-invocation? code) (= 'fn* (first code))))
|
||||||
|
`(pred* ~code)
|
||||||
|
|
||||||
|
:else
|
||||||
|
`(coerce-nav ~code)))
|
||||||
|
|
||||||
(instance? DynamicFunction o)
|
(instance? DynamicFunction o)
|
||||||
(let [op (resolve-dynamic-fn-arg (:op o))
|
(let [op (resolve-dynamic-fn-arg (:op o))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue