feat: parse the entire classfile
This commit is contained in:
parent
f9fbedc87a
commit
d692c3a6c0
5 changed files with 77 additions and 5 deletions
|
@ -1,9 +1,11 @@
|
|||
{-# LANGUAGE DerivingVia #-}
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
module Language.Java.Classfile (Classfile(..)) where
|
||||
|
||||
import GHC.Generics (Generic, Generically(Generically))
|
||||
|
||||
import Language.Java.Classfile.Version (Version)
|
||||
import Language.Java.Classfile.Magic (Magic)
|
||||
import GHC.Generics (Generic, Generically(Generically))
|
||||
import Language.Java.Classfile.Extractable (Extractable)
|
||||
import Language.Java.Classfile.ConstantPool (ConstantPool)
|
||||
import Language.Java.Classfile.Flags (Flags)
|
||||
|
@ -11,6 +13,9 @@ import Language.Java.Classfile.ClassFlag (ClassFlag)
|
|||
import Language.Java.Classfile.ConstantPool.References (ClassReference)
|
||||
import Language.Java.Classfile.Interfaces (Interfaces)
|
||||
import Language.Java.Classfile.Fields (Fields)
|
||||
import Language.Java.Classfile.Methods (Methods)
|
||||
import Language.Java.Classfile.Attributes (Attributes)
|
||||
|
||||
|
||||
data Classfile = Classfile
|
||||
{ magic :: Magic
|
||||
|
@ -21,6 +26,8 @@ data Classfile = Classfile
|
|||
, super :: ClassReference
|
||||
, interfaces :: Interfaces
|
||||
, fields :: Fields
|
||||
, methods :: Methods
|
||||
, attributes :: Attributes
|
||||
}
|
||||
deriving stock (Show, Generic)
|
||||
deriving Extractable via Generically Classfile
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue