jvm-binary-0.9.0: A library for reading Java class-files

Copyright(c) Christian Gram Kalhauge 2018
LicenseMIT
Maintainerkalhuage@cs.ucla.edu
Safe HaskellNone
LanguageHaskell2010

Language.JVM.Attribute.Code

Description

 
Synopsis

Documentation

data Code r Source #

Code contains the actual byte-code. The i type parameter is added to allow indicate the two stages of the code file, before and after access to the ConstantPool. i should be either Ref or Deref.

Instances
Staged Code Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

stage :: LabelM m => (forall (s' :: Type -> Type). Staged s' => s' r -> m (s' r')) -> Code r -> m (Code r') Source #

evolve :: EvolveM m => Code Low -> m (Code High) Source #

devolve :: DevolveM m => Code High -> m (Code Low) Source #

Eq (Code High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

(==) :: Code High -> Code High -> Bool #

(/=) :: Code High -> Code High -> Bool #

Eq (Code Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

(==) :: Code Low -> Code Low -> Bool #

(/=) :: Code Low -> Code Low -> Bool #

Ord (Code Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

compare :: Code Low -> Code Low -> Ordering #

(<) :: Code Low -> Code Low -> Bool #

(<=) :: Code Low -> Code Low -> Bool #

(>) :: Code Low -> Code Low -> Bool #

(>=) :: Code Low -> Code Low -> Bool #

max :: Code Low -> Code Low -> Code Low #

min :: Code Low -> Code Low -> Code Low #

Show (Code High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Show (Code Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

showsPrec :: Int -> Code Low -> ShowS #

show :: Code Low -> String #

showList :: [Code Low] -> ShowS #

Generic (Code High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Associated Types

type Rep (Code High) :: Type -> Type #

Methods

from :: Code High -> Rep (Code High) x #

to :: Rep (Code High) x -> Code High #

Generic (Code Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Associated Types

type Rep (Code Low) :: Type -> Type #

Methods

from :: Code Low -> Rep (Code Low) x #

to :: Rep (Code Low) x -> Code Low #

Binary (Code Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

put :: Code Low -> Put #

get :: Get (Code Low) #

putList :: [Code Low] -> Put #

NFData (Code High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

rnf :: Code High -> () #

NFData (Code Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

rnf :: Code Low -> () #

IsAttribute (Code Low) Source #

Code is an Attribute.

Instance details

Defined in Language.JVM.Attribute.Code

type Rep (Code High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

type Rep (Code Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

data CodeAttributes r Source #

Instances
Eq (CodeAttributes High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Eq (CodeAttributes Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Ord (CodeAttributes Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Show (CodeAttributes High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Show (CodeAttributes Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Generic (CodeAttributes High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Associated Types

type Rep (CodeAttributes High) :: Type -> Type #

Generic (CodeAttributes Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Associated Types

type Rep (CodeAttributes Low) :: Type -> Type #

NFData (CodeAttributes High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

rnf :: CodeAttributes High -> () #

NFData (CodeAttributes Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

rnf :: CodeAttributes Low -> () #

type Rep (CodeAttributes High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

type Rep (CodeAttributes Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

data ExceptionTable r Source #

Constructors

ExceptionTable 

Fields

Instances
ByteCodeStaged ExceptionTable Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Eq (ExceptionTable High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Eq (ExceptionTable Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Ord (ExceptionTable Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Show (ExceptionTable High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Show (ExceptionTable Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Generic (ExceptionTable High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Associated Types

type Rep (ExceptionTable High) :: Type -> Type #

Generic (ExceptionTable Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Associated Types

type Rep (ExceptionTable Low) :: Type -> Type #

Binary (ExceptionTable Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

NFData (ExceptionTable High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

rnf :: ExceptionTable High -> () #

NFData (ExceptionTable Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

Methods

rnf :: ExceptionTable Low -> () #

type Rep (ExceptionTable High) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

type Rep (ExceptionTable Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Code

codeStackMapTable :: Code High -> Maybe (StackMapTable High) Source #

Returns the StackMapTable attribute if any

codeByteCodeOprs :: Code High -> Vector (ByteCodeOpr High) Source #

Extracts a list of bytecode operation

codeByteCodeInsts :: Code i -> Vector (ByteCodeInst i) Source #

Extracts a list of bytecode instructions