aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation/jvm/extension/host.lux
diff options
context:
space:
mode:
authorEduardo Julian2019-10-14 00:58:36 -0400
committerEduardo Julian2019-10-14 00:58:36 -0400
commit7d2607a34183662bb640644888fb52281a2d3ab4 (patch)
treeb76cd067f80443232811e8dbcc5ba71f40ae5571 /new-luxc/source/luxc/lang/translation/jvm/extension/host.lux
parent4f939136769d9a3f64088115e3b48f0e491c7c37 (diff)
The new compiler can compile & run the stdlib's test suite.
Diffstat (limited to 'new-luxc/source/luxc/lang/translation/jvm/extension/host.lux')
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/extension/host.lux8
1 files changed, 5 insertions, 3 deletions
diff --git a/new-luxc/source/luxc/lang/translation/jvm/extension/host.lux b/new-luxc/source/luxc/lang/translation/jvm/extension/host.lux
index ca6e31bfd..ea7ba6d33 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/extension/host.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/extension/host.lux
@@ -11,9 +11,9 @@
[data
["." product]
["." maybe]
+ ["." text ("#@." equivalence)]
[number
["." nat]]
- ["." text ("#@." equivalence)]
[collection
["." list ("#@." monad)]
["." dictionary (#+ Dictionary)]
@@ -921,7 +921,8 @@
(#.Left returnT)
(case (type.primitive? returnT)
(#.Left returnT)
- _.ARETURN
+ (|>> (_.CHECKCAST returnT)
+ _.ARETURN)
(#.Right returnT)
(cond (or (:: type.equivalence = type.boolean returnT)
@@ -994,7 +995,8 @@
self-name arguments returnT exceptionsT
bodyS])
(do @
- [bodyG (generate bodyS)]
+ [bodyG (generation.with-specific-context class-name
+ (generate bodyS))]
(wrap (_def.method #$.Public
(if strict-fp?
($_ $.++M $.finalM $.strictM)