aboutsummaryrefslogtreecommitdiff
path: root/lux-jvm/source/program.lux
diff options
context:
space:
mode:
authorEduardo Julian2020-06-24 22:31:02 -0400
committerEduardo Julian2020-06-24 22:31:02 -0400
commitaa42fde49c66d73f41b17d4939a9226671442a8a (patch)
treec54e023d5dfbc271a632567e608087060317c2d1 /lux-jvm/source/program.lux
parentc3eab65e3f107f7acdc0c0354770f9b8fbd92c4f (diff)
Last bug fixes to get the new JVM compiler to fully process the standard library and its tests.
Diffstat (limited to 'lux-jvm/source/program.lux')
-rw-r--r--lux-jvm/source/program.lux18
1 files changed, 10 insertions, 8 deletions
diff --git a/lux-jvm/source/program.lux b/lux-jvm/source/program.lux
index e2cf047e9..ccb8ba414 100644
--- a/lux-jvm/source/program.lux
+++ b/lux-jvm/source/program.lux
@@ -82,13 +82,14 @@
(host.array-write 0 _object-class)
(host.array-write 1 _object-class)))
-(def: _apply4-args
+(def: _apply5-args
(Array (java/lang/Class java/lang/Object))
- (|> (host.array (java/lang/Class java/lang/Object) 4)
+ (|> (host.array (java/lang/Class java/lang/Object) 5)
(host.array-write 0 _object-class)
(host.array-write 1 _object-class)
(host.array-write 2 _object-class)
- (host.array-write 3 _object-class)))
+ (host.array-write 3 _object-class)
+ (host.array-write 4 _object-class)))
(def: #export (expander macro inputs lux)
Expander
@@ -127,7 +128,7 @@
(:coerce Handler)
(function (@self name phase))
(:coerce Phase)
- (function (@self parameters))
+ (function (@self archive parameters))
(:coerce Operation)
(function (@self state))
(:coerce Try)
@@ -137,14 +138,15 @@
[method (|> handler
(:coerce java/lang/Object)
(java/lang/Object::getClass)
- (java/lang/Class::getMethod "apply" _apply4-args))]
+ (java/lang/Class::getMethod "apply" _apply5-args))]
(java/lang/reflect/Method::invoke
(:coerce java/lang/Object handler)
- (|> (host.array java/lang/Object 4)
+ (|> (host.array java/lang/Object 5)
(host.array-write 0 (:coerce java/lang/Object name))
(host.array-write 1 (:coerce java/lang/Object phase))
- (host.array-write 2 (:coerce java/lang/Object parameters))
- (host.array-write 3 (:coerce java/lang/Object state)))
+ (host.array-write 2 (:coerce java/lang/Object archive))
+ (host.array-write 3 (:coerce java/lang/Object parameters))
+ (host.array-write 4 (:coerce java/lang/Object state)))
method))))
(def: (target service)