module Language.Java.Javasf where import qualified Data.ByteString.Lazy as B import Data.Binary.Get import Language.Java.ClassFile import Data.Maybe sourceFile :: B.ByteString -> Maybe String sourceFile = sourcePath . snd . runGet getClass showSourceFile :: B.ByteString -> String showSourceFile x = "?Unknown?" `fromMaybe` sourceFile x javasf :: [FilePath] -> IO () javasf = mapM_ (\file -> putStrLn . showSourceFile =<< B.readFile file)