Cleanup, minor updates.
[hs-java.git] / JVM / Common.hs
index 2a7397e96653893f67d49fda86dc1ee0efcdd367..1b0e5eb022e012076f6605712d9e2538aefe0b57 100644 (file)
@@ -1,21 +1,26 @@
 {-# LANGUAGE TypeFamilies, StandaloneDeriving, FlexibleInstances, FlexibleContexts, UndecidableInstances #-}
--- | This module declares `high-level' data types for Java classes, methods etc.
-module JVM.Common where
+-- | This module declares some commonly used functions and instances.
+module JVM.Common
+  (toCharList,
+  poolSize,
+  (!),
+  showListIx,
+  byteString
+  ) 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 Data.Default
 
 import JVM.ClassFile
 
-instance IsString B.ByteString where
-  fromString s = B.pack $ map (fromIntegral . ord) $ encodeString s
+instance Default B.ByteString where
+  def = B.empty
+
+instance Default Word16 where
+  def = 0
 
 toCharList :: B.ByteString -> [Int]
 toCharList bstr = map fromIntegral $ B.unpack bstr