HsDecls

Toplevel declarations

data HsDecl id

type LHsDecl id

data HsDataDefn name

Class or type declarations

data TyClDecl name

type LTyClDecl name

type TyClGroup name

isClassDecl

isDataDecl

isSynDecl

tcdName

isFamilyDecl

isTypeFamilyDecl

isDataFamilyDecl

isOpenTypeFamilyInfo

isClosedTypeFamilyInfo

tyFamInstDeclName

tyFamInstDeclLName

countTyClDecls

pprTyClDeclFlavour

tyClDeclLName

tyClDeclTyVars

data FamilyDecl name

type LFamilyDecl name

Instance declarations

data InstDecl name

type LInstDecl name

data NewOrData

data FamilyInfo name

data TyFamInstDecl name

type LTyFamInstDecl name

instDeclDataFamInsts

data DataFamInstDecl name

type LDataFamInstDecl name

pprDataFamInstFlavour

data TyFamInstEqn name

type LTyFamInstEqn name

type LClsInstDecl name

data ClsInstDecl name

Standalone deriving declarations

data DerivDecl name

type LDerivDecl name

RULE declarations

data RuleDecl name

type LRuleDecl name

data RuleBndr name

collectRuleBndrSigTys

VECTORISE declarations

data VectDecl name

type LVectDecl name

lvectDeclName

lvectInstDecl

default declarations

data DefaultDecl name

type LDefaultDecl name

Top-level template haskell splice

data SpliceDecl id

Foreign function interface declarations

data ForeignDecl name

type LForeignDecl name

data ForeignImport

data ForeignExport

noForeignImportCoercionYet

noForeignExportCoercionYet

data CImportSpec

Data-constructor declarations

data ConDecl name

type LConDecl name

data ResType ty

type HsConDeclDetails name

hsConDeclArgTys

Document comments

data DocDecl

type LDocDecl

docDeclDoc

Deprecations

data WarnDecl name

type LWarnDecl name

Annotations

data AnnDecl name

type LAnnDecl name

data AnnProvenance name

annProvenanceName_maybe

Grouping

data HsGroup id

emptyRdrGroup

emptyRnGroup

appendGroups