X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=JVM%2FDump.hs;h=02da46ae2a0d074b2dab39cc459c528795573816;hb=55d6741452443c59d700c01de495f50b56eb6f30;hp=a5b2d196b27ee05ca4b74e24926ef0412f74458f;hpb=afbece7c7a823691d1e17743aec4d94a930864c8;p=hs-java.git diff --git a/JVM/Dump.hs b/JVM/Dump.hs index a5b2d19..02da46a 100644 --- a/JVM/Dump.hs +++ b/JVM/Dump.hs @@ -2,23 +2,24 @@ module JVM.Dump where import Control.Monad -import Data.Array +import qualified Data.Map as M import qualified Data.ByteString.Lazy as B import Text.Printf import JVM.Types +import JVM.ClassFile import JVM.Converter import JVM.Assembler -dumpClass :: Class -> IO () +dumpClass :: Class Resolved -> IO () dumpClass cls = do putStr "Class: " - B.putStrLn (this cls) + B.putStrLn (thisClass cls) putStrLn "Constants pool:" - forM_ (assocs $ constantPool cls) $ \(i, c) -> + forM_ (M.assocs $ constsPool cls) $ \(i, c) -> putStrLn $ printf " #%d:\t%s" i (show c) putStrLn "Methods:" - forM_ (methods cls) $ \m -> do + forM_ (classMethods cls) $ \m -> do putStr ">> Method " B.putStr (methodName m) print (methodSignature m)