Properly parse Code attribute.
[hs-java.git] / disassemble.hs
index a11a2ad5ef29046b199856757c9da16993572154..fc6e77f4da9e04633af4aa2c27c06b0e478a825b 100644 (file)
@@ -21,7 +21,9 @@ main = do
         B.putStrLn (methodName m)
         case attrByName m "Code" of
           Nothing -> putStrLn "(no code)\n"
-          Just bytecode -> let (Code code) = decodeS (0 :: Integer) bytecode
-                           in  forM_ code print
+          Just bytecode -> let code = decodeS (0 :: Integer) bytecode
+                           in  forM_ (codeInstructions code) $ \i -> do
+                                 putStr "  "
+                                 print i
 
     _ -> error "Synopsis: disassemble File.class"