X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=hs-java.git;a=blobdiff_plain;f=JVM%2FConverter.hs;h=a5f9d106b41ece16fe93b00cdb32b7a5224361e1;hp=4fb0ec309f6608bf12494c3c4f7559bc31a73ddc;hb=551564c1e46fc926629bd12a3bd73ae7bd976687;hpb=f2bcec63fb2eecb74d83b117bd56aa180680f3c2 diff --git a/JVM/Converter.hs b/JVM/Converter.hs index 4fb0ec3..a5f9d10 100644 --- a/JVM/Converter.hs +++ b/JVM/Converter.hs @@ -17,7 +17,6 @@ import Data.Word import Data.Bits import Data.Binary import qualified Data.ByteString.Lazy as B -import Data.Array import qualified Data.Set as S import qualified Data.Map as M @@ -76,7 +75,7 @@ classFile (Class {..}) = ClassFile { toCPInfo :: Pool -> [CpInfo] toCPInfo pool = result where - result = map cpInfo $ elems pool + result = map cpInfo $ M.elems pool cpInfo (CClass name) = CONSTANT_Class (force "class" $ poolIndex result name) cpInfo (CField cls name) = @@ -157,7 +156,7 @@ constantPoolArray :: [CpInfo] -> Pool constantPoolArray list = pool where pool :: Pool - pool = listArray (1,n) $ map convert list + pool = M.fromList $ zip [1..] $ map convert list n = fromIntegral $ length list convertNameType :: (HasSignature a, Binary (Signature a)) => Word16 -> NameType a