jvm-binary-0.1.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.StackMapTable

Contents

Description

Based on the StackMapTable Attribute, as documented here.

Synopsis

Documentation

newtype StackMapTable r Source #

An Exceptions attribute is a list of references into the constant pool.

Instances

ByteCodeStaged StackMapTable Source # 
Eq (StackMapTable High) Source # 
Eq (StackMapTable Low) Source # 
Ord (StackMapTable Low) Source # 
Show (StackMapTable High) Source # 
Show (StackMapTable Low) Source # 
Generic (StackMapTable High) Source # 

Associated Types

type Rep (StackMapTable High) :: * -> * #

Generic (StackMapTable Low) Source # 

Associated Types

type Rep (StackMapTable Low) :: * -> * #

Binary (StackMapTable Low) Source # 
NFData (StackMapTable High) Source # 

Methods

rnf :: StackMapTable High -> () #

NFData (StackMapTable Low) Source # 

Methods

rnf :: StackMapTable Low -> () #

IsAttribute (StackMapTable Low) Source #

StackMapTable is an Attribute.

type Rep (StackMapTable High) Source # 
type Rep (StackMapTable High) = D1 * (MetaData "StackMapTable" "Language.JVM.Attribute.StackMapTable" "jvm-binary-0.1.0-JJ8Rr7ERir79pQaBJvdiXV" True) (C1 * (MetaCons "StackMapTable" PrefixI True) (S1 * (MetaSel (Just Symbol "stackMapTable") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Choice (SizedList16 (StackMapFrame Low)) [StackMapFrame High] High))))
type Rep (StackMapTable Low) Source # 
type Rep (StackMapTable Low) = D1 * (MetaData "StackMapTable" "Language.JVM.Attribute.StackMapTable" "jvm-binary-0.1.0-JJ8Rr7ERir79pQaBJvdiXV" True) (C1 * (MetaCons "StackMapTable" PrefixI True) (S1 * (MetaSel (Just Symbol "stackMapTable") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Choice (SizedList16 (StackMapFrame Low)) [StackMapFrame High] Low))))

type DeltaOffset i = Choice Word16 Int i Source #

A delta offset

data StackMapFrame r Source #

An stack map frame

Instances

Eq (StackMapFrame High) Source # 
Eq (StackMapFrame Low) Source # 
Ord (StackMapFrame Low) Source # 
Show (StackMapFrame High) Source # 
Show (StackMapFrame Low) Source # 
Generic (StackMapFrame High) Source # 

Associated Types

type Rep (StackMapFrame High) :: * -> * #

Generic (StackMapFrame Low) Source # 

Associated Types

type Rep (StackMapFrame Low) :: * -> * #

Binary (StackMapFrame Low) Source # 
NFData (StackMapFrame High) Source # 

Methods

rnf :: StackMapFrame High -> () #

NFData (StackMapFrame Low) Source # 

Methods

rnf :: StackMapFrame Low -> () #

type Rep (StackMapFrame High) Source # 
type Rep (StackMapFrame High) = D1 * (MetaData "StackMapFrame" "Language.JVM.Attribute.StackMapTable" "jvm-binary-0.1.0-JJ8Rr7ERir79pQaBJvdiXV" False) (C1 * (MetaCons "StackMapFrame" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "deltaOffset") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (DeltaOffset High))) (S1 * (MetaSel (Just Symbol "frameType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (StackMapFrameType High)))))
type Rep (StackMapFrame Low) Source # 
type Rep (StackMapFrame Low) = D1 * (MetaData "StackMapFrame" "Language.JVM.Attribute.StackMapTable" "jvm-binary-0.1.0-JJ8Rr7ERir79pQaBJvdiXV" False) (C1 * (MetaCons "StackMapFrame" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "deltaOffset") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (DeltaOffset Low))) (S1 * (MetaSel (Just Symbol "frameType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (StackMapFrameType Low)))))

data StackMapFrameType r Source #

An stack map frame type

Instances

Staged StackMapFrameType Source # 

Methods

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

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

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

Eq (StackMapFrameType High) Source # 
Eq (StackMapFrameType Low) Source # 
Ord (StackMapFrameType Low) Source # 
Show (StackMapFrameType High) Source # 
Show (StackMapFrameType Low) Source # 
Generic (StackMapFrameType High) Source # 
Generic (StackMapFrameType Low) Source # 
NFData (StackMapFrameType High) Source # 

Methods

rnf :: StackMapFrameType High -> () #

NFData (StackMapFrameType Low) Source # 

Methods

rnf :: StackMapFrameType Low -> () #

type Rep (StackMapFrameType High) Source # 
type Rep (StackMapFrameType Low) Source # 

data VerificationTypeInfo r Source #

The types info of the stack map frame.

Instances

Staged VerificationTypeInfo Source # 
Eq (VerificationTypeInfo High) Source # 
Eq (VerificationTypeInfo Low) Source # 
Ord (VerificationTypeInfo Low) Source # 
Show (VerificationTypeInfo High) Source # 
Show (VerificationTypeInfo Low) Source # 
Generic (VerificationTypeInfo High) Source # 
Generic (VerificationTypeInfo Low) Source # 
Binary (VerificationTypeInfo Low) Source # 
NFData (VerificationTypeInfo High) Source # 

Methods

rnf :: VerificationTypeInfo High -> () #

NFData (VerificationTypeInfo Low) Source # 

Methods

rnf :: VerificationTypeInfo Low -> () #

type Rep (VerificationTypeInfo High) Source # 
type Rep (VerificationTypeInfo High) = D1 * (MetaData "VerificationTypeInfo" "Language.JVM.Attribute.StackMapTable" "jvm-binary-0.1.0-JJ8Rr7ERir79pQaBJvdiXV" False) ((:+:) * ((:+:) * ((:+:) * (C1 * (MetaCons "VTTop" PrefixI False) (U1 *)) (C1 * (MetaCons "VTInteger" PrefixI False) (U1 *))) ((:+:) * (C1 * (MetaCons "VTFloat" PrefixI False) (U1 *)) (C1 * (MetaCons "VTLong" PrefixI False) (U1 *)))) ((:+:) * ((:+:) * (C1 * (MetaCons "VTDouble" PrefixI False) (U1 *)) (C1 * (MetaCons "VTNull" PrefixI False) (U1 *))) ((:+:) * (C1 * (MetaCons "VTUninitializedThis" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "VTObject" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Ref ClassName High)))) (C1 * (MetaCons "VTUninitialized" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Word16)))))))
type Rep (VerificationTypeInfo Low) Source # 
type Rep (VerificationTypeInfo Low) = D1 * (MetaData "VerificationTypeInfo" "Language.JVM.Attribute.StackMapTable" "jvm-binary-0.1.0-JJ8Rr7ERir79pQaBJvdiXV" False) ((:+:) * ((:+:) * ((:+:) * (C1 * (MetaCons "VTTop" PrefixI False) (U1 *)) (C1 * (MetaCons "VTInteger" PrefixI False) (U1 *))) ((:+:) * (C1 * (MetaCons "VTFloat" PrefixI False) (U1 *)) (C1 * (MetaCons "VTLong" PrefixI False) (U1 *)))) ((:+:) * ((:+:) * (C1 * (MetaCons "VTDouble" PrefixI False) (U1 *)) (C1 * (MetaCons "VTNull" PrefixI False) (U1 *))) ((:+:) * (C1 * (MetaCons "VTUninitializedThis" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "VTObject" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Ref ClassName Low)))) (C1 * (MetaCons "VTUninitialized" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Word16)))))))

Helper functions

offsetDelta Source #

Arguments

:: Word16

Last Index

-> Word16

Delta

-> Word16

This Index

offsetDeltaInv Source #

Arguments

:: Word16

Last Index

-> Word16

Current Index

-> Word16

Delta