h2jvm
Safe HaskellNone
LanguageGHC2021

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

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.

data MethodHandleEntry Source #

Instances

Instances details
Data MethodHandleEntry Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MethodHandleEntry -> c MethodHandleEntry #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MethodHandleEntry #

toConstr :: MethodHandleEntry -> Constr #

dataTypeOf :: MethodHandleEntry -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MethodHandleEntry) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MethodHandleEntry) #

gmapT :: (forall b. Data b => b -> b) -> MethodHandleEntry -> MethodHandleEntry #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MethodHandleEntry -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MethodHandleEntry -> r #

gmapQ :: (forall d. Data d => d -> u) -> MethodHandleEntry -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MethodHandleEntry -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MethodHandleEntry -> m MethodHandleEntry #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MethodHandleEntry -> m MethodHandleEntry #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MethodHandleEntry -> m MethodHandleEntry #

Show MethodHandleEntry Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Eq MethodHandleEntry Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Ord MethodHandleEntry Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Pretty MethodHandleEntry Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

data FieldRef Source #

Instances

Instances details
Data FieldRef Source # 
Instance details

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 # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Eq FieldRef Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Ord FieldRef Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Pretty FieldRef Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Methods

pretty :: FieldRef -> Doc ann Source #

prettyList :: [FieldRef] -> Doc ann Source #

data MethodRef Source #

Constructors

MethodRef 

Fields

Instances

Instances details
Data MethodRef Source # 
Instance details

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 # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Eq MethodRef Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Ord MethodRef Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Pretty MethodRef Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Methods

pretty :: MethodRef -> Doc ann Source #

prettyList :: [MethodRef] -> Doc ann Source #

data BootstrapMethod Source #

Instances

Instances details
Data BootstrapMethod Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BootstrapMethod -> c BootstrapMethod #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BootstrapMethod #

toConstr :: BootstrapMethod -> Constr #

dataTypeOf :: BootstrapMethod -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BootstrapMethod) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BootstrapMethod) #

gmapT :: (forall b. Data b => b -> b) -> BootstrapMethod -> BootstrapMethod #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BootstrapMethod -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BootstrapMethod -> r #

gmapQ :: (forall d. Data d => d -> u) -> BootstrapMethod -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BootstrapMethod -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BootstrapMethod -> m BootstrapMethod #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BootstrapMethod -> m BootstrapMethod #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BootstrapMethod -> m BootstrapMethod #

Show BootstrapMethod Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Eq BootstrapMethod Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Ord BootstrapMethod Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Pretty BootstrapMethod Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

data BootstrapArgument Source #

Instances

Instances details
Data BootstrapArgument Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BootstrapArgument -> c BootstrapArgument #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BootstrapArgument #

toConstr :: BootstrapArgument -> Constr #

dataTypeOf :: BootstrapArgument -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BootstrapArgument) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BootstrapArgument) #

gmapT :: (forall b. Data b => b -> b) -> BootstrapArgument -> BootstrapArgument #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BootstrapArgument -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BootstrapArgument -> r #

gmapQ :: (forall d. Data d => d -> u) -> BootstrapArgument -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BootstrapArgument -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BootstrapArgument -> m BootstrapArgument #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BootstrapArgument -> m BootstrapArgument #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BootstrapArgument -> m BootstrapArgument #

Show BootstrapArgument Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Eq BootstrapArgument Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Ord BootstrapArgument Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool

Pretty BootstrapArgument Source # 
Instance details

Defined in JVM.Data.Abstract.ConstantPool