import qualified Data.ByteString.Lazy as B
-import JVM.Types
import JVM.ClassFile
import JVM.Converter
import JVM.Assembler
-import JVM.Generator
-import JVM.Generator.Instructions
+import JVM.Builder
import qualified Java.Lang
import qualified Java.IO
-hello :: NameType Method
-hello = NameType "hello" $ MethodSignature [IntType] ReturnsVoid
-
test :: Generate ()
test = do
newMethod [ACC_PUBLIC] "<init>" [] ReturnsVoid $ do
pop
i0 RETURN
- newMethod [ACC_PUBLIC, ACC_STATIC] "main" [Array Nothing Java.Lang.stringClass] ReturnsVoid $ do
+ newMethod [ACC_PUBLIC, ACC_STATIC] "main" [arrayOf Java.Lang.stringClass] ReturnsVoid $ do
iconst_5
invokeStatic "Test" hello
i0 RETURN
return ()
+testClass :: Class Resolved
testClass = generate "Test" test
main = do