aboutsummaryrefslogtreecommitdiff
path: root/lux-bootstrapper
diff options
context:
space:
mode:
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