Misc minor updates.
authorIlya Portnov <portnov84@rambler.ru>
Fri, 30 Sep 2011 13:11:47 +0000 (19:11 +0600)
committerIlya Portnov <portnov84@rambler.ru>
Fri, 30 Sep 2011 13:11:47 +0000 (19:11 +0600)
JVM/Builder.hs
JVM/Common.hs
JVM/Dump.hs
TestGen.hs
dump-class.hs

index f905ab6af5f9f38094ffdec5a84498b51b617e11..155455f6f89d2abefb9a7043283b5e90935f6bf7 100644 (file)
@@ -1,9 +1,18 @@
 
 module JVM.Builder
   (module JVM.Builder.Monad,
-   module JVM.Builder.Instructions)
-  where
+   module JVM.Builder.Instructions,
+   arrayOf, sizedArray
+  ) where
+
+import JVM.ClassFile
 
 import JVM.Builder.Monad
 import JVM.Builder.Instructions
 
+arrayOf :: FieldType -> FieldType
+arrayOf t = Array Nothing t
+
+sizedArray :: Int -> FieldType -> FieldType
+sizedArray n t = Array (Just n) t
+
index 2a7397e96653893f67d49fda86dc1ee0efcdd367..7271e469eabf7cb603af0c54c92125aea4f4c427 100644 (file)
@@ -3,13 +3,11 @@
 module JVM.Common where
 
 import Codec.Binary.UTF8.String hiding (encode, decode)
-import Control.Applicative
 import Data.Binary
 import Data.Binary.Put
 import qualified Data.ByteString.Lazy as B
 import Data.Char
 import Data.String
-import qualified Data.Set as S
 import qualified Data.Map as M
 
 import JVM.ClassFile
index f81aa4aff31a0ec658a43030e19eabbd293284eb..3f450ed5e13c159f5f4be433fc207b6d4a08bfb9 100644 (file)
@@ -6,7 +6,7 @@ import qualified Data.Map as M
 import qualified Data.ByteString.Lazy as B
 import Text.Printf
 
-import JVM.Common
+import JVM.Common ()
 import JVM.ClassFile
 import JVM.Converter
 import JVM.Assembler
index 5bb8daad810cd28c777405cfe49b83387f2ffc9b..175e10b1b79a1f8a153baf35058f78d8027edf45 100644 (file)
@@ -10,9 +10,6 @@ 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
@@ -37,13 +34,14 @@ test = 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
index 57053d6f4b5f704788663185f2bde2b3d79b689e..76fd6813d725a5054adf0d848b8bb73aad5e5f46 100644 (file)
@@ -1,12 +1,8 @@
 {-# LANGUAGE OverloadedStrings #-}
 module Main where
 
-import Control.Monad
-import Data.Array
 import Data.Binary
 import System.Environment
-import qualified Data.ByteString.Lazy as B
-import Text.Printf
 import qualified Data.Map as M
 
 import JVM.Common