aboutsummaryrefslogtreecommitdiff
path: root/luxc
diff options
context:
space:
mode:
authorEduardo Julian2019-05-09 20:43:13 -0400
committerEduardo Julian2019-05-09 20:43:13 -0400
commita6ad4391394f37fb8a729a26e27826c17a477fec (patch)
treef1a7bc31f9fa4dc97bab34274e2bf2eaff7a5315 /luxc
parentf02144843ec6175366bfcb73b4a22b835e87614c (diff)
WIP: Anonymous classes analysis & generation.
Diffstat (limited to 'luxc')
-rw-r--r--luxc/src/lux/compiler/jvm/proc/host.clj9
1 files changed, 6 insertions, 3 deletions
diff --git a/luxc/src/lux/compiler/jvm/proc/host.clj b/luxc/src/lux/compiler/jvm/proc/host.clj
index 91c39effb..11cf39ee9 100644
--- a/luxc/src/lux/compiler/jvm/proc/host.clj
+++ b/luxc/src/lux/compiler/jvm/proc/host.clj
@@ -173,8 +173,9 @@
_
(.visitInsn writer Opcodes/ARETURN)))
-(defn ^:private prepare-method-input [idx input ^MethodVisitor method-visitor]
+(defn ^:private prepare-method-input
"(-> Int [Text GenericClass] MethodVisitor (Lux FrameTag))"
+ [idx input ^MethodVisitor method-visitor]
(|case input
[_ (&/$GenericClass name params)]
(case name
@@ -225,8 +226,9 @@
(return (&/T [(inc idx) (&/|list (&host-generics/gclass->class-name gclass))]))
))
-(defn ^:private prepare-method-inputs [idx inputs method-visitor]
+(defn ^:private prepare-method-inputs
"(-> Int (List GenericClass) MethodVisitor (Lux (List FrameTag)))"
+ [idx inputs method-visitor]
(|case inputs
(&/$Nil)
(return &/$Nil)
@@ -437,8 +439,9 @@
(return nil)))))
)
-(defn ^:private constant-inits [fields]
+(defn ^:private constant-inits
"(-> (List FieldAnalysis) (List [Text GenericClass Analysis]))"
+ [fields]
(&/fold &/|++
&/$Nil
(&/|map (fn [field]