{-| 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