| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
JVM.Data.Abstract.ConstantPool
Description
Provides a monadic interface to the constant pool. This aims to eliminate the need to manually specify the index of the constant
Synopsis
- data ConstantPoolEntry
- = CPClassEntry ClassInfoType
- | CPFieldRefEntry FieldRef
- | CPMethodRefEntry MethodRef
- | CPInterfaceMethodRefEntry MethodRef
- | CPStringEntry Text
- | CPIntegerEntry Int
- | CPFloatEntry Float
- | CPLongEntry Int64
- | CPDoubleEntry Double
- | CPNameAndTypeEntry Text Text
- | CPUTF8Entry Text
- | CPMethodHandleEntry MethodHandleEntry
- | CPMethodTypeEntry MethodDescriptor
- | CPInvokeDynamicEntry BootstrapMethod Text MethodDescriptor
- data MethodHandleEntry
- data FieldRef = FieldRef ClassInfoType Text FieldType
- data MethodRef = MethodRef ClassInfoType Text MethodDescriptor
- data BootstrapMethod = BootstrapMethod MethodHandleEntry [BootstrapArgument]
- data BootstrapArgument
- bmArgToCPEntry :: BootstrapArgument -> ConstantPoolEntry
Documentation
data ConstantPoolEntry Source #
High-level, type-safe representation of a constant pool entry This tries to hide indexes as much as possible, instead just allowing the values to be provided directly. These are transformed into the correct indexes when the constant pool is built, which uses a state monad to avoid repeating entries.
Constructors
| CPClassEntry | A class reference |
Fields
| |
| CPFieldRefEntry FieldRef | |
| CPMethodRefEntry MethodRef | |
| CPInterfaceMethodRefEntry MethodRef | |
| CPStringEntry Text | |
| CPIntegerEntry Int | |
| CPFloatEntry Float | |
| CPLongEntry Int64 | |
| CPDoubleEntry Double | |
| CPNameAndTypeEntry Text Text | |
| CPUTF8Entry Text | |
| CPMethodHandleEntry MethodHandleEntry | |
| CPMethodTypeEntry MethodDescriptor | |
| CPInvokeDynamicEntry | CONSTANT_InvokeDynamic_info |
Fields
| |
Instances
| Show ConstantPoolEntry Source # | |
Defined in JVM.Data.Abstract.ConstantPool Methods showsPrec :: Int -> ConstantPoolEntry -> ShowS # show :: ConstantPoolEntry -> String # showList :: [ConstantPoolEntry] -> ShowS # | |
| Eq ConstantPoolEntry Source # | |
Defined in JVM.Data.Abstract.ConstantPool Methods (==) :: ConstantPoolEntry -> ConstantPoolEntry -> Bool # (/=) :: ConstantPoolEntry -> ConstantPoolEntry -> Bool # | |
| Ord ConstantPoolEntry Source # | |
Defined in JVM.Data.Abstract.ConstantPool Methods compare :: ConstantPoolEntry -> ConstantPoolEntry -> Ordering # (<) :: ConstantPoolEntry -> ConstantPoolEntry -> Bool # (<=) :: ConstantPoolEntry -> ConstantPoolEntry -> Bool # (>) :: ConstantPoolEntry -> ConstantPoolEntry -> Bool # (>=) :: ConstantPoolEntry -> ConstantPoolEntry -> Bool # max :: ConstantPoolEntry -> ConstantPoolEntry -> ConstantPoolEntry # min :: ConstantPoolEntry -> ConstantPoolEntry -> ConstantPoolEntry # | |
data MethodHandleEntry Source #
Constructors
Instances
Constructors
| FieldRef ClassInfoType Text FieldType |
Instances
| Data FieldRef Source # | |
Defined in JVM.Data.Abstract.ConstantPool Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldRef -> c FieldRef # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FieldRef # toConstr :: FieldRef -> Constr # dataTypeOf :: FieldRef -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FieldRef) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FieldRef) # gmapT :: (forall b. Data b => b -> b) -> FieldRef -> FieldRef # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldRef -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldRef -> r # gmapQ :: (forall d. Data d => d -> u) -> FieldRef -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldRef -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldRef -> m FieldRef # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldRef -> m FieldRef # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldRef -> m FieldRef # | |
| Show FieldRef Source # | |
| Eq FieldRef Source # | |
| Ord FieldRef Source # | |
Defined in JVM.Data.Abstract.ConstantPool | |
| Pretty FieldRef Source # | |
Constructors
| MethodRef | |
Fields
| |
Instances
| Data MethodRef Source # | |
Defined in JVM.Data.Abstract.ConstantPool Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MethodRef -> c MethodRef # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MethodRef # toConstr :: MethodRef -> Constr # dataTypeOf :: MethodRef -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MethodRef) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MethodRef) # gmapT :: (forall b. Data b => b -> b) -> MethodRef -> MethodRef # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MethodRef -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MethodRef -> r # gmapQ :: (forall d. Data d => d -> u) -> MethodRef -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MethodRef -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MethodRef -> m MethodRef # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MethodRef -> m MethodRef # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MethodRef -> m MethodRef # | |
| Show MethodRef Source # | |
| Eq MethodRef Source # | |
| Ord MethodRef Source # | |
| Pretty MethodRef Source # | |
data BootstrapMethod Source #
Constructors
| BootstrapMethod MethodHandleEntry [BootstrapArgument] |
Instances
data BootstrapArgument Source #
Constructors
| BMClassArg ClassInfoType | |
| BMStringArg Text | |
| BMIntArg Int | |
| BMMethodArg MethodDescriptor | |
| BMMethodHandleArg MethodHandleEntry |