aboutsummaryrefslogtreecommitdiff
path: root/lux-jvm/source/luxc/lang/translation/jvm/program.lux
diff options
context:
space:
mode:
authorEduardo Julian2020-06-28 19:58:12 -0400
committerEduardo Julian2020-06-28 19:58:12 -0400
commitec29b735396a656862ab9dcdde3627e234c938b0 (patch)
treed10afd930c5714480226d182582fef2a71839ba9 /lux-jvm/source/luxc/lang/translation/jvm/program.lux
parentaa42fde49c66d73f41b17d4939a9226671442a8a (diff)
Re-added & u[dated packaging machinery.
Diffstat (limited to 'lux-jvm/source/luxc/lang/translation/jvm/program.lux')
-rw-r--r--lux-jvm/source/luxc/lang/translation/jvm/program.lux24
1 files changed, 16 insertions, 8 deletions
diff --git a/lux-jvm/source/luxc/lang/translation/jvm/program.lux b/lux-jvm/source/luxc/lang/translation/jvm/program.lux
index 7ac897009..2c4f1d3f2 100644
--- a/lux-jvm/source/luxc/lang/translation/jvm/program.lux
+++ b/lux-jvm/source/luxc/lang/translation/jvm/program.lux
@@ -1,8 +1,17 @@
(.module:
[lux #*
+ [data
+ [text
+ ["%" format (#+ format)]]]
[target
[jvm
- ["$t" type]]]]
+ ["$t" type]]]
+ [tool
+ [compiler
+ [language
+ [lux
+ [generation (#+ Context)]
+ [program (#+ Program)]]]]]]
[luxc
[lang
[host
@@ -13,12 +22,10 @@
["." jvm
["." runtime]]]]])
-(def: #export class "LuxProgram")
-
(def: ^Object ($t.class "java.lang.Object" (list)))
-(def: #export (program programI)
- (-> _.Inst _.Definition)
+(def: #export (program artifact-name context programI)
+ (-> (-> Context Text) (Program _.Inst _.Definition))
(let [nilI runtime.noneI
num-inputsI (|>> ($i.ALOAD 0) $i.ARRAYLENGTH)
decI (|>> ($i.int +1) $i.ISUB)
@@ -67,11 +74,12 @@
($i.INVOKEVIRTUAL jvm.$Function runtime.apply-method (runtime.apply-signature 1)))
main-type ($t.method [(list ($t.array ($t.class "java.lang.String" (list))))
$t.void
- (list)])]
- [..class
+ (list)])
+ class (artifact-name context)]
+ [class
($d.class #_.V1_6
#_.Public _.finalC
- ..class
+ class
(list) ..^Object
(list)
(|>> ($d.method #_.Public _.staticM "main" main-type