jvm-binary-0.8.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.Signature

Contents

Description

Based on the Signature Attribute, as documented here, and the signature syntax defined here.

Synopsis

Documentation

newtype Signature a Source #

Constructors

Signature (Ref Text a) 
Instances
Staged Signature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

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

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

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

Eq (Signature High) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Eq (Signature Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord (Signature Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show (Signature High) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show (Signature Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic (Signature High) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

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

Generic (Signature Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

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

Binary (Signature Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

NFData (Signature High) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: Signature High -> () #

NFData (Signature Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: Signature Low -> () #

IsAttribute (Signature Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep (Signature High) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep (Signature High) = D1 (MetaData "Signature" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" True) (C1 (MetaCons "Signature" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ref Text High))))
type Rep (Signature Low) Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep (Signature Low) = D1 (MetaData "Signature" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" True) (C1 (MetaCons "Signature" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ref Text Low))))

Top Level Definitions

data ClassSignature Source #

Instances
Eq ClassSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show ClassSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic ClassSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep ClassSignature :: Type -> Type #

NFData ClassSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: ClassSignature -> () #

type Rep ClassSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep ClassSignature = D1 (MetaData "ClassSignature" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" False) (C1 (MetaCons "ClassSignature" PrefixI True) (S1 (MetaSel (Just "csTypeParameters") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [TypeParameter]) :*: (S1 (MetaSel (Just "csSuperclassSignature") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ClassType) :*: S1 (MetaSel (Just "csInterfaceSignatures") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ClassType]))))

data MethodSignature Source #

Instances
Eq MethodSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show MethodSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic MethodSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep MethodSignature :: Type -> Type #

NFData MethodSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: MethodSignature -> () #

type Rep MethodSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep MethodSignature = D1 (MetaData "MethodSignature" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" False) (C1 (MetaCons "MethodSignature" PrefixI True) ((S1 (MetaSel (Just "msTypeParameters") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [TypeParameter]) :*: S1 (MetaSel (Just "msArguments") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [TypeSignature])) :*: (S1 (MetaSel (Just "msResults") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe TypeSignature)) :*: S1 (MetaSel (Just "msThrows") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ThrowsSignature]))))

newtype FieldSignature Source #

Constructors

FieldSignature 
Instances
Eq FieldSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show FieldSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic FieldSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep FieldSignature :: Type -> Type #

NFData FieldSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: FieldSignature -> () #

type Rep FieldSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep FieldSignature = D1 (MetaData "FieldSignature" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" True) (C1 (MetaCons "FieldSignature" PrefixI True) (S1 (MetaSel (Just "fsRefType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ReferenceType)))

Lower Level Definitions

data ClassType Source #

Instances
Eq ClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show ClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic ClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep ClassType :: Type -> Type #

NFData ClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: ClassType -> () #

type Rep ClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep ClassType = D1 (MetaData "ClassType" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" False) (C1 (MetaCons "ClassType" PrefixI True) (S1 (MetaSel (Just "ctsClassName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ClassName) :*: S1 (MetaSel (Just "ctsTypeArguments") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Maybe TypeArgument])) :+: C1 (MetaCons "InnerClassType" PrefixI True) (S1 (MetaSel (Just "ctsInnerClassName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "ctsOuterClassType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ClassType) :*: S1 (MetaSel (Just "ctsTypeArguments") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Maybe TypeArgument]))))

data ReferenceType Source #

data TypeArgument Source #

Instances
Eq TypeArgument Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show TypeArgument Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic TypeArgument Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep TypeArgument :: Type -> Type #

NFData TypeArgument Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: TypeArgument -> () #

type Rep TypeArgument Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep TypeArgument = D1 (MetaData "TypeArgument" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" False) (C1 (MetaCons "TypeArgument" PrefixI True) (S1 (MetaSel (Just "taWildcard") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Wildcard)) :*: S1 (MetaSel (Just "taType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ReferenceType)))

data TypeParameter Source #

Instances
Eq TypeParameter Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show TypeParameter Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic TypeParameter Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep TypeParameter :: Type -> Type #

NFData TypeParameter Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: TypeParameter -> () #

type Rep TypeParameter Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep TypeParameter = D1 (MetaData "TypeParameter" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" False) (C1 (MetaCons "TypeParameter" PrefixI True) (S1 (MetaSel (Just "tpIndentifier") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "tpClassBound") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe ReferenceType)) :*: S1 (MetaSel (Just "tpInterfaceBound") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ReferenceType]))))

newtype TypeVariable Source #

Constructors

TypeVariable 

Fields

Instances
Eq TypeVariable Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show TypeVariable Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic TypeVariable Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep TypeVariable :: Type -> Type #

NFData TypeVariable Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: TypeVariable -> () #

type Rep TypeVariable Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep TypeVariable = D1 (MetaData "TypeVariable" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" True) (C1 (MetaCons "TypeVariable" PrefixI True) (S1 (MetaSel (Just "tvAsText") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data Wildcard Source #

Constructors

WildPlus 
WildMinus 
Instances
Eq Wildcard Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show Wildcard Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic Wildcard Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep Wildcard :: Type -> Type #

Methods

from :: Wildcard -> Rep Wildcard x #

to :: Rep Wildcard x -> Wildcard #

NFData Wildcard Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: Wildcard -> () #

type Rep Wildcard Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep Wildcard = D1 (MetaData "Wildcard" "Language.JVM.Attribute.Signature" "jvm-binary-0.8.0-HpvPbNkzsQo844TuM02sMI" False) (C1 (MetaCons "WildPlus" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "WildMinus" PrefixI False) (U1 :: Type -> Type))