packages feed

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)