jvm-binary-0.0.2: src/Language/JVM.hs
{-|
Module : Language.JVM
Copyright : (c) Christian Gram Kalhauge, 2017
License : MIT
Maintainer : kalhuage@cs.ucla.edu
The main entry point for using the library.
-}
module Language.JVM
( decodeClassFile
, module Language.JVM.Attribute
, module Language.JVM.ClassFile
, module Language.JVM.Constant
, module Language.JVM.Field
, module Language.JVM.Method
) where
import qualified Data.ByteString.Lazy as BL
import Data.Binary
import Language.JVM.Attribute
import Language.JVM.ClassFile
import Language.JVM.Constant
import Language.JVM.Field
import Language.JVM.Method
-- | Create a class file from a lazy 'BL.ByteString'
decodeClassFile :: BL.ByteString -> Either String ClassFile
decodeClassFile bs = do
case decodeOrFail bs of
Right (_, _, cf) -> Right cf
Left (_, _, msg) -> Left msg