Use type families: done.
[hs-java.git] / rebuild-class.hs
index 1265cf1207b9dd07db78da902197b4e049ff8d77..337c5b2f9d95fd94907f270055450e5fa0aff034 100644 (file)
@@ -6,6 +6,7 @@ import Data.Binary
 import System.Environment
 import qualified Data.ByteString.Lazy as B
 import Text.Printf
+import qualified Data.Map as M
 
 import JVM.Types
 import JVM.ClassFile
@@ -18,11 +19,11 @@ main = do
   case args of
     [clspath,outpath] -> do
       cls <- parseClassFile clspath
-      clsfile <- decodeFile clspath :: IO ClassFile
+      clsfile <- decodeFile clspath :: IO (Class Pointers)
       dumpClass cls
-      putStrLn $ "Source pool:\n" ++ showListIx (constsPool clsfile)
+      putStrLn $ "Source pool:\n" ++ showListIx (M.elems $ constsPool clsfile)
       let result = classFile cls
-      putStrLn $ "Result pool:\n" ++ showListIx (constsPool result)
+      putStrLn $ "Result pool:\n" ++ showListIx (M.elems $ constsPool result)
       B.writeFile outpath (encodeClass cls)
 
     _ -> error "Synopsis: rebuild-class File.class Output.class"