Add some Show instances.
[hs-java.git] / disassemble.hs
index fc6e77f4da9e04633af4aa2c27c06b0e478a825b..619ef2c736d81a6d9dfd40ea311b55eda074d644 100644 (file)
@@ -1,7 +1,9 @@
 {-# LANGUAGE OverloadedStrings #-}
 import Control.Monad
+import Data.Array
 import System.Environment
 import qualified Data.ByteString.Lazy as B
+import Text.Printf
 
 import Data.BinaryState
 import JVM.Types
@@ -15,6 +17,9 @@ main = do
       cls <- decompileFile clspath
       putStr "Class: "
       B.putStrLn (this cls)
+      putStrLn "Constants pool:"
+      forM_ (assocs $ constantPool cls) $ \(i, c) ->
+        putStrLn $ printf "  #%d:\t%s" i (show c)
       putStrLn "Methods:"
       forM_ (methods cls) $ \m -> do
         putStr ">> Method "