aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/statement/jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to 'new-luxc/source/luxc/lang/statement/jvm.lux')
-rw-r--r--new-luxc/source/luxc/lang/statement/jvm.lux12
1 files changed, 2 insertions, 10 deletions
diff --git a/new-luxc/source/luxc/lang/statement/jvm.lux b/new-luxc/source/luxc/lang/statement/jvm.lux
index a21cc76c8..0de84d65b 100644
--- a/new-luxc/source/luxc/lang/statement/jvm.lux
+++ b/new-luxc/source/luxc/lang/statement/jvm.lux
@@ -136,14 +136,6 @@
(def: string-descriptor (type.descriptor (type.class "java.lang.String" (list))))
-(def: parameter-types
- (-> (List Var) (Check (List [Var Type])))
- (monad.map check.monad
- (function (_ parameterJ)
- (do check.monad
- [[_ parameterT] check.var]
- (wrap [parameterJ parameterT])))))
-
(def: jvm::class
(Handler Anchor Inst Definition)
(/.custom
@@ -167,7 +159,7 @@
(do phase.monad
[parameters (statement.lift-analysis
(typeA.with-env
- (parameter-types parameters)))
+ (jvm.parameter-types parameters)))
#let [mapping (list@fold (function (_ [parameterJ parameterT] mapping)
(dictionary.put parameterJ parameterT mapping))
luxT.fresh
@@ -180,7 +172,7 @@
(case [(type.descriptor type) value]
(^template [<descriptor> <tag> <field>]
(^ [(static <descriptor>) [_ (<tag> value)]])
- (<field> #$.Public $.finalF name value))
+ (<field> #$.Public ($.++F $.staticF $.finalF) name value))
([type.boolean-descriptor #.Bit _def.boolean-field]
[type.byte-descriptor #.Int _def.byte-field]
[type.short-descriptor #.Int _def.short-field]