h2jvm
Safe HaskellNone
LanguageGHC2021

H2JVM.Type

Description

Types representing JVM types, such as field types and class info types.

Synopsis

Documentation

data ClassInfoType Source #

JVM class info type. Corresponds roughly to §4.2.1 of the JVM specification. Used in places such as the constant pool and exception tables. Isomorphic to FieldType, however converted to different low level representations (see classInfoTypeDescriptor).

Instances

Instances details
Data ClassInfoType Source # 
Instance details

Defined in H2JVM.Type

Methods

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

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

toConstr :: ClassInfoType -> Constr #

dataTypeOf :: ClassInfoType -> DataType #

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

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

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

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

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

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

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

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

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

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

Show ClassInfoType Source # 
Instance details

Defined in H2JVM.Type

Eq ClassInfoType Source # 
Instance details

Defined in H2JVM.Type

Ord ClassInfoType Source # 
Instance details

Defined in H2JVM.Type

Pretty ClassInfoType Source # 
Instance details

Defined in H2JVM.Type

data PrimitiveType Source #

JVM primitive types. Corresponds to the BaseType production in the JVM specification.

Instances

Instances details
Data PrimitiveType Source # 
Instance details

Defined in H2JVM.Type

Methods

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

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

toConstr :: PrimitiveType -> Constr #

dataTypeOf :: PrimitiveType -> DataType #

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

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

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

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

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

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

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

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

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

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

Bounded PrimitiveType Source # 
Instance details

Defined in H2JVM.Type

Enum PrimitiveType Source # 
Instance details

Defined in H2JVM.Type

Show PrimitiveType Source # 
Instance details

Defined in H2JVM.Type

Eq PrimitiveType Source # 
Instance details

Defined in H2JVM.Type

Ord PrimitiveType Source # 
Instance details

Defined in H2JVM.Type

Pretty PrimitiveType Source # 
Instance details

Defined in H2JVM.Type

data FieldType Source #

JVM field type, corresponding to the FieldType production in the JVM specification. Used in places such as method descriptors and field descriptors.

Instances

Instances details
Data FieldType Source # 
Instance details

Defined in H2JVM.Type

Methods

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

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

toConstr :: FieldType -> Constr #

dataTypeOf :: FieldType -> DataType #

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

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

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

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

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

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

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

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

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

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

Show FieldType Source # 
Instance details

Defined in H2JVM.Type

Eq FieldType Source # 
Instance details

Defined in H2JVM.Type

Ord FieldType Source # 
Instance details

Defined in H2JVM.Type

Pretty FieldType Source # 
Instance details

Defined in H2JVM.Type

Methods

pretty :: FieldType -> Doc ann Source #

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