diff options
author | Eduardo Julian | 2020-03-19 21:18:58 -0400 |
---|---|---|
committer | Eduardo Julian | 2020-03-19 21:18:58 -0400 |
commit | 6b8678f818a5f7399a50f4e2108d96783d22fd67 (patch) | |
tree | ade6d0a7b3c2dd7a826a90a56dc6e94600b59bbb /new-luxc/source/luxc/lang/translation/jvm/reference.lux | |
parent | 409deaa8f8a9727cf42762c8ac8ebe5b2766a04b (diff) |
Got the new compiler to build again.
Diffstat (limited to '')
-rw-r--r-- | new-luxc/source/luxc/lang/translation/jvm/reference.lux | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/new-luxc/source/luxc/lang/translation/jvm/reference.lux b/new-luxc/source/luxc/lang/translation/jvm/reference.lux index ba5cb33de..ff5d7a96c 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/reference.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/reference.lux @@ -10,9 +10,10 @@ ["." type]]] [tool [compiler - ["." name] ["." reference (#+ Register Variable)] ["." phase ("operation@." monad)] + [meta + [archive (#+ Archive)]] [language [lux ["." generation]]]]]] @@ -21,7 +22,8 @@ [host [jvm (#+ Inst Operation) ["_" inst]]]]] - ["." //]) + ["." // + ["#." runtime]]) (template [<name> <prefix>] [(def: #export <name> @@ -35,9 +37,10 @@ (def: (foreign variable) (-> Register (Operation Inst)) (do phase.monad - [function-class generation.context] + [class-name (:: @ map //runtime.class-name + generation.context)] (wrap (|>> (_.ALOAD 0) - (_.GETFIELD (type.class function-class (list)) + (_.GETFIELD (type.class class-name (list)) (|> variable .nat foreign-name) //.$Value))))) @@ -54,8 +57,9 @@ (#reference.Foreign variable) (foreign variable))) -(def: #export (constant name) - (-> Name (Operation Inst)) +(def: #export (constant archive name) + (-> Archive Name (Operation Inst)) (do phase.monad - [bytecode-name (generation.remember name)] - (wrap (_.GETSTATIC (type.class bytecode-name (list)) //.value-field //.$Value)))) + [class-name (:: @ map //runtime.class-name + (generation.remember archive name))] + (wrap (_.GETSTATIC (type.class class-name (list)) //.value-field //.$Value)))) |