aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation/jvm/reference.lux
diff options
context:
space:
mode:
authorEduardo Julian2019-08-20 22:00:59 -0400
committerEduardo Julian2019-08-20 22:00:59 -0400
commit59ededb795732e04ac8e1eaceb2b1509a1c1cc23 (patch)
treec0498fbae7cd18fa9434c972a6f7e35d0e02b456 /new-luxc/source/luxc/lang/translation/jvm/reference.lux
parentcdfda2f80b2abd8ec7d8021aab910ccc82271ade (diff)
WIP: Make new-luxc instructions rely on the Descriptor type.
Diffstat (limited to '')
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/reference.lux9
1 files changed, 6 insertions, 3 deletions
diff --git a/new-luxc/source/luxc/lang/translation/jvm/reference.lux b/new-luxc/source/luxc/lang/translation/jvm/reference.lux
index 5fb0e0d63..8352c7d6f 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/reference.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/reference.lux
@@ -5,6 +5,9 @@
[data
[text
["%" format (#+ format)]]]
+ [target
+ [jvm
+ ["." descriptor]]]
[tool
[compiler
["." name]
@@ -32,9 +35,9 @@
(do phase.monad
[function-class generation.context]
(wrap (|>> (_.ALOAD 0)
- (_.GETFIELD function-class
+ (_.GETFIELD (descriptor.class function-class)
(|> variable .nat foreign-name)
- //.$Object)))))
+ //.$Value)))))
(def: local
(-> Register Inst)
@@ -53,4 +56,4 @@
(-> Name (Operation Inst))
(do phase.monad
[bytecode-name (generation.remember name)]
- (wrap (_.GETSTATIC bytecode-name //.value-field //.$Object))))
+ (wrap (_.GETSTATIC (descriptor.class bytecode-name) //.value-field //.$Value))))