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
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"