aboutsummaryrefslogtreecommitdiff
path: root/lux-bootstrapper
diff options
context:
space:
mode:
authorEduardo Julian2021-02-26 02:34:17 -0400
committerEduardo Julian2021-02-26 02:34:17 -0400
commit69edb6de2ecf62881bcde1b8013c98450a6a52bc (patch)
tree3442a0abf0b5f95fa33adc586e470d150d2deece /lux-bootstrapper
parent47b320b854a6f28621c5d5d118cac31db27e7c50 (diff)
Got JRuby to cooperate.
Diffstat (limited to 'lux-bootstrapper')
-rw-r--r--lux-bootstrapper/src/lux/compiler/jvm/proc/host.clj6
1 files changed, 4 insertions, 2 deletions
diff --git a/lux-bootstrapper/src/lux/compiler/jvm/proc/host.clj b/lux-bootstrapper/src/lux/compiler/jvm/proc/host.clj
index ec934ae7b..034d503a7 100644
--- a/lux-bootstrapper/src/lux/compiler/jvm/proc/host.clj
+++ b/lux-bootstrapper/src/lux/compiler/jvm/proc/host.clj
@@ -412,7 +412,9 @@
(defn ^:private add-anon-class-<init> [^ClassWriter class-writer compile class-name super-class env ctor-args]
(|let [[super-class-name super-class-params] super-class
- init-types (->> ctor-args (&/|map (comp &host-generics/->type-signature &/|first)) (&/fold str ""))]
+ init-types (->> ctor-args
+ (&/|map (comp &host-generics/gclass->signature &/|first))
+ (&/fold str ""))]
(&/with-writer (.visitMethod class-writer Opcodes/ACC_PUBLIC init-method (anon-class-<init>-signature env) nil nil)
(|do [^MethodVisitor =method &/get-writer
:let [_ (doto =method
@@ -421,7 +423,7 @@
_ (&/map% (fn [type+term]
(|let [[type term] type+term]
(|do [_ (compile term)
- :let [_ (prepare-ctor-arg =method type)]]
+ :let [_ (prepare-ctor-arg =method (&host-generics/gclass->class-name type))]]
(return nil))))
ctor-args)
:let [_ (doto =method