javasf-0.1.0: src/Language/Java/Javasf.hs
module Language.Java.Javasf where
import Prelude(FilePath)
import Data.Binary.Get
import qualified Data.ByteString.Lazy as B
import Data.Maybe
import Data.String(String)
import Control.Monad((<=<))
import Data.Foldable(mapM_)
import Data.Function((.))
import Data.Tuple(snd)
import Language.Java.ClassFile
import System.IO(IO, putStrLn)
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_ ((putStrLn . showSourceFile) <=< B.readFile)