aboutsummaryrefslogtreecommitdiff
path: root/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
diff options
context:
space:
mode:
authorEduardo Julian2021-07-18 23:10:18 -0400
committerEduardo Julian2021-07-18 23:10:18 -0400
commita40f40f230e6312ae432f06e7f73aa5945d8fa49 (patch)
tree5005ef744b01f9327c2e4df23146928f1723c495 /lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
parent442d1557b879a8a4bd76f441f72a17bfb71cf05f (diff)
New JVM compiler can now compile JVM interfaces.
Diffstat (limited to 'lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux')
-rw-r--r--lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux20
1 files changed, 12 insertions, 8 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 441a415ee..a9727fc9a 100644
--- a/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
+++ b/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
@@ -536,7 +536,7 @@
(do phase.monad
[]
(wrap (|>> (_.string class)
- (_.INVOKESTATIC $Class "forName" (type.method [(list (type.class "java.lang.String" (list))) $Class (list)])))))
+ (_.INVOKESTATIC $Class "forName" (type.method [(list) (list (type.class "java.lang.String" (list))) $Class (list)])))))
_
(phase.throw extension.invalid_syntax [extension_name %synthesis inputs])))
@@ -725,7 +725,7 @@
(do {@ phase.monad}
[inputsTI (monad.map @ (generate_input generate archive) inputsTS)]
(wrap (|>> (_.fuse (list@map product.right inputsTI))
- (_.INVOKESTATIC class method (type.method [(list@map product.left inputsTI) outputT (list)]))
+ (_.INVOKESTATIC class method (type.method [(list) (list@map product.left inputsTI) outputT (list)]))
(prepare_output outputT)))))]))
(template [<name> <invoke>]
@@ -741,7 +741,8 @@
(_.CHECKCAST class)
(_.fuse (list@map product.right inputsTI))
(<invoke> class method
- (type.method [(list@map product.left inputsTI)
+ (type.method [(list)
+ (list@map product.left inputsTI)
outputT
(list)]))
(prepare_output outputT)))))]))]
@@ -761,7 +762,7 @@
(wrap (|>> (_.NEW class)
_.DUP
(_.fuse (list@map product.right inputsTI))
- (_.INVOKESPECIAL class "<init>" (type.method [(list@map product.left inputsTI) type.void (list)]))))))]))
+ (_.INVOKESPECIAL class "<init>" (type.method [(list) (list@map product.left inputsTI) type.void (list)]))))))]))
(def: member
Bundle
@@ -919,7 +920,8 @@
(def: (anonymous_init_method env)
(-> (Environment Synthesis) (Type Method))
- (type.method [(list.repeat (list.size env) $Object)
+ (type.method [(list)
+ (list.repeat (list.size env) $Object)
type.void
(list)]))
@@ -936,7 +938,7 @@
(_def.method #$.Public $.noneM "<init>" (anonymous_init_method env)
(|>> (_.ALOAD 0)
((_.fuse (list@map product.right inputsTI)))
- (_.INVOKESPECIAL super_class "<init>" (type.method [(list@map product.left inputsTI) type.void (list)]))
+ (_.INVOKESPECIAL super_class "<init>" (type.method [(list) (list@map product.left inputsTI) type.void (list)]))
store_capturedI
_.RETURN))))
@@ -986,7 +988,8 @@
(<synthesis>.tuple (<>.some ..class))
(<synthesis>.tuple (<>.some ..input))
(<synthesis>.tuple (<>.some ..overriden_method_definition)))
- (function (_ extension_name generate archive [super_class super_interfaces
+ (function (_ extension_name generate archive [super_class
+ super_interfaces
inputsTS
overriden_methods])
(do {@ phase.monad}
@@ -1040,7 +1043,8 @@
($_ $.++M $.finalM $.strictM)
$.finalM)
name
- (type.method [(list@map product.right arguments)
+ (type.method [(list)
+ (list@map product.right arguments)
returnT
exceptionsT])
(|>> bodyG (returnI returnT)))))))