jvm-binary-0.10.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

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

Instances details
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.10.0-6UZh5809b0fJPIjalFrBq2" '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.10.0-6UZh5809b0fJPIjalFrBq2" '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

Instances details
Eq ClassSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord 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 -> () #

TextSerializable ClassSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

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.10.0-6UZh5809b0fJPIjalFrBq2" '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

Instances details
Eq MethodSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord 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 -> () #

TextSerializable MethodSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

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.10.0-6UZh5809b0fJPIjalFrBq2" '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

Instances details
Eq FieldSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord 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 -> () #

TextSerializable FieldSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

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.10.0-6UZh5809b0fJPIjalFrBq2" 'True) (C1 ('MetaCons "FieldSignature" 'PrefixI 'True) (S1 ('MetaSel ('Just "fsRefType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ReferenceType)))

Handlers

Lower Level Definitions

data ClassType Source #

Instances

Instances details
Eq ClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord 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 -> () #

TextSerializable ClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

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.10.0-6UZh5809b0fJPIjalFrBq2" 'False) (C1 ('MetaCons "ClassType" 'PrefixI 'True) (S1 ('MetaSel ('Just "ctsName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ClassName) :*: (S1 ('MetaSel ('Just "ctsInnerClass") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe InnerClassType)) :*: S1 ('MetaSel ('Just "ctsTypeArguments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe TypeArgument]))))

classTypeFromName :: ClassName -> ClassType Source #

Create a classType from a Name Note the language is wierd here! Main.A is not Main$A, but MainT.A is!

data InnerClassType Source #

Instances

Instances details
Eq InnerClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord InnerClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show InnerClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic InnerClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep InnerClassType :: Type -> Type #

NFData InnerClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: InnerClassType -> () #

type Rep InnerClassType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep InnerClassType = D1 ('MetaData "InnerClassType" "Language.JVM.Attribute.Signature" "jvm-binary-0.10.0-6UZh5809b0fJPIjalFrBq2" 'False) (C1 ('MetaCons "InnerClassType" 'PrefixI 'True) (S1 ('MetaSel ('Just "ictsName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "ictsInnerClass") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe InnerClassType)) :*: S1 ('MetaSel ('Just "ictsTypeArguments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe TypeArgument]))))

data ReferenceType Source #

Instances

Instances details
Eq ReferenceType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord ReferenceType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show ReferenceType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic ReferenceType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep ReferenceType :: Type -> Type #

NFData ReferenceType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: ReferenceType -> () #

TextSerializable ReferenceType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep ReferenceType Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep ReferenceType = D1 ('MetaData "ReferenceType" "Language.JVM.Attribute.Signature" "jvm-binary-0.10.0-6UZh5809b0fJPIjalFrBq2" 'False) (C1 ('MetaCons "RefClassType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ClassType)) :+: (C1 ('MetaCons "RefTypeVariable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeVariable)) :+: C1 ('MetaCons "RefArrayType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeSignature))))

data ThrowsSignature Source #

Instances

Instances details
Eq ThrowsSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord ThrowsSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show ThrowsSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic ThrowsSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep ThrowsSignature :: Type -> Type #

NFData ThrowsSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: ThrowsSignature -> () #

TextSerializable ThrowsSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep ThrowsSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep ThrowsSignature = D1 ('MetaData "ThrowsSignature" "Language.JVM.Attribute.Signature" "jvm-binary-0.10.0-6UZh5809b0fJPIjalFrBq2" 'False) (C1 ('MetaCons "ThrowsClass" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ClassType)) :+: C1 ('MetaCons "ThrowsTypeVariable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeVariable)))

data TypeSignature Source #

Instances

Instances details
Eq TypeSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord TypeSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Show TypeSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Generic TypeSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Associated Types

type Rep TypeSignature :: Type -> Type #

NFData TypeSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Methods

rnf :: TypeSignature -> () #

TextSerializable TypeSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep TypeSignature Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

type Rep TypeSignature = D1 ('MetaData "TypeSignature" "Language.JVM.Attribute.Signature" "jvm-binary-0.10.0-6UZh5809b0fJPIjalFrBq2" 'False) (C1 ('MetaCons "ReferenceType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ReferenceType)) :+: C1 ('MetaCons "BaseType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JBaseType)))

data TypeArgument Source #

Instances

Instances details
Eq TypeArgument Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord 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.10.0-6UZh5809b0fJPIjalFrBq2" '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

Instances details
Eq TypeParameter Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord 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 -> () #

TextSerializable TypeParameter Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

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.10.0-6UZh5809b0fJPIjalFrBq2" 'False) (C1 ('MetaCons "TypeParameter" 'PrefixI 'True) (S1 ('MetaSel ('Just "tpIdentifier") '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

Instances details
Eq TypeVariable Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord 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 -> () #

TextSerializable TypeVariable Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

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.10.0-6UZh5809b0fJPIjalFrBq2" 'True) (C1 ('MetaCons "TypeVariable" 'PrefixI 'True) (S1 ('MetaSel ('Just "tvAsText") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data Wildcard Source #

Constructors

WildPlus 
WildMinus 

Instances

Instances details
Eq Wildcard Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

Ord 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 -> () #

TextSerializable Wildcard Source # 
Instance details

Defined in Language.JVM.Attribute.Signature

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.10.0-6UZh5809b0fJPIjalFrBq2" 'False) (C1 ('MetaCons "WildPlus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WildMinus" 'PrefixI 'False) (U1 :: Type -> Type))

Parsers