From 36b18161c630292731ef18717a8e7ba80437d090 Mon Sep 17 00:00:00 2001 From: Ilya Portnov Date: Fri, 30 Sep 2011 19:11:47 +0600 Subject: [PATCH] Misc minor updates. --- JVM/Builder.hs | 13 +++++++++++-- JVM/Common.hs | 2 -- JVM/Dump.hs | 2 +- TestGen.hs | 6 ++---- dump-class.hs | 4 ---- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/JVM/Builder.hs b/JVM/Builder.hs index f905ab6..155455f 100644 --- a/JVM/Builder.hs +++ b/JVM/Builder.hs @@ -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 + diff --git a/JVM/Common.hs b/JVM/Common.hs index 2a7397e..7271e46 100644 --- a/JVM/Common.hs +++ b/JVM/Common.hs @@ -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 diff --git a/JVM/Dump.hs b/JVM/Dump.hs index f81aa4a..3f450ed 100644 --- a/JVM/Dump.hs +++ b/JVM/Dump.hs @@ -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 diff --git a/TestGen.hs b/TestGen.hs index 5bb8daa..175e10b 100644 --- a/TestGen.hs +++ b/TestGen.hs @@ -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] "" [] 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 diff --git a/dump-class.hs b/dump-class.hs index 57053d6..76fd681 100644 --- a/dump-class.hs +++ b/dump-class.hs @@ -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 -- 2.25.1