aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation/jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to 'new-luxc/source/luxc/lang/translation/jvm.lux')
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm.lux20
1 files changed, 9 insertions, 11 deletions
diff --git a/new-luxc/source/luxc/lang/translation/jvm.lux b/new-luxc/source/luxc/lang/translation/jvm.lux
index 390b1497d..569da0bd9 100644
--- a/new-luxc/source/luxc/lang/translation/jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm.lux
@@ -25,6 +25,9 @@
["." descriptor]]]]
[tool
[compiler
+ [language
+ [lux
+ ["." generation]]]
[meta
[archive
[descriptor (#+ Module)]
@@ -98,14 +101,9 @@
## It should be cleaned up ASAP.
(def: prefix "lux.")
-(def: #export class-name'
- (-> Text Text)
- (|>> (text.replace-all .module-separator ..class-path-separator)
- (format ..prefix)))
-
-(def: #export (class-name module id)
- (-> Module artifact.ID Text)
- (format (..class-name' module) ..class-path-separator (%.nat id)))
+(def: #export (class-name [module-id artifact-id])
+ (-> generation.Context Text)
+ (format ..prefix (%.nat module-id) ..class-path-separator (%.nat artifact-id)))
(def: (evaluate! library loader eval-class valueI)
(-> Library ClassLoader Text Inst (Try [Any Definition]))
@@ -142,9 +140,9 @@
(loader.store class-name class-bytecode library))]
(loader.load class-name loader))))
-(def: (define! library loader module id valueI)
- (-> Library ClassLoader Module artifact.ID Inst (Try [Text Any Definition]))
- (let [class-name (..class-name module id)]
+(def: (define! library loader context valueI)
+ (-> Library ClassLoader generation.Context Inst (Try [Text Any Definition]))
+ (let [class-name (..class-name context)]
(do try.monad
[[value definition] (evaluate! library loader class-name valueI)]
(wrap [class-name value definition]))))