aboutsummaryrefslogtreecommitdiff
path: root/lux-jvm/source/program.lux
diff options
context:
space:
mode:
Diffstat (limited to 'lux-jvm/source/program.lux')
-rw-r--r--lux-jvm/source/program.lux48
1 files changed, 24 insertions, 24 deletions
diff --git a/lux-jvm/source/program.lux b/lux-jvm/source/program.lux
index 9dc641d7f..e9f58a71b 100644
--- a/lux-jvm/source/program.lux
+++ b/lux-jvm/source/program.lux
@@ -113,16 +113,16 @@
Expander
(do try.monad
[apply_method (|> macro
- (:coerce java/lang/Object)
+ (:as java/lang/Object)
(java/lang/Object::getClass)
(java/lang/Class::getMethod "apply" _apply2_args))]
- (:coerce (Try (Try [Lux (List Code)]))
- (java/lang/reflect/Method::invoke
- (:coerce java/lang/Object macro)
- (|> (ffi.array java/lang/Object 2)
- (ffi.array_write 0 (:coerce java/lang/Object inputs))
- (ffi.array_write 1 (:coerce java/lang/Object lux)))
- apply_method))))
+ (:as (Try (Try [Lux (List Code)]))
+ (java/lang/reflect/Method::invoke
+ (:as java/lang/Object macro)
+ (|> (ffi.array java/lang/Object 2)
+ (ffi.array_write 0 (:as java/lang/Object inputs))
+ (ffi.array_write 1 (:as java/lang/Object lux)))
+ apply_method))))
(def: how_to_wrap_a_phase
Synthesis
@@ -214,13 +214,13 @@
(: (Try java/lang/Object))
(do try.monad
[apply_method (|> phase_wrapper
- (:coerce java/lang/Object)
+ (:as java/lang/Object)
(java/lang/Object::getClass)
(java/lang/Class::getMethod runtime.apply_method _apply1_args))]
(java/lang/reflect/Method::invoke
- (:coerce java/lang/Object phase_wrapper)
+ (:as java/lang/Object phase_wrapper)
(|> (ffi.array java/lang/Object 1)
- (ffi.array_write 0 (:coerce java/lang/Object phase)))
+ (ffi.array_write 0 (:as java/lang/Object phase)))
apply_method)))))))
(def: #export platform
@@ -241,30 +241,30 @@
(def: (extender phase_wrapper)
(-> platform.Phase_Wrapper Extender)
## TODO: Stop relying on coercions ASAP.
- (<| (:coerce Extender)
+ (<| (:as Extender)
(function (@self handler))
- (:coerce Handler)
+ (:as Handler)
(function (@self name phase))
- (:coerce Phase)
+ (:as Phase)
(function (@self archive parameters))
- (:coerce Operation)
+ (:as Operation)
(function (@self state))
- (:coerce Try)
+ (:as Try)
try.assume
- (:coerce Try)
+ (:as Try)
(do try.monad
[method (|> handler
- (:coerce java/lang/Object)
+ (:as java/lang/Object)
(java/lang/Object::getClass)
(java/lang/Class::getMethod "apply" _apply5_args))]
(java/lang/reflect/Method::invoke
- (:coerce java/lang/Object handler)
+ (:as java/lang/Object handler)
(|> (ffi.array java/lang/Object 5)
- (ffi.array_write 0 (:coerce java/lang/Object name))
- (ffi.array_write 1 (:coerce java/lang/Object (phase_wrapper phase)))
- (ffi.array_write 2 (:coerce java/lang/Object archive))
- (ffi.array_write 3 (:coerce java/lang/Object parameters))
- (ffi.array_write 4 (:coerce java/lang/Object state)))
+ (ffi.array_write 0 (:as java/lang/Object name))
+ (ffi.array_write 1 (:as java/lang/Object (phase_wrapper phase)))
+ (ffi.array_write 2 (:as java/lang/Object archive))
+ (ffi.array_write 3 (:as java/lang/Object parameters))
+ (ffi.array_write 4 (:as java/lang/Object state)))
method))))
(def: (declare_success! _)