aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/host/jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to 'new-luxc/source/luxc/lang/host/jvm.lux')
-rw-r--r--new-luxc/source/luxc/lang/host/jvm.lux131
1 files changed, 0 insertions, 131 deletions
diff --git a/new-luxc/source/luxc/lang/host/jvm.lux b/new-luxc/source/luxc/lang/host/jvm.lux
deleted file mode 100644
index d957bdb1d..000000000
--- a/new-luxc/source/luxc/lang/host/jvm.lux
+++ /dev/null
@@ -1,131 +0,0 @@
-(.module:
- [lux (#- Definition Type)
- [host (#+ import:)]
- [abstract
- monad]
- [control
- ["p" parser
- ["s" code]]]
- [data
- [binary (#+ Binary)]
- [collection
- ["." list ("#/." functor)]]]
- [macro
- ["." code]
- [syntax (#+ syntax:)]]
- [target
- [jvm
- ["." type (#+ Type)
- [category (#+ Class)]]]]
- [tool
- [compiler
- [reference (#+ Register)]
- [language
- [lux
- ["." generation]]]
- [meta
- [archive (#+ Archive)]]]]])
-
-(import: org/objectweb/asm/MethodVisitor)
-
-(import: org/objectweb/asm/ClassWriter)
-
-(import: #long org/objectweb/asm/Label
- (new []))
-
-(type: #export Def
- (-> ClassWriter ClassWriter))
-
-(type: #export Inst
- (-> MethodVisitor MethodVisitor))
-
-(type: #export Label
- org/objectweb/asm/Label)
-
-(type: #export Visibility
- #Public
- #Protected
- #Private
- #Default)
-
-(type: #export Version
- #V1_1
- #V1_2
- #V1_3
- #V1_4
- #V1_5
- #V1_6
- #V1_7
- #V1_8)
-
-(type: #export ByteCode Binary)
-
-(type: #export Definition [Text ByteCode])
-
-(type: #export Anchor [Label Register])
-
-(type: #export Host
- (generation.Host Inst Definition))
-
-(template [<name> <base>]
- [(type: #export <name>
- (<base> ..Anchor Inst Definition))]
-
- [State generation.State]
- [Operation generation.Operation]
- [Phase generation.Phase]
- [Handler generation.Handler]
- [Bundle generation.Bundle]
- [Extender generation.Extender]
- )
-
-(type: #export (Generator i)
- (-> Phase Archive i (Operation Inst)))
-
-(syntax: (config: {type s.local-identifier}
- {none s.local-identifier}
- {++ s.local-identifier}
- {options (s.tuple (p.many s.local-identifier))})
- (let [g!type (code.local-identifier type)
- g!none (code.local-identifier none)
- g!tags+ (list/map code.local-tag options)
- g!_left (code.local-identifier "_left")
- g!_right (code.local-identifier "_right")
- g!options+ (list/map (function (_ option)
- (` (def: (~' #export) (~ (code.local-identifier option))
- (~ g!type)
- (|> (~ g!none)
- (set@ (~ (code.local-tag option)) #1)))))
- options)]
- (wrap (list& (` (type: (~' #export) (~ g!type)
- (~ (code.record (list/map (function (_ tag)
- [tag (` .Bit)])
- g!tags+)))))
-
- (` (def: (~' #export) (~ g!none)
- (~ g!type)
- (~ (code.record (list/map (function (_ tag)
- [tag (` #0)])
- g!tags+)))))
-
- (` (def: (~' #export) ((~ (code.local-identifier ++)) (~ g!_left) (~ g!_right))
- (-> (~ g!type) (~ g!type) (~ g!type))
- (~ (code.record (list/map (function (_ tag)
- [tag (` (or (get@ (~ tag) (~ g!_left))
- (get@ (~ tag) (~ g!_right))))])
- g!tags+)))))
-
- g!options+))))
-
-(config: Class-Config noneC ++C [finalC])
-(config: Method-Config noneM ++M [finalM staticM synchronizedM strictM])
-(config: Field-Config noneF ++F [finalF staticF transientF volatileF])
-
-(def: #export new-label
- (-> Any Label)
- (function (_ _)
- (org/objectweb/asm/Label::new)))
-
-(def: #export (simple-class name)
- (-> Text (Type Class))
- (type.class name (list)))