diff options
Diffstat (limited to 'lux-jvm/source')
-rw-r--r-- | lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux b/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux index 78033cc96..28a5c34bc 100644 --- a/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux +++ b/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux @@ -1015,13 +1015,14 @@ inputs! (|> inputsTI list.enumeration (list#each (function (_ [register [type term]]) - (case (type.primitive? type) - {.#Right type} - (_.ALOAD (++ register)) - - {.#Left type} + (let [then! (case (type.primitive? type) + {.#Right type} + (_.unwrap type) + + {.#Left type} + (_.CHECKCAST type))] (|>> (_.ALOAD (++ register)) - (_.CHECKCAST type))))) + then!)))) _.fuse) store_capturedI (|> env list.size |