Language.Haskell.Syntax.Type

ghc-9.14.0.20251028: The GHC API

Safe Haskell | None
Language | GHC2021

Language.Haskell.Syntax.Type

Synopsis

- type HsMultAnn pass = HsMultAnnOf (LHsType (NoGhcTc pass)) pass
- data HsMultAnnOf mult pass
  - = HsUnannotated !(XUnannotated mult pass)
  - | HsLinearAnn !(XLinearAnn mult pass)
  - | HsExplicitMult !(XExplicitMult mult pass) !mult
  - | XMultAnnOf !(XXMultAnnOf mult pass)
- type family XUnannotated mult p
- type family XLinearAnn mult p
- type family XExplicitMult mult p
- type family XXMultAnnOf mult p
- data HsType pass
  - = HsForAllTy {
    - hst_xforall :: XForAllTy pass
    - hst_tele :: HsForAllTelescope pass
    - hst_body :: LHsType pass
    }
  - | HsQualTy {
    - hst_xqual :: XQualTy pass
    - hst_ctxt :: LHsContext pass
    - hst_body :: LHsType pass
    }
  - | HsTyVar (XTyVar pass) PromotionFlag (LIdOccP pass)
  - | HsAppTy (XAppTy pass) (LHsType pass) (LHsType pass)
  - | HsAppKindTy (XAppKindTy pass) (LHsType pass) (LHsKind pass)
  - | HsFunTy (XFunTy pass) (HsMultAnn pass) (LHsType pass) (LHsType pass)
  - | HsListTy (XListTy pass) (LHsType pass)
  - | HsTupleTy (XTupleTy pass) HsTupleSort [LHsType pass]
  - | HsSumTy (XSumTy pass) [LHsType pass]
  - | HsOpTy (XOpTy pass) PromotionFlag (LHsType pass) (LIdOccP pass) (LHsType pass)
  - | HsParTy (XParTy pass) (LHsType pass)
  - | HsIParamTy (XIParamTy pass) (XRec pass HsIPName) (LHsType pass)
  - | HsStarTy (XStarTy pass) Bool
  - | HsKindSig (XKindSig pass) (LHsType pass) (LHsKind pass)
  - | HsSpliceTy (XSpliceTy pass) (HsUntypedSplice pass)
  - | HsDocTy (XDocTy pass) (LHsType pass) (LHsDoc pass)
  - | HsExplicitListTy (XExplicitListTy pass) PromotionFlag [LHsType pass]
  - | HsExplicitTupleTy (XExplicitTupleTy pass) PromotionFlag [LHsType pass]
  - | HsTyLit (XTyLit pass) (HsTyLit pass)
  - | HsWildCardTy (XWildCardTy pass)
  - | XHsType !(XXType pass)
- type LHsType pass = XRec pass (HsType pass)
- type HsKind pass = HsType pass
- type LHsKind pass = XRec pass (HsKind pass)
- data HsBndrVis pass
  - = HsBndrRequired !(XBndrRequired pass)
  - | HsBndrInvisible !(XBndrInvisible pass)
  - | XBndrVis !(XXBndrVis pass)
- type family XBndrRequired p
- type family XBndrInvisible p
- type family XXBndrVis p
- data HsBndrVar pass
  - = HsBndrVar !(XBndrVar pass) !(LIdP pass)
  - | HsBndrWildCard !(XBndrWildCard pass)
  - | XBndrVar !(XXBndrVar pass)
- type family XBndrVar p
- type family XBndrWildCard p
- type family XXBndrVar p
- data HsBndrKind pass
  - = HsBndrKind !(XBndrKind pass) (LHsKind pass)
  - | HsBndrNoKind !(XBndrNoKind pass)
  - | XBndrKind !(XXBndrKind pass)
- type family XBndrKind p
- type family XBndrNoKind p
- type family XXBndrKind p
- isHsBndrInvisible :: HsBndrVis pass -> Bool
- isHsBndrWildCard :: HsBndrVar pass -> Bool
- data HsForAllTelescope pass
  - = HsForAllVis {
    - hsf_xvis :: XHsForAllVis pass
    - hsf_vis_bndrs :: [LHsTyVarBndr () pass]
    }
  - | HsForAllInvis {
    - hsf_xinvis :: XHsForAllInvis pass
    - hsf_invis_bndrs :: [LHsTyVarBndr Specificity pass]
    }
  - | XHsForAllTelescope !(XXHsForAllTelescope pass)
- data HsTyVarBndr flag pass
  - = HsTvb {
    - tvb_ext :: XTyVarBndr pass
    - tvb_flag :: flag
    - tvb_var :: HsBndrVar pass
    - tvb_kind :: HsBndrKind pass
    }
  - | XTyVarBndr !(XXTyVarBndr pass)
- type LHsTyVarBndr flag pass = XRec pass (HsTyVarBndr flag pass)
- data LHsQTyVars pass
  - = HsQTvs {
    - hsq_ext :: XHsQTvs pass
    - hsq_explicit :: [LHsTyVarBndr (HsBndrVis pass) pass]
    }
  - | XLHsQTyVars !(XXLHsQTyVars pass)
- data HsOuterTyVarBndrs flag pass
  - = HsOuterImplicit {
    - hso_ximplicit :: XHsOuterImplicit pass
    }
  - | HsOuterExplicit {
    - hso_xexplicit :: XHsOuterExplicit pass flag
    - hso_bndrs :: [LHsTyVarBndr flag (NoGhcTc pass)]
    }
  - | XHsOuterTyVarBndrs !(XXHsOuterTyVarBndrs pass)
- type HsOuterFamEqnTyVarBndrs = HsOuterTyVarBndrs ()
- type HsOuterSigTyVarBndrs = HsOuterTyVarBndrs Specificity
- data HsWildCardBndrs pass thing
  - = HsWC {
    - hswc_ext :: XHsWC pass thing
    - hswc_body :: thing
    }
  - | XHsWildCardBndrs !(XXHsWildCardBndrs pass thing)
- data HsPatSigType pass
  - = HsPS {
    - hsps_ext :: XHsPS pass
    - hsps_body :: LHsType pass
    }
  - | XHsPatSigType !(XXHsPatSigType pass)
- data HsSigType pass
  - = HsSig {
    - sig_ext :: XHsSig pass
    - sig_bndrs :: HsOuterSigTyVarBndrs pass
    - sig_body :: LHsType pass
    }
  - | XHsSigType !(XXHsSigType pass)
- type LHsSigType pass = XRec pass (HsSigType pass)
- type LHsSigWcType pass = HsWildCardBndrs pass (LHsSigType pass)
- type LHsWcType pass = HsWildCardBndrs pass (LHsType pass)
- data HsTyPat pass
  - = HsTP {
    - hstp_ext :: XHsTP pass
    - hstp_body :: LHsType pass
    }
  - | XHsTyPat !(XXHsTyPat pass)
- type LHsTyPat pass = XRec pass (HsTyPat pass)
- data HsTupleSort
  - = HsUnboxedTuple
  - | HsBoxedOrConstraintTuple
- type HsContext pass = [LHsType pass]
- type LHsContext pass = XRec pass (HsContext pass)
- data HsTyLit pass
  - = HsNumTy (XNumTy pass) Integer
  - | HsStrTy (XStrTy pass) FastString
  - | HsCharTy (XCharTy pass) Char
  - | XTyLit !(XXTyLit pass)
- newtype HsIPName = HsIPName FastString
- hsIPNameFS :: HsIPName -> FastString
- data HsArg p tm ty
  - = HsValArg !(XValArg p) tm
  - | HsTypeArg !(XTypeArg p) ty
  - | HsArgPar !(XArgPar p)
  - | XArg !(XXArg p)
- type family XValArg p
- type family XTypeArg p
- type family XArgPar p
- type family XXArg p
- type LHsTypeArg p = HsArg p (LHsType p) (LHsKind p)
- data PromotionFlag
  - = NotPromoted
  - | IsPromoted
- isPromoted :: PromotionFlag -> Bool
- data HsConDeclRecField pass
  - = HsConDeclRecField {
    - cdrf_ext :: XConDeclRecField pass
    - cdrf_names :: [LFieldOcc pass]
    - cdrf_spec :: HsConDeclField pass
    }
  - | XConDeclRecField !(XXConDeclRecField pass)
- type LHsConDeclRecField pass = XRec pass (HsConDeclRecField pass)
- data HsConDetails arg rec
  - = PrefixCon [arg]
  - | RecCon rec
  - | InfixCon arg arg
- data HsConDeclField pass = CDF {
  - cdf_ext :: XConDeclField pass
  - cdf_unpack :: SrcUnpackedness
  - cdf_bang :: SrcStrictness
  - cdf_multiplicity :: HsMultAnn pass
  - cdf_type :: LHsType pass
  - cdf_doc :: Maybe (LHsDoc pass)
  }
- data FieldOcc pass
  - = FieldOcc {
    - foExt :: XCFieldOcc pass
    - foLabel :: LIdP pass
    }
  - | XFieldOcc !(XXFieldOcc pass)
- type LFieldOcc pass = XRec pass (FieldOcc pass)
- mapHsOuterImplicit :: (XHsOuterImplicit pass -> XHsOuterImplicit pass) -> HsOuterTyVarBndrs flag pass -> HsOuterTyVarBndrs flag pass
- hsQTvExplicit :: LHsQTyVars pass -> [LHsTyVarBndr (HsBndrVis pass) pass]
- isHsKindedTyVar :: HsTyVarBndr flag pass -> Bool

# Documentation

type HsMultAnn pass = HsMultAnnOf (LHsType (NoGhcTc pass)) pass Source #

data HsMultAnnOf mult pass Source #

Denotes multiplicity annotations in the surface language. The `mult` type argument is usually `LHsType (NoGhcTc pass)`, but when the annotation is part of a type used in a term, it is `LHsExpr pass`. See Note [Types in terms].

Constructors

HsUnannotated !(XUnannotated mult pass) | a -> b or a → b or { nm :: a }
HsLinearAnn !(XLinearAnn mult pass) | a %1 -> b or a %1 → b, or a ⊸ b, or { nm %1 :: a }
HsExplicitMult !(XExplicitMult mult pass) !mult | a %m -> b or a %m → b or { nm %m :: a } (very much including `a %Many -> b`! This is how the programmer wrote it). It is stored as an `HsType` so as to preserve the syntax as written in the program.
XMultAnnOf !(XXMultAnnOf mult pass) |

#### Instances

Instances details

(Outputable mult, OutputableBndrId pass) => Outputable (HsMultAnnOf mult (GhcPass pass)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsMultAnnOf mult (GhcPass pass) -> SDoc Source #
Data (HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> c (HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs) Source # toConstr :: HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> Constr Source # dataTypeOf :: HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> m (HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> m (HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs -> m (HsMultAnnOf (LocatedA (HsExpr GhcPs)) GhcPs) Source #
Data (HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> c (HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn) Source # toConstr :: HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> Constr Source # dataTypeOf :: HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> m (HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> m (HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn -> m (HsMultAnnOf (LocatedA (HsExpr GhcRn)) GhcRn) Source #
Data (HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> c (HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc) Source # toConstr :: HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> Constr Source # dataTypeOf :: HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> m (HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> m (HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc -> m (HsMultAnnOf (LocatedA (HsExpr GhcTc)) GhcTc) Source #
Data (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> c (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # toConstr :: HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> Constr Source # dataTypeOf :: HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> m (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> m (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> m (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source #
Data (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # toConstr :: HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> Constr Source # dataTypeOf :: HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source #
Data (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # toConstr :: HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> Constr Source # dataTypeOf :: HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source #

type family XUnannotated mult p Source #

#### Instances

Instances details

type XUnannotated _1 GhcPs Source # |
Instance details Defined in GHC.Hs.Type type XUnannotated _1 GhcPs = EpArrowOrColon
type XUnannotated _1 GhcRn Source # |
Instance details Defined in GHC.Hs.Type type XUnannotated _1 GhcRn = NoExtField
type XUnannotated _1 GhcTc Source # |
Instance details Defined in GHC.Hs.Type type XUnannotated _1 GhcTc = Mult

type family XLinearAnn mult p Source #

#### Instances

Instances details

type XLinearAnn _1 GhcPs Source # |
Instance details Defined in GHC.Hs.Type type XLinearAnn _1 GhcPs = EpLinear
type XLinearAnn _1 GhcRn Source # |
Instance details Defined in GHC.Hs.Type type XLinearAnn _1 GhcRn = NoExtField
type XLinearAnn _1 GhcTc Source # |
Instance details Defined in GHC.Hs.Type type XLinearAnn _1 GhcTc = Mult

type family XExplicitMult mult p Source #

#### Instances

Instances details

type XExplicitMult _1 GhcPs Source # |
Instance details Defined in GHC.Hs.Type type XExplicitMult _1 GhcPs = (EpToken "%", EpArrowOrColon)
type XExplicitMult _1 GhcRn Source # |
Instance details Defined in GHC.Hs.Type type XExplicitMult _1 GhcRn = NoExtField
type XExplicitMult _1 GhcTc Source # |
Instance details Defined in GHC.Hs.Type type XExplicitMult _1 GhcTc = Mult

type family XXMultAnnOf mult p Source #

#### Instances

Instances details

type XXMultAnnOf _1 (GhcPass _2) Source # |
Instance details Defined in GHC.Hs.Type type XXMultAnnOf _1 (GhcPass _2) = DataConCantHappen

data HsType pass Source #

Haskell Type

Constructors

HsForAllTy |
Fields hst_xforall :: XForAllTy pass hst_tele :: HsForAllTelescope pass hst_body :: LHsType pass
HsQualTy |
Fields hst_xqual :: XQualTy pass hst_ctxt :: LHsContext pass hst_body :: LHsType pass
HsTyVar (XTyVar pass) PromotionFlag (LIdOccP pass) |
HsAppTy (XAppTy pass) (LHsType pass) (LHsType pass) |
HsAppKindTy (XAppKindTy pass) (LHsType pass) (LHsKind pass) |
HsFunTy (XFunTy pass) (HsMultAnn pass) (LHsType pass) (LHsType pass) |
HsListTy (XListTy pass) (LHsType pass) |
HsTupleTy (XTupleTy pass) HsTupleSort [LHsType pass] |
HsSumTy (XSumTy pass) [LHsType pass] |
HsOpTy (XOpTy pass) PromotionFlag (LHsType pass) (LIdOccP pass) (LHsType pass) |
HsParTy (XParTy pass) (LHsType pass) |
HsIParamTy (XIParamTy pass) (XRec pass HsIPName) (LHsType pass) |
    (?x :: ty)
HsStarTy (XStarTy pass) Bool |
HsKindSig (XKindSig pass) (LHsType pass) (LHsKind pass) |
    (ty :: kind)
HsSpliceTy (XSpliceTy pass) (HsUntypedSplice pass) |
HsDocTy (XDocTy pass) (LHsType pass) (LHsDoc pass) |
HsExplicitListTy (XExplicitListTy pass) PromotionFlag [LHsType pass] |
HsExplicitTupleTy (XExplicitTupleTy pass) PromotionFlag [LHsType pass] |
HsTyLit (XTyLit pass) (HsTyLit pass) |
HsWildCardTy (XWildCardTy pass) |
XHsType !(XXType pass) |

#### Instances

Instances details

DisambTD (HsType GhcPs) Source # |
Instance details Defined in GHC.Parser.PostProcess Methods mkHsAppTyHeadPV :: LHsType GhcPs -> PV (LocatedA (HsType GhcPs)) Source # mkHsAppTyPV :: LocatedA (HsType GhcPs) -> LHsType GhcPs -> PV (LocatedA (HsType GhcPs)) Source # mkHsAppKindTyPV :: LocatedA (HsType GhcPs) -> EpToken "@" -> LHsType GhcPs -> PV (LocatedA (HsType GhcPs)) Source # mkHsOpTyPV :: PromotionFlag -> LHsType GhcPs -> LocatedN RdrName -> LHsType GhcPs -> PV (LocatedA (HsType GhcPs)) Source # mkUnpackednessPV :: Located UnpackednessPragma -> LocatedA (HsType GhcPs) -> PV (LocatedA (HsType GhcPs)) Source #
OutputableBndrId p => Outputable (HsType (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsType (GhcPass p) -> SDoc Source #
Data (HsType GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsType GhcPs -> c (HsType GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsType GhcPs) Source # toConstr :: HsType GhcPs -> Constr Source # dataTypeOf :: HsType GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsType GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsType GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsType GhcPs -> HsType GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsType GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsType GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsType GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsType GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsType GhcPs -> m (HsType GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsType GhcPs -> m (HsType GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsType GhcPs -> m (HsType GhcPs) Source #
Data (HsType GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsType GhcRn -> c (HsType GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsType GhcRn) Source # toConstr :: HsType GhcRn -> Constr Source # dataTypeOf :: HsType GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsType GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsType GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsType GhcRn -> HsType GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsType GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsType GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsType GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsType GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsType GhcRn -> m (HsType GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsType GhcRn -> m (HsType GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsType GhcRn -> m (HsType GhcRn) Source #
Data (HsType GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsType GhcTc -> c (HsType GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsType GhcTc) Source # toConstr :: HsType GhcTc -> Constr Source # dataTypeOf :: HsType GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsType GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsType GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsType GhcTc -> HsType GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsType GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsType GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsType GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsType GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsType GhcTc -> m (HsType GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsType GhcTc -> m (HsType GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsType GhcTc -> m (HsType GhcTc) Source #
Data (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> c (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # toConstr :: HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> Constr Source # dataTypeOf :: HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> m (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> m (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs -> m (HsMultAnnOf (LocatedA (HsType GhcPs)) GhcPs) Source #
Data (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # toConstr :: HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> Constr Source # dataTypeOf :: HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcRn) Source #
Data (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # toConstr :: HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> Constr Source # dataTypeOf :: HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc -> m (HsMultAnnOf (LocatedA (HsType GhcRn)) GhcTc) Source #
type Anno (HsKind (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type type Anno (HsKind (GhcPass p)) = SrcSpanAnnA
type Anno (HsType (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type type Anno (HsType (GhcPass p)) = SrcSpanAnnA
type Anno [LocatedA (HsType (GhcPass p))] Source # |
Instance details Defined in GHC.Hs.Type type Anno [LocatedA (HsType (GhcPass p))] = SrcSpanAnnC
type Anno (FamEqn p (LocatedA (HsType p))) Source # |
Instance details Defined in GHC.Hs.Decls type Anno (FamEqn p (LocatedA (HsType p))) = SrcSpanAnnA

type LHsType pass = XRec pass (HsType pass) Source #

Located Haskell Type

type HsKind pass = HsType pass Source #

Haskell Kind

type LHsKind pass = XRec pass (HsKind pass) Source #

Located Haskell Kind

data HsBndrVis pass Source #

Constructors

HsBndrRequired !(XBndrRequired pass) |
HsBndrInvisible !(XBndrInvisible pass) |
XBndrVis !(XXBndrVis pass) |

#### Instances

Instances details

Data (HsBndrVis GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBndrVis GhcPs -> c (HsBndrVis GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsBndrVis GhcPs) Source # toConstr :: HsBndrVis GhcPs -> Constr Source # dataTypeOf :: HsBndrVis GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsBndrVis GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsBndrVis GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsBndrVis GhcPs -> HsBndrVis GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVis GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVis GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBndrVis GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBndrVis GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBndrVis GhcPs -> m (HsBndrVis GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVis GhcPs -> m (HsBndrVis GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVis GhcPs -> m (HsBndrVis GhcPs) Source #
Data (HsBndrVis GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBndrVis GhcRn -> c (HsBndrVis GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsBndrVis GhcRn) Source # toConstr :: HsBndrVis GhcRn -> Constr Source # dataTypeOf :: HsBndrVis GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsBndrVis GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsBndrVis GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsBndrVis GhcRn -> HsBndrVis GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVis GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVis GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBndrVis GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBndrVis GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBndrVis GhcRn -> m (HsBndrVis GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVis GhcRn -> m (HsBndrVis GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVis GhcRn -> m (HsBndrVis GhcRn) Source #
Data (HsBndrVis GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBndrVis GhcTc -> c (HsBndrVis GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsBndrVis GhcTc) Source # toConstr :: HsBndrVis GhcTc -> Constr Source # dataTypeOf :: HsBndrVis GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsBndrVis GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsBndrVis GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsBndrVis GhcTc -> HsBndrVis GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVis GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVis GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBndrVis GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBndrVis GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBndrVis GhcTc -> m (HsBndrVis GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVis GhcTc -> m (HsBndrVis GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVis GhcTc -> m (HsBndrVis GhcTc) Source #
OutputableBndrFlag (HsBndrVis (GhcPass p')) p Source # |
Instance details Defined in GHC.Hs.Type Methods pprTyVarBndr :: HsTyVarBndr (HsBndrVis (GhcPass p')) (GhcPass p) -> SDoc

type family XBndrRequired p Source #

#### Instances

Instances details

type XBndrRequired (GhcPass _1) Source # |
Instance details Defined in GHC.Hs.Type type XBndrRequired (GhcPass _1) = NoExtField

type family XBndrInvisible p Source #

#### Instances

Instances details

type XBndrInvisible GhcPs Source # |
Instance details Defined in GHC.Hs.Type type XBndrInvisible GhcPs = EpToken "@"
type XBndrInvisible GhcRn Source # |
Instance details Defined in GHC.Hs.Type type XBndrInvisible GhcRn = NoExtField
type XBndrInvisible GhcTc Source # |
Instance details Defined in GHC.Hs.Type type XBndrInvisible GhcTc = NoExtField

type family XXBndrVis p Source #

#### Instances

Instances details

type XXBndrVis (GhcPass _1) Source # |
Instance details Defined in GHC.Hs.Type type XXBndrVis (GhcPass _1) = DataConCantHappen

data HsBndrVar pass Source #

Constructors

HsBndrVar !(XBndrVar pass) !(LIdP pass) |
HsBndrWildCard !(XBndrWildCard pass) |
XBndrVar !(XXBndrVar pass) |

#### Instances

Instances details

OutputableBndrId p => Outputable (HsBndrVar (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsBndrVar (GhcPass p) -> SDoc Source #
Data (HsBndrVar GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBndrVar GhcPs -> c (HsBndrVar GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsBndrVar GhcPs) Source # toConstr :: HsBndrVar GhcPs -> Constr Source # dataTypeOf :: HsBndrVar GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsBndrVar GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsBndrVar GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsBndrVar GhcPs -> HsBndrVar GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVar GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVar GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBndrVar GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBndrVar GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBndrVar GhcPs -> m (HsBndrVar GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVar GhcPs -> m (HsBndrVar GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVar GhcPs -> m (HsBndrVar GhcPs) Source #
Data (HsBndrVar GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBndrVar GhcRn -> c (HsBndrVar GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsBndrVar GhcRn) Source # toConstr :: HsBndrVar GhcRn -> Constr Source # dataTypeOf :: HsBndrVar GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsBndrVar GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsBndrVar GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsBndrVar GhcRn -> HsBndrVar GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVar GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVar GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBndrVar GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBndrVar GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBndrVar GhcRn -> m (HsBndrVar GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVar GhcRn -> m (HsBndrVar GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVar GhcRn -> m (HsBndrVar GhcRn) Source #
Data (HsBndrVar GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBndrVar GhcTc -> c (HsBndrVar GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsBndrVar GhcTc) Source # toConstr :: HsBndrVar GhcTc -> Constr Source # dataTypeOf :: HsBndrVar GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsBndrVar GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsBndrVar GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsBndrVar GhcTc -> HsBndrVar GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVar GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrVar GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBndrVar GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBndrVar GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBndrVar GhcTc -> m (HsBndrVar GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVar GhcTc -> m (HsBndrVar GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrVar GhcTc -> m (HsBndrVar GhcTc) Source #

type family XBndrVar p Source #

#### Instances

Instances details

type XBndrVar (GhcPass p) Source # |
Instance details Defined in GHC.Hs.Type type XBndrVar (GhcPass p) = NoExtField

type family XBndrWildCard p Source #

#### Instances

Instances details

type XBndrWildCard GhcPs Source # |
Instance details Defined in GHC.Hs.Type type XBndrWildCard GhcPs = EpToken "_"
type XBndrWildCard GhcRn Source # |
Instance details Defined in GHC.Hs.Type type XBndrWildCard GhcRn = NoExtField
type XBndrWildCard GhcTc Source # |
Instance details Defined in GHC.Hs.Type type XBndrWildCard GhcTc = NoExtField

type family XXBndrVar p Source #

#### Instances

Instances details

type XXBndrVar (GhcPass p) Source # |
Instance details Defined in GHC.Hs.Type type XXBndrVar (GhcPass p) = DataConCantHappen

data HsBndrKind pass Source #

Constructors

HsBndrKind !(XBndrKind pass) (LHsKind pass) |
HsBndrNoKind !(XBndrNoKind pass) |
XBndrKind !(XXBndrKind pass) |

#### Instances

Instances details

Data (HsBndrKind GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBndrKind GhcPs -> c (HsBndrKind GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsBndrKind GhcPs) Source # toConstr :: HsBndrKind GhcPs -> Constr Source # dataTypeOf :: HsBndrKind GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsBndrKind GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsBndrKind GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsBndrKind GhcPs -> HsBndrKind GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrKind GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrKind GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBndrKind GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBndrKind GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBndrKind GhcPs -> m (HsBndrKind GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrKind GhcPs -> m (HsBndrKind GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrKind GhcPs -> m (HsBndrKind GhcPs) Source #
Data (HsBndrKind GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBndrKind GhcRn -> c (HsBndrKind GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsBndrKind GhcRn) Source # toConstr :: HsBndrKind GhcRn -> Constr Source # dataTypeOf :: HsBndrKind GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsBndrKind GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsBndrKind GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsBndrKind GhcRn -> HsBndrKind GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrKind GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrKind GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBndrKind GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBndrKind GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBndrKind GhcRn -> m (HsBndrKind GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrKind GhcRn -> m (HsBndrKind GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrKind GhcRn -> m (HsBndrKind GhcRn) Source #
Data (HsBndrKind GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBndrKind GhcTc -> c (HsBndrKind GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsBndrKind GhcTc) Source # toConstr :: HsBndrKind GhcTc -> Constr Source # dataTypeOf :: HsBndrKind GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsBndrKind GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsBndrKind GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsBndrKind GhcTc -> HsBndrKind GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrKind GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBndrKind GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBndrKind GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBndrKind GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBndrKind GhcTc -> m (HsBndrKind GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrKind GhcTc -> m (HsBndrKind GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBndrKind GhcTc -> m (HsBndrKind GhcTc) Source #

type family XBndrKind p Source #

#### Instances

Instances details

type XBndrKind (GhcPass p) Source # |
Instance details Defined in GHC.Hs.Type type XBndrKind (GhcPass p) = NoExtField

type family XBndrNoKind p Source #

#### Instances

Instances details

type XBndrNoKind (GhcPass p) Source # |
Instance details Defined in GHC.Hs.Type type XBndrNoKind (GhcPass p) = NoExtField

type family XXBndrKind p Source #

#### Instances

Instances details

type XXBndrKind (GhcPass p) Source # |
Instance details Defined in GHC.Hs.Type type XXBndrKind (GhcPass p) = DataConCantHappen

isHsBndrInvisible :: HsBndrVis pass -> Bool Source #

isHsBndrWildCard :: HsBndrVar pass -> Bool Source #

data HsForAllTelescope pass Source #

The type variable binders in an `HsForAllTy`. See also `Note [Variable Specificity and Forall Visibility]` in GHC.Tc.Gen.HsType.

Constructors

HsForAllVis | A visible `forall` (e.g., `forall a -> {...}`). These do not have any notion of specificity, so we use `()` as a placeholder value.
Fields hsf_xvis :: XHsForAllVis pass hsf_vis_bndrs :: [LHsTyVarBndr () pass]
HsForAllInvis | An invisible `forall` (e.g., `forall a {b} c. {...}`), where each binder has a `Specificity`.
Fields hsf_xinvis :: XHsForAllInvis pass hsf_invis_bndrs :: [LHsTyVarBndr Specificity pass]
XHsForAllTelescope !(XXHsForAllTelescope pass) |

#### Instances

Instances details

OutputableBndrId p => Outputable (HsForAllTelescope (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsForAllTelescope (GhcPass p) -> SDoc Source #
Data (HsForAllTelescope GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsForAllTelescope GhcPs -> c (HsForAllTelescope GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsForAllTelescope GhcPs) Source # toConstr :: HsForAllTelescope GhcPs -> Constr Source # dataTypeOf :: HsForAllTelescope GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsForAllTelescope GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsForAllTelescope GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsForAllTelescope GhcPs -> HsForAllTelescope GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsForAllTelescope GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsForAllTelescope GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsForAllTelescope GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsForAllTelescope GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsForAllTelescope GhcPs -> m (HsForAllTelescope GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsForAllTelescope GhcPs -> m (HsForAllTelescope GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsForAllTelescope GhcPs -> m (HsForAllTelescope GhcPs) Source #
Data (HsForAllTelescope GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsForAllTelescope GhcRn -> c (HsForAllTelescope GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsForAllTelescope GhcRn) Source # toConstr :: HsForAllTelescope GhcRn -> Constr Source # dataTypeOf :: HsForAllTelescope GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsForAllTelescope GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsForAllTelescope GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsForAllTelescope GhcRn -> HsForAllTelescope GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsForAllTelescope GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsForAllTelescope GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsForAllTelescope GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsForAllTelescope GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsForAllTelescope GhcRn -> m (HsForAllTelescope GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsForAllTelescope GhcRn -> m (HsForAllTelescope GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsForAllTelescope GhcRn -> m (HsForAllTelescope GhcRn) Source #
Data (HsForAllTelescope GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsForAllTelescope GhcTc -> c (HsForAllTelescope GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsForAllTelescope GhcTc) Source # toConstr :: HsForAllTelescope GhcTc -> Constr Source # dataTypeOf :: HsForAllTelescope GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsForAllTelescope GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsForAllTelescope GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsForAllTelescope GhcTc -> HsForAllTelescope GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsForAllTelescope GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsForAllTelescope GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsForAllTelescope GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsForAllTelescope GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsForAllTelescope GhcTc -> m (HsForAllTelescope GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsForAllTelescope GhcTc -> m (HsForAllTelescope GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsForAllTelescope GhcTc -> m (HsForAllTelescope GhcTc) Source #

data HsTyVarBndr flag pass Source #

Haskell Type Variable Binder See Note [Type variable binders]

Constructors

HsTvb |
Fields tvb_ext :: XTyVarBndr pass tvb_flag :: flag tvb_var :: HsBndrVar pass tvb_kind :: HsBndrKind pass
XTyVarBndr !(XXTyVarBndr pass) |

#### Instances

Instances details

(OutputableBndrId p, OutputableBndrFlag flag p) => Outputable (HsTyVarBndr flag (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsTyVarBndr flag (GhcPass p) -> SDoc Source #
Data flag => Data (HsTyVarBndr flag GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTyVarBndr flag GhcPs -> c (HsTyVarBndr flag GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsTyVarBndr flag GhcPs) Source # toConstr :: HsTyVarBndr flag GhcPs -> Constr Source # dataTypeOf :: HsTyVarBndr flag GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsTyVarBndr flag GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsTyVarBndr flag GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsTyVarBndr flag GhcPs -> HsTyVarBndr flag GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTyVarBndr flag GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTyVarBndr flag GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTyVarBndr flag GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTyVarBndr flag GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTyVarBndr flag GhcPs -> m (HsTyVarBndr flag GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyVarBndr flag GhcPs -> m (HsTyVarBndr flag GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyVarBndr flag GhcPs -> m (HsTyVarBndr flag GhcPs) Source #
Data flag => Data (HsTyVarBndr flag GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTyVarBndr flag GhcRn -> c (HsTyVarBndr flag GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsTyVarBndr flag GhcRn) Source # toConstr :: HsTyVarBndr flag GhcRn -> Constr Source # dataTypeOf :: HsTyVarBndr flag GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsTyVarBndr flag GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsTyVarBndr flag GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsTyVarBndr flag GhcRn -> HsTyVarBndr flag GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTyVarBndr flag GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTyVarBndr flag GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTyVarBndr flag GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTyVarBndr flag GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTyVarBndr flag GhcRn -> m (HsTyVarBndr flag GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyVarBndr flag GhcRn -> m (HsTyVarBndr flag GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyVarBndr flag GhcRn -> m (HsTyVarBndr flag GhcRn) Source #
Data flag => Data (HsTyVarBndr flag GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTyVarBndr flag GhcTc -> c (HsTyVarBndr flag GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsTyVarBndr flag GhcTc) Source # toConstr :: HsTyVarBndr flag GhcTc -> Constr Source # dataTypeOf :: HsTyVarBndr flag GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsTyVarBndr flag GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsTyVarBndr flag GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsTyVarBndr flag GhcTc -> HsTyVarBndr flag GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTyVarBndr flag GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTyVarBndr flag GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTyVarBndr flag GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTyVarBndr flag GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTyVarBndr flag GhcTc -> m (HsTyVarBndr flag GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyVarBndr flag GhcTc -> m (HsTyVarBndr flag GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyVarBndr flag GhcTc -> m (HsTyVarBndr flag GhcTc) Source #
type Anno (HsTyVarBndr _flag (GhcPass _1)) Source # |
Instance details Defined in GHC.Hs.Type type Anno (HsTyVarBndr _flag (GhcPass _1)) = SrcSpanAnnA
type Anno (HsTyVarBndr _flag GhcPs) Source # |
Instance details Defined in GHC.Hs.Type type Anno (HsTyVarBndr _flag GhcPs) = SrcSpanAnnA
type Anno (HsTyVarBndr _flag GhcRn) Source # |
Instance details Defined in GHC.Hs.Type type Anno (HsTyVarBndr _flag GhcRn) = SrcSpanAnnA
type Anno (HsTyVarBndr _flag GhcTc) Source # |
Instance details Defined in GHC.Hs.Type type Anno (HsTyVarBndr _flag GhcTc) = SrcSpanAnnA

type LHsTyVarBndr flag pass = XRec pass (HsTyVarBndr flag pass) Source #

Located Haskell Type Variable Binder

data LHsQTyVars pass Source #

Located Haskell Quantified Type Variables

Constructors

HsQTvs |
Fields hsq_ext :: XHsQTvs pass hsq_explicit :: [LHsTyVarBndr (HsBndrVis pass) pass]
XLHsQTyVars !(XXLHsQTyVars pass) |

#### Instances

Instances details

OutputableBndrId p => Outputable (LHsQTyVars (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: LHsQTyVars (GhcPass p) -> SDoc Source #
Data (LHsQTyVars GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LHsQTyVars GhcPs -> c (LHsQTyVars GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (LHsQTyVars GhcPs) Source # toConstr :: LHsQTyVars GhcPs -> Constr Source # dataTypeOf :: LHsQTyVars GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (LHsQTyVars GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LHsQTyVars GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> LHsQTyVars GhcPs -> LHsQTyVars GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LHsQTyVars GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LHsQTyVars GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> LHsQTyVars GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> LHsQTyVars GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LHsQTyVars GhcPs -> m (LHsQTyVars GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LHsQTyVars GhcPs -> m (LHsQTyVars GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LHsQTyVars GhcPs -> m (LHsQTyVars GhcPs) Source #
Data (LHsQTyVars GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LHsQTyVars GhcRn -> c (LHsQTyVars GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (LHsQTyVars GhcRn) Source # toConstr :: LHsQTyVars GhcRn -> Constr Source # dataTypeOf :: LHsQTyVars GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (LHsQTyVars GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LHsQTyVars GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> LHsQTyVars GhcRn -> LHsQTyVars GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LHsQTyVars GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LHsQTyVars GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> LHsQTyVars GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> LHsQTyVars GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LHsQTyVars GhcRn -> m (LHsQTyVars GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LHsQTyVars GhcRn -> m (LHsQTyVars GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LHsQTyVars GhcRn -> m (LHsQTyVars GhcRn) Source #
Data (LHsQTyVars GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LHsQTyVars GhcTc -> c (LHsQTyVars GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (LHsQTyVars GhcTc) Source # toConstr :: LHsQTyVars GhcTc -> Constr Source # dataTypeOf :: LHsQTyVars GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (LHsQTyVars GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LHsQTyVars GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> LHsQTyVars GhcTc -> LHsQTyVars GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LHsQTyVars GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LHsQTyVars GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> LHsQTyVars GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> LHsQTyVars GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LHsQTyVars GhcTc -> m (LHsQTyVars GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LHsQTyVars GhcTc -> m (LHsQTyVars GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LHsQTyVars GhcTc -> m (LHsQTyVars GhcTc) Source #

data HsOuterTyVarBndrs flag pass Source #

The outermost type variables in a type that obeys the `forall`-or-nothing rule. See `Note [forall-or-nothing rule]`.

Constructors

HsOuterImplicit | Implicit forall, e.g., `f :: a -> b -> b`
Fields hso_ximplicit :: XHsOuterImplicit pass
HsOuterExplicit | Explicit forall, e.g., `f :: forall a b. a -> b -> b`
Fields hso_xexplicit :: XHsOuterExplicit pass flag hso_bndrs :: [LHsTyVarBndr flag (NoGhcTc pass)]
XHsOuterTyVarBndrs !(XXHsOuterTyVarBndrs pass) |

#### Instances

Instances details

(OutputableBndrFlag flag p, OutputableBndrFlag flag (NoGhcTcPass p), OutputableBndrId p) => Outputable (HsOuterTyVarBndrs flag (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsOuterTyVarBndrs flag (GhcPass p) -> SDoc Source #
Data flag => Data (HsOuterTyVarBndrs flag GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsOuterTyVarBndrs flag GhcPs -> c (HsOuterTyVarBndrs flag GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsOuterTyVarBndrs flag GhcPs) Source # toConstr :: HsOuterTyVarBndrs flag GhcPs -> Constr Source # dataTypeOf :: HsOuterTyVarBndrs flag GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsOuterTyVarBndrs flag GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsOuterTyVarBndrs flag GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsOuterTyVarBndrs flag GhcPs -> HsOuterTyVarBndrs flag GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsOuterTyVarBndrs flag GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsOuterTyVarBndrs flag GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsOuterTyVarBndrs flag GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsOuterTyVarBndrs flag GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsOuterTyVarBndrs flag GhcPs -> m (HsOuterTyVarBndrs flag GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsOuterTyVarBndrs flag GhcPs -> m (HsOuterTyVarBndrs flag GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsOuterTyVarBndrs flag GhcPs -> m (HsOuterTyVarBndrs flag GhcPs) Source #
Data flag => Data (HsOuterTyVarBndrs flag GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsOuterTyVarBndrs flag GhcRn -> c (HsOuterTyVarBndrs flag GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsOuterTyVarBndrs flag GhcRn) Source # toConstr :: HsOuterTyVarBndrs flag GhcRn -> Constr Source # dataTypeOf :: HsOuterTyVarBndrs flag GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsOuterTyVarBndrs flag GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsOuterTyVarBndrs flag GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsOuterTyVarBndrs flag GhcRn -> HsOuterTyVarBndrs flag GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsOuterTyVarBndrs flag GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsOuterTyVarBndrs flag GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsOuterTyVarBndrs flag GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsOuterTyVarBndrs flag GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsOuterTyVarBndrs flag GhcRn -> m (HsOuterTyVarBndrs flag GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsOuterTyVarBndrs flag GhcRn -> m (HsOuterTyVarBndrs flag GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsOuterTyVarBndrs flag GhcRn -> m (HsOuterTyVarBndrs flag GhcRn) Source #
Data flag => Data (HsOuterTyVarBndrs flag GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsOuterTyVarBndrs flag GhcTc -> c (HsOuterTyVarBndrs flag GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsOuterTyVarBndrs flag GhcTc) Source # toConstr :: HsOuterTyVarBndrs flag GhcTc -> Constr Source # dataTypeOf :: HsOuterTyVarBndrs flag GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsOuterTyVarBndrs flag GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsOuterTyVarBndrs flag GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsOuterTyVarBndrs flag GhcTc -> HsOuterTyVarBndrs flag GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsOuterTyVarBndrs flag GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsOuterTyVarBndrs flag GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsOuterTyVarBndrs flag GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsOuterTyVarBndrs flag GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsOuterTyVarBndrs flag GhcTc -> m (HsOuterTyVarBndrs flag GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsOuterTyVarBndrs flag GhcTc -> m (HsOuterTyVarBndrs flag GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsOuterTyVarBndrs flag GhcTc -> m (HsOuterTyVarBndrs flag GhcTc) Source #
type Anno (HsOuterTyVarBndrs _1 (GhcPass _2)) Source # |
Instance details Defined in GHC.Hs.Type type Anno (HsOuterTyVarBndrs _1 (GhcPass _2)) = SrcSpanAnnA

type HsOuterFamEqnTyVarBndrs = HsOuterTyVarBndrs () Source #

Used for type-family instance equations, e.g.,

    type instance forall a. F [a] = Tree a

The notion of specificity is irrelevant in type family equations, so we use `()` for the `HsOuterTyVarBndrs` `flag`.

type HsOuterSigTyVarBndrs = HsOuterTyVarBndrs Specificity Source #

Used for signatures, e.g.,

    f :: forall a {b}. blah

We use `Specificity` for the `HsOuterTyVarBndrs` `flag` to allow distinguishing between specified and inferred type variables.

data HsWildCardBndrs pass thing Source #

Haskell Wildcard Binders

Constructors

HsWC |
Fields hswc_ext :: XHsWC pass thing hswc_body :: thing
XHsWildCardBndrs !(XXHsWildCardBndrs pass thing) |

#### Instances

Instances details

Outputable thing => Outputable (HsWildCardBndrs (GhcPass p) thing) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsWildCardBndrs (GhcPass p) thing -> SDoc Source #
Data thing => Data (HsWildCardBndrs GhcPs thing) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsWildCardBndrs GhcPs thing -> c (HsWildCardBndrs GhcPs thing) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsWildCardBndrs GhcPs thing) Source # toConstr :: HsWildCardBndrs GhcPs thing -> Constr Source # dataTypeOf :: HsWildCardBndrs GhcPs thing -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsWildCardBndrs GhcPs thing)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsWildCardBndrs GhcPs thing)) Source # gmapT :: (forall b. Data b => b -> b) -> HsWildCardBndrs GhcPs thing -> HsWildCardBndrs GhcPs thing Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsWildCardBndrs GhcPs thing -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsWildCardBndrs GhcPs thing -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsWildCardBndrs GhcPs thing -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsWildCardBndrs GhcPs thing -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsWildCardBndrs GhcPs thing -> m (HsWildCardBndrs GhcPs thing) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsWildCardBndrs GhcPs thing -> m (HsWildCardBndrs GhcPs thing) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsWildCardBndrs GhcPs thing -> m (HsWildCardBndrs GhcPs thing) Source #
Data thing => Data (HsWildCardBndrs GhcRn thing) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsWildCardBndrs GhcRn thing -> c (HsWildCardBndrs GhcRn thing) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsWildCardBndrs GhcRn thing) Source # toConstr :: HsWildCardBndrs GhcRn thing -> Constr Source # dataTypeOf :: HsWildCardBndrs GhcRn thing -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsWildCardBndrs GhcRn thing)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsWildCardBndrs GhcRn thing)) Source # gmapT :: (forall b. Data b => b -> b) -> HsWildCardBndrs GhcRn thing -> HsWildCardBndrs GhcRn thing Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsWildCardBndrs GhcRn thing -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsWildCardBndrs GhcRn thing -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsWildCardBndrs GhcRn thing -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsWildCardBndrs GhcRn thing -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsWildCardBndrs GhcRn thing -> m (HsWildCardBndrs GhcRn thing) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsWildCardBndrs GhcRn thing -> m (HsWildCardBndrs GhcRn thing) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsWildCardBndrs GhcRn thing -> m (HsWildCardBndrs GhcRn thing) Source #
Data thing => Data (HsWildCardBndrs GhcTc thing) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsWildCardBndrs GhcTc thing -> c (HsWildCardBndrs GhcTc thing) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsWildCardBndrs GhcTc thing) Source # toConstr :: HsWildCardBndrs GhcTc thing -> Constr Source # dataTypeOf :: HsWildCardBndrs GhcTc thing -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsWildCardBndrs GhcTc thing)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsWildCardBndrs GhcTc thing)) Source # gmapT :: (forall b. Data b => b -> b) -> HsWildCardBndrs GhcTc thing -> HsWildCardBndrs GhcTc thing Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsWildCardBndrs GhcTc thing -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsWildCardBndrs GhcTc thing -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsWildCardBndrs GhcTc thing -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsWildCardBndrs GhcTc thing -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsWildCardBndrs GhcTc thing -> m (HsWildCardBndrs GhcTc thing) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsWildCardBndrs GhcTc thing -> m (HsWildCardBndrs GhcTc thing) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsWildCardBndrs GhcTc thing -> m (HsWildCardBndrs GhcTc thing) Source #

data HsPatSigType pass Source #

Types that can appear in pattern signatures, as well as the signatures for term-level binders in RULES. See `Note [Pattern signature binders and scoping]`.

This is very similar to `HsSigWcType`, but with slightly different semantics: see `Note [HsType binders]`. See also `Note [The wildcard story for types]`.

Constructors

HsPS |
Fields hsps_ext :: XHsPS pass After renamer: `HsPSRn` hsps_body :: LHsType pass Main payload (the type itself)
XHsPatSigType !(XXHsPatSigType pass) |

#### Instances

Instances details

OutputableBndrId p => Outputable (HsPatSigType (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsPatSigType (GhcPass p) -> SDoc Source #
Data (HsPatSigType GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsPatSigType GhcPs -> c (HsPatSigType GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsPatSigType GhcPs) Source # toConstr :: HsPatSigType GhcPs -> Constr Source # dataTypeOf :: HsPatSigType GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsPatSigType GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsPatSigType GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsPatSigType GhcPs -> HsPatSigType GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsPatSigType GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsPatSigType GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsPatSigType GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsPatSigType GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsPatSigType GhcPs -> m (HsPatSigType GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsPatSigType GhcPs -> m (HsPatSigType GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsPatSigType GhcPs -> m (HsPatSigType GhcPs) Source #
Data (HsPatSigType GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsPatSigType GhcRn -> c (HsPatSigType GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsPatSigType GhcRn) Source # toConstr :: HsPatSigType GhcRn -> Constr Source # dataTypeOf :: HsPatSigType GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsPatSigType GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsPatSigType GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsPatSigType GhcRn -> HsPatSigType GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsPatSigType GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsPatSigType GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsPatSigType GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsPatSigType GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsPatSigType GhcRn -> m (HsPatSigType GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsPatSigType GhcRn -> m (HsPatSigType GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsPatSigType GhcRn -> m (HsPatSigType GhcRn) Source #
Data (HsPatSigType GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsPatSigType GhcTc -> c (HsPatSigType GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsPatSigType GhcTc) Source # toConstr :: HsPatSigType GhcTc -> Constr Source # dataTypeOf :: HsPatSigType GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsPatSigType GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsPatSigType GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsPatSigType GhcTc -> HsPatSigType GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsPatSigType GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsPatSigType GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsPatSigType GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsPatSigType GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsPatSigType GhcTc -> m (HsPatSigType GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsPatSigType GhcTc -> m (HsPatSigType GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsPatSigType GhcTc -> m (HsPatSigType GhcTc) Source #

data HsSigType pass Source #

A type signature that obeys the `forall`-or-nothing rule. In other words, an `LHsType` that uses an `HsOuterSigTyVarBndrs` to represent its outermost type variable quantification. See `Note [Representing type signatures]`.

Constructors

HsSig |
Fields sig_ext :: XHsSig pass sig_bndrs :: HsOuterSigTyVarBndrs pass sig_body :: LHsType pass
XHsSigType !(XXHsSigType pass) |

#### Instances

Instances details

OutputableBndrId p => Outputable (HsSigType (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsSigType (GhcPass p) -> SDoc Source #
Data (HsSigType GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsSigType GhcPs -> c (HsSigType GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsSigType GhcPs) Source # toConstr :: HsSigType GhcPs -> Constr Source # dataTypeOf :: HsSigType GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsSigType GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsSigType GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsSigType GhcPs -> HsSigType GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsSigType GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsSigType GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsSigType GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsSigType GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsSigType GhcPs -> m (HsSigType GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsSigType GhcPs -> m (HsSigType GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsSigType GhcPs -> m (HsSigType GhcPs) Source #
Data (HsSigType GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsSigType GhcRn -> c (HsSigType GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsSigType GhcRn) Source # toConstr :: HsSigType GhcRn -> Constr Source # dataTypeOf :: HsSigType GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsSigType GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsSigType GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsSigType GhcRn -> HsSigType GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsSigType GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsSigType GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsSigType GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsSigType GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsSigType GhcRn -> m (HsSigType GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsSigType GhcRn -> m (HsSigType GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsSigType GhcRn -> m (HsSigType GhcRn) Source #
Data (HsSigType GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsSigType GhcTc -> c (HsSigType GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsSigType GhcTc) Source # toConstr :: HsSigType GhcTc -> Constr Source # dataTypeOf :: HsSigType GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsSigType GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsSigType GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsSigType GhcTc -> HsSigType GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsSigType GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsSigType GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsSigType GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsSigType GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsSigType GhcTc -> m (HsSigType GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsSigType GhcTc -> m (HsSigType GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsSigType GhcTc -> m (HsSigType GhcTc) Source #
type Anno (HsSigType (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type type Anno (HsSigType (GhcPass p)) = SrcSpanAnnA

type LHsSigType pass = XRec pass (HsSigType pass) Source #

Located Haskell Signature Type

type LHsSigWcType pass = HsWildCardBndrs pass (LHsSigType pass) Source #

Located Haskell Signature Wildcard Type

type LHsWcType pass = HsWildCardBndrs pass (LHsType pass) Source #

Located Haskell Wildcard Type

data HsTyPat pass Source #

Constructors

HsTP |
Fields hstp_ext :: XHsTP pass After renamer: `HsTyPatRn` hstp_body :: LHsType pass Main payload (the type itself)
XHsTyPat !(XXHsTyPat pass) |

#### Instances

Instances details

OutputableBndrId p => Outputable (HsTyPat (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsTyPat (GhcPass p) -> SDoc Source #
Data (HsTyPat GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTyPat GhcPs -> c (HsTyPat GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsTyPat GhcPs) Source # toConstr :: HsTyPat GhcPs -> Constr Source # dataTypeOf :: HsTyPat GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsTyPat GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsTyPat GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsTyPat GhcPs -> HsTyPat GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTyPat GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTyPat GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTyPat GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTyPat GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTyPat GhcPs -> m (HsTyPat GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyPat GhcPs -> m (HsTyPat GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyPat GhcPs -> m (HsTyPat GhcPs) Source #
Data (HsTyPat GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTyPat GhcRn -> c (HsTyPat GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsTyPat GhcRn) Source # toConstr :: HsTyPat GhcRn -> Constr Source # dataTypeOf :: HsTyPat GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsTyPat GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsTyPat GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsTyPat GhcRn -> HsTyPat GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTyPat GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTyPat GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTyPat GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTyPat GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTyPat GhcRn -> m (HsTyPat GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyPat GhcRn -> m (HsTyPat GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyPat GhcRn -> m (HsTyPat GhcRn) Source #
Data (HsTyPat GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTyPat GhcTc -> c (HsTyPat GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsTyPat GhcTc) Source # toConstr :: HsTyPat GhcTc -> Constr Source # dataTypeOf :: HsTyPat GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsTyPat GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsTyPat GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsTyPat GhcTc -> HsTyPat GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTyPat GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTyPat GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTyPat GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTyPat GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTyPat GhcTc -> m (HsTyPat GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyPat GhcTc -> m (HsTyPat GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyPat GhcTc -> m (HsTyPat GhcTc) Source #

type LHsTyPat pass = XRec pass (HsTyPat pass) Source #

data HsTupleSort Source #

Haskell Tuple Sort

Constructors

HsUnboxedTuple |
HsBoxedOrConstraintTuple |

#### Instances

Instances details

Data HsTupleSort Source # |
Instance details Defined in Language.Haskell.Syntax.Type Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTupleSort -> c HsTupleSort Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HsTupleSort Source # toConstr :: HsTupleSort -> Constr Source # dataTypeOf :: HsTupleSort -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HsTupleSort) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HsTupleSort) Source # gmapT :: (forall b. Data b => b -> b) -> HsTupleSort -> HsTupleSort Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTupleSort -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTupleSort -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTupleSort -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTupleSort -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTupleSort -> m HsTupleSort Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTupleSort -> m HsTupleSort Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTupleSort -> m HsTupleSort Source #

type HsContext pass = [LHsType pass] Source #

Haskell Context

type LHsContext pass = XRec pass (HsContext pass) Source #

Located Haskell Context

data HsTyLit pass Source #

Haskell Type Literal

Constructors

HsNumTy (XNumTy pass) Integer |
HsStrTy (XStrTy pass) FastString |
HsCharTy (XCharTy pass) Char |
XTyLit !(XXTyLit pass) |

#### Instances

Instances details

OutputableBndrId p => Outputable (HsTyLit (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsTyLit (GhcPass p) -> SDoc Source #
Data (HsTyLit GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTyLit GhcPs -> c (HsTyLit GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsTyLit GhcPs) Source # toConstr :: HsTyLit GhcPs -> Constr Source # dataTypeOf :: HsTyLit GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsTyLit GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsTyLit GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsTyLit GhcPs -> HsTyLit GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTyLit GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTyLit GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTyLit GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTyLit GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTyLit GhcPs -> m (HsTyLit GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyLit GhcPs -> m (HsTyLit GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyLit GhcPs -> m (HsTyLit GhcPs) Source #
Data (HsTyLit GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTyLit GhcRn -> c (HsTyLit GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsTyLit GhcRn) Source # toConstr :: HsTyLit GhcRn -> Constr Source # dataTypeOf :: HsTyLit GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsTyLit GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsTyLit GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsTyLit GhcRn -> HsTyLit GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTyLit GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTyLit GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTyLit GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTyLit GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTyLit GhcRn -> m (HsTyLit GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyLit GhcRn -> m (HsTyLit GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyLit GhcRn -> m (HsTyLit GhcRn) Source #
Data (HsTyLit GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsTyLit GhcTc -> c (HsTyLit GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsTyLit GhcTc) Source # toConstr :: HsTyLit GhcTc -> Constr Source # dataTypeOf :: HsTyLit GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsTyLit GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsTyLit GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsTyLit GhcTc -> HsTyLit GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsTyLit GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsTyLit GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsTyLit GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsTyLit GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsTyLit GhcTc -> m (HsTyLit GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyLit GhcTc -> m (HsTyLit GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsTyLit GhcTc -> m (HsTyLit GhcTc) Source #

newtype HsIPName Source #

These names are used early on to store the names of implicit parameters. They completely disappear after type-checking.

Constructors

HsIPName FastString |

#### Instances

Instances details

Outputable HsIPName Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsIPName -> SDoc Source #
OutputableBndr HsIPName Source # |
Instance details Defined in GHC.Hs.Type Methods pprBndr :: BindingSite -> HsIPName -> SDoc Source # pprPrefixOcc :: HsIPName -> SDoc Source # pprInfixOcc :: HsIPName -> SDoc Source # bndrIsJoin_maybe :: HsIPName -> JoinPointHood Source #
Eq HsIPName Source # |
Instance details Defined in Language.Haskell.Syntax.Type Methods (==) :: HsIPName -> HsIPName -> Bool Source # (/=) :: HsIPName -> HsIPName -> Bool Source #
Data HsIPName Source # |
Instance details Defined in Language.Haskell.Syntax.Type Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsIPName -> c HsIPName Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HsIPName Source # toConstr :: HsIPName -> Constr Source # dataTypeOf :: HsIPName -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HsIPName) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HsIPName) Source # gmapT :: (forall b. Data b => b -> b) -> HsIPName -> HsIPName Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsIPName -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsIPName -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsIPName -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsIPName -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsIPName -> m HsIPName Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsIPName -> m HsIPName Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsIPName -> m HsIPName Source #
type Anno HsIPName Source # |
Instance details Defined in GHC.Hs.Type type Anno HsIPName = EpAnnCO

hsIPNameFS :: HsIPName -> FastString Source #

data HsArg p tm ty Source #

Arguments in an expression/type after splitting

Constructors

HsValArg !(XValArg p) tm |
HsTypeArg !(XTypeArg p) ty |
HsArgPar !(XArgPar p) |
XArg !(XXArg p) |

#### Instances

Instances details

(HasLoc tm, HasLoc ty) => HasLoc (HsArg (GhcPass p) tm ty) Source # |
Instance details Defined in GHC.Iface.Ext.Ast Methods getHasLoc :: HsArg (GhcPass p) tm ty -> SrcSpan Source #
(Outputable tm, Outputable ty) => Outputable (HsArg (GhcPass p) tm ty) Source # | This instance is meant for debug-printing purposes. If you wish to pretty-print an application of `HsArg`s, use `pprHsArgsApp` instead.
Instance details Defined in GHC.Hs.Type Methods ppr :: HsArg (GhcPass p) tm ty -> SDoc Source #
(Data a, Data b) => Data (HsArg GhcPs a b) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> HsArg GhcPs a b -> c (HsArg GhcPs a b) Source # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsArg GhcPs a b) Source # toConstr :: HsArg GhcPs a b -> Constr Source # dataTypeOf :: HsArg GhcPs a b -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsArg GhcPs a b)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsArg GhcPs a b)) Source # gmapT :: (forall b0. Data b0 => b0 -> b0) -> HsArg GhcPs a b -> HsArg GhcPs a b Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsArg GhcPs a b -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsArg GhcPs a b -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsArg GhcPs a b -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsArg GhcPs a b -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsArg GhcPs a b -> m (HsArg GhcPs a b) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsArg GhcPs a b -> m (HsArg GhcPs a b) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsArg GhcPs a b -> m (HsArg GhcPs a b) Source #
(Data a, Data b) => Data (HsArg GhcRn a b) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> HsArg GhcRn a b -> c (HsArg GhcRn a b) Source # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsArg GhcRn a b) Source # toConstr :: HsArg GhcRn a b -> Constr Source # dataTypeOf :: HsArg GhcRn a b -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsArg GhcRn a b)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsArg GhcRn a b)) Source # gmapT :: (forall b0. Data b0 => b0 -> b0) -> HsArg GhcRn a b -> HsArg GhcRn a b Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsArg GhcRn a b -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsArg GhcRn a b -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsArg GhcRn a b -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsArg GhcRn a b -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsArg GhcRn a b -> m (HsArg GhcRn a b) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsArg GhcRn a b -> m (HsArg GhcRn a b) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsArg GhcRn a b -> m (HsArg GhcRn a b) Source #
(Data a, Data b) => Data (HsArg GhcTc a b) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> HsArg GhcTc a b -> c (HsArg GhcTc a b) Source # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsArg GhcTc a b) Source # toConstr :: HsArg GhcTc a b -> Constr Source # dataTypeOf :: HsArg GhcTc a b -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsArg GhcTc a b)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsArg GhcTc a b)) Source # gmapT :: (forall b0. Data b0 => b0 -> b0) -> HsArg GhcTc a b -> HsArg GhcTc a b Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsArg GhcTc a b -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsArg GhcTc a b -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsArg GhcTc a b -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsArg GhcTc a b -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsArg GhcTc a b -> m (HsArg GhcTc a b) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsArg GhcTc a b -> m (HsArg GhcTc a b) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsArg GhcTc a b -> m (HsArg GhcTc a b) Source #

type family XValArg p Source #

#### Instances

Instances details

type XValArg (GhcPass _1) Source # |
Instance details Defined in GHC.Hs.Type type XValArg (GhcPass _1) = NoExtField

type family XTypeArg p Source #

#### Instances

Instances details

type XTypeArg GhcPs Source # |
Instance details Defined in GHC.Hs.Type type XTypeArg GhcPs = EpToken "@"
type XTypeArg GhcRn Source # |
Instance details Defined in GHC.Hs.Type type XTypeArg GhcRn = NoExtField
type XTypeArg GhcTc Source # |
Instance details Defined in GHC.Hs.Type type XTypeArg GhcTc = NoExtField

type family XArgPar p Source #

#### Instances

Instances details

type XArgPar (GhcPass _1) Source # |
Instance details Defined in GHC.Hs.Type type XArgPar (GhcPass _1) = SrcSpan

type family XXArg p Source #

#### Instances

Instances details

type XXArg (GhcPass _1) Source # |
Instance details Defined in GHC.Hs.Type type XXArg (GhcPass _1) = DataConCantHappen

type LHsTypeArg p = HsArg p (LHsType p) (LHsKind p) Source #

data PromotionFlag Source #

Is a TyCon a promoted data constructor or just a normal type constructor?

Constructors

NotPromoted |
IsPromoted |

#### Instances

Instances details

NFData PromotionFlag Source # |
Instance details Defined in Language.Haskell.Syntax.Type Methods rnf :: PromotionFlag -> () Source #
Binary PromotionFlag Source # |
Instance details Defined in GHC.Types.Basic Methods put_ :: WriteBinHandle -> PromotionFlag -> IO () Source # put :: WriteBinHandle -> PromotionFlag -> IO (Bin PromotionFlag) Source # get :: ReadBinHandle -> IO PromotionFlag Source #
Outputable PromotionFlag Source # |
Instance details Defined in GHC.Types.Basic Methods ppr :: PromotionFlag -> SDoc Source #
Eq PromotionFlag Source # |
Instance details Defined in Language.Haskell.Syntax.Type Methods (==) :: PromotionFlag -> PromotionFlag -> Bool Source # (/=) :: PromotionFlag -> PromotionFlag -> Bool Source #
Ord PromotionFlag Source # |
Instance details Defined in Language.Haskell.Syntax.Type Methods compare :: PromotionFlag -> PromotionFlag -> Ordering Source # (<) :: PromotionFlag -> PromotionFlag -> Bool Source # (<=) :: PromotionFlag -> PromotionFlag -> Bool Source # (>) :: PromotionFlag -> PromotionFlag -> Bool Source # (>=) :: PromotionFlag -> PromotionFlag -> Bool Source # max :: PromotionFlag -> PromotionFlag -> PromotionFlag Source # min :: PromotionFlag -> PromotionFlag -> PromotionFlag Source #
Data PromotionFlag Source # |
Instance details Defined in Language.Haskell.Syntax.Type Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PromotionFlag -> c PromotionFlag Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PromotionFlag Source # toConstr :: PromotionFlag -> Constr Source # dataTypeOf :: PromotionFlag -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PromotionFlag) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PromotionFlag) Source # gmapT :: (forall b. Data b => b -> b) -> PromotionFlag -> PromotionFlag Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PromotionFlag -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PromotionFlag -> r Source # gmapQ :: (forall d. Data d => d -> u) -> PromotionFlag -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> PromotionFlag -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PromotionFlag -> m PromotionFlag Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PromotionFlag -> m PromotionFlag Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PromotionFlag -> m PromotionFlag Source #

isPromoted :: PromotionFlag -> Bool Source #

data HsConDeclRecField pass Source #

Constructor Declaration Record Field

Constructors

HsConDeclRecField |
Fields cdrf_ext :: XConDeclRecField pass cdrf_names :: [LFieldOcc pass] See Note [FieldOcc pass] cdrf_spec :: HsConDeclField pass
XConDeclRecField !(XXConDeclRecField pass) |

#### Instances

Instances details

OutputableBndrId p => Outputable (HsConDeclRecField (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsConDeclRecField (GhcPass p) -> SDoc Source #
Data (HsConDeclRecField GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsConDeclRecField GhcPs -> c (HsConDeclRecField GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsConDeclRecField GhcPs) Source # toConstr :: HsConDeclRecField GhcPs -> Constr Source # dataTypeOf :: HsConDeclRecField GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsConDeclRecField GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsConDeclRecField GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsConDeclRecField GhcPs -> HsConDeclRecField GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclRecField GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclRecField GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsConDeclRecField GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsConDeclRecField GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsConDeclRecField GhcPs -> m (HsConDeclRecField GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclRecField GhcPs -> m (HsConDeclRecField GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclRecField GhcPs -> m (HsConDeclRecField GhcPs) Source #
Data (HsConDeclRecField GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsConDeclRecField GhcRn -> c (HsConDeclRecField GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsConDeclRecField GhcRn) Source # toConstr :: HsConDeclRecField GhcRn -> Constr Source # dataTypeOf :: HsConDeclRecField GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsConDeclRecField GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsConDeclRecField GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsConDeclRecField GhcRn -> HsConDeclRecField GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclRecField GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclRecField GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsConDeclRecField GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsConDeclRecField GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsConDeclRecField GhcRn -> m (HsConDeclRecField GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclRecField GhcRn -> m (HsConDeclRecField GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclRecField GhcRn -> m (HsConDeclRecField GhcRn) Source #
Data (HsConDeclRecField GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsConDeclRecField GhcTc -> c (HsConDeclRecField GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsConDeclRecField GhcTc) Source # toConstr :: HsConDeclRecField GhcTc -> Constr Source # dataTypeOf :: HsConDeclRecField GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsConDeclRecField GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsConDeclRecField GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsConDeclRecField GhcTc -> HsConDeclRecField GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclRecField GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclRecField GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsConDeclRecField GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsConDeclRecField GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsConDeclRecField GhcTc -> m (HsConDeclRecField GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclRecField GhcTc -> m (HsConDeclRecField GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclRecField GhcTc -> m (HsConDeclRecField GhcTc) Source #
type Anno (HsConDeclRecField (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type type Anno (HsConDeclRecField (GhcPass p)) = SrcSpanAnnA
type Anno [LocatedA (HsConDeclRecField (GhcPass _1))] Source # |
Instance details Defined in GHC.Hs.Decls type Anno [LocatedA (HsConDeclRecField (GhcPass _1))] = SrcSpanAnnL

type LHsConDeclRecField pass = XRec pass (HsConDeclRecField pass) Source #

Located Constructor Declaration Record Field

data HsConDetails arg rec Source #

Describes the arguments to a data constructor. This is a common representation for several constructor-related concepts, including:

- The arguments in a Haskell98-style constructor declaration (see `HsConDeclH98Details` in GHC.Hs.Decls).
- The arguments in constructor patterns in `case`/function definitions (see `HsConPatDetails` in GHC.Hs.Pat).
- The left-hand side arguments in a pattern synonym binding (see `HsPatSynDetails` in GHC.Hs.Binds).

One notable exception is the arguments in a GADT constructor, which uses a separate data type entirely (see `HsConDeclGADTDetails` in GHC.Hs.Decls). This is because GADT constructors cannot be declared with infix syntax, unlike the concepts above (#18844).

Constructors

PrefixCon [arg] |
RecCon rec |
InfixCon arg arg |

#### Instances

Instances details

(Outputable arg, Outputable rec) => Outputable (HsConDetails arg rec) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: HsConDetails arg rec -> SDoc Source #
(Data rec, Data arg) => Data (HsConDetails arg rec) Source # |
Instance details Defined in Language.Haskell.Syntax.Type Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsConDetails arg rec -> c (HsConDetails arg rec) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsConDetails arg rec) Source # toConstr :: HsConDetails arg rec -> Constr Source # dataTypeOf :: HsConDetails arg rec -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsConDetails arg rec)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsConDetails arg rec)) Source # gmapT :: (forall b. Data b => b -> b) -> HsConDetails arg rec -> HsConDetails arg rec Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsConDetails arg rec -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsConDetails arg rec -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsConDetails arg rec -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsConDetails arg rec -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsConDetails arg rec -> m (HsConDetails arg rec) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDetails arg rec -> m (HsConDetails arg rec) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDetails arg rec -> m (HsConDetails arg rec) Source #

data HsConDeclField pass Source #

Constructor declaration field specification, see Note [HsConDeclField on pass]

Constructors

CDF |
Fields cdf_ext :: XConDeclField pass Extension point cdf_unpack :: SrcUnpackedness UNPACK pragma if any E.g. data T = MkT {-# UNPACK #-} Int or data T where MtT :: {-# UNPACK #-} Int -> T cdf_bang :: SrcStrictness User-specified strictness, if any E.g. data T a = MkT !a or data T a where MtT :: !a -> T a cdf_multiplicity :: HsMultAnn pass User-specified multiplicity, if any E.g. data T a = MkT { t %Many :: a } or data T a where MtT :: a %1 -> T a cdf_type :: LHsType pass The type of the field cdf_doc :: Maybe (LHsDoc pass) Documentation for the field F.e. this very piece of documentation

#### Instances

Instances details

Data (HsConDeclField GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsConDeclField GhcPs -> c (HsConDeclField GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsConDeclField GhcPs) Source # toConstr :: HsConDeclField GhcPs -> Constr Source # dataTypeOf :: HsConDeclField GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsConDeclField GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsConDeclField GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> HsConDeclField GhcPs -> HsConDeclField GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclField GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclField GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsConDeclField GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsConDeclField GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsConDeclField GhcPs -> m (HsConDeclField GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclField GhcPs -> m (HsConDeclField GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclField GhcPs -> m (HsConDeclField GhcPs) Source #
Data (HsConDeclField GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsConDeclField GhcRn -> c (HsConDeclField GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsConDeclField GhcRn) Source # toConstr :: HsConDeclField GhcRn -> Constr Source # dataTypeOf :: HsConDeclField GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsConDeclField GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsConDeclField GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> HsConDeclField GhcRn -> HsConDeclField GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclField GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclField GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsConDeclField GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsConDeclField GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsConDeclField GhcRn -> m (HsConDeclField GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclField GhcRn -> m (HsConDeclField GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclField GhcRn -> m (HsConDeclField GhcRn) Source #
Data (HsConDeclField GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsConDeclField GhcTc -> c (HsConDeclField GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HsConDeclField GhcTc) Source # toConstr :: HsConDeclField GhcTc -> Constr Source # dataTypeOf :: HsConDeclField GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HsConDeclField GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HsConDeclField GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> HsConDeclField GhcTc -> HsConDeclField GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclField GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsConDeclField GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsConDeclField GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsConDeclField GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsConDeclField GhcTc -> m (HsConDeclField GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclField GhcTc -> m (HsConDeclField GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsConDeclField GhcTc -> m (HsConDeclField GhcTc) Source #

data FieldOcc pass Source #

Field Occurrence

Represents an *occurrence* of a field. This may or may not be a binding occurrence (e.g. this type is used in `HsConDeclRecField` and `RecordPatSynField` which bind their fields, but also in `HsRecField` for record construction and patterns, which do not).

We store both the `RdrName` the user originally wrote, and after the renamer we use the extension field to store the selector function. See note [FieldOcc pass]

There is a wrinkle in that update field occurances are sometimes ambiguous during the rename stage. See note [Ambiguous FieldOcc in record updates] to see how we currently handle this.

Constructors

FieldOcc |
Fields foExt :: XCFieldOcc pass foLabel :: LIdP pass
XFieldOcc !(XXFieldOcc pass) |

#### Instances

Instances details

Outputable (XRecGhc (IdGhcP p)) => Outputable (FieldOcc (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type Methods ppr :: FieldOcc (GhcPass p) -> SDoc Source #
OutputableBndrId pass => OutputableBndr (FieldOcc (GhcPass pass)) Source # |
Instance details Defined in GHC.Hs.Type Methods pprBndr :: BindingSite -> FieldOcc (GhcPass pass) -> SDoc Source # pprPrefixOcc :: FieldOcc (GhcPass pass) -> SDoc Source # pprInfixOcc :: FieldOcc (GhcPass pass) -> SDoc Source # bndrIsJoin_maybe :: FieldOcc (GhcPass pass) -> JoinPointHood Source #
(Eq (LIdP pass), Eq (XCFieldOcc pass), Eq (XXFieldOcc pass)) => Eq (FieldOcc pass) Source # |
Instance details Defined in Language.Haskell.Syntax.Type Methods (==) :: FieldOcc pass -> FieldOcc pass -> Bool Source # (/=) :: FieldOcc pass -> FieldOcc pass -> Bool Source #
Data (FieldOcc GhcPs) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldOcc GhcPs -> c (FieldOcc GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FieldOcc GhcPs) Source # toConstr :: FieldOcc GhcPs -> Constr Source # dataTypeOf :: FieldOcc GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FieldOcc GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FieldOcc GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> FieldOcc GhcPs -> FieldOcc GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldOcc GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldOcc GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> FieldOcc GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldOcc GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldOcc GhcPs -> m (FieldOcc GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldOcc GhcPs -> m (FieldOcc GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldOcc GhcPs -> m (FieldOcc GhcPs) Source #
Data (FieldOcc GhcRn) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldOcc GhcRn -> c (FieldOcc GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FieldOcc GhcRn) Source # toConstr :: FieldOcc GhcRn -> Constr Source # dataTypeOf :: FieldOcc GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FieldOcc GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FieldOcc GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> FieldOcc GhcRn -> FieldOcc GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldOcc GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldOcc GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> FieldOcc GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldOcc GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldOcc GhcRn -> m (FieldOcc GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldOcc GhcRn -> m (FieldOcc GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldOcc GhcRn -> m (FieldOcc GhcRn) Source #
Data (FieldOcc GhcTc) Source # |
Instance details Defined in GHC.Hs.Instances Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldOcc GhcTc -> c (FieldOcc GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FieldOcc GhcTc) Source # toConstr :: FieldOcc GhcTc -> Constr Source # dataTypeOf :: FieldOcc GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FieldOcc GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FieldOcc GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> FieldOcc GhcTc -> FieldOcc GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldOcc GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldOcc GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> FieldOcc GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldOcc GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldOcc GhcTc -> m (FieldOcc GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldOcc GhcTc -> m (FieldOcc GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldOcc GhcTc -> m (FieldOcc GhcTc) Source #
OutputableBndrId pass => OutputableBndr (GenLocated SrcSpan (FieldOcc (GhcPass pass))) Source # |
Instance details Defined in GHC.Hs.Type Methods pprBndr :: BindingSite -> GenLocated SrcSpan (FieldOcc (GhcPass pass)) -> SDoc Source # pprPrefixOcc :: GenLocated SrcSpan (FieldOcc (GhcPass pass)) -> SDoc Source # pprInfixOcc :: GenLocated SrcSpan (FieldOcc (GhcPass pass)) -> SDoc Source # bndrIsJoin_maybe :: GenLocated SrcSpan (FieldOcc (GhcPass pass)) -> JoinPointHood Source #
type Anno (FieldOcc (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.Type type Anno (FieldOcc (GhcPass p)) = SrcSpanAnnA

type LFieldOcc pass = XRec pass (FieldOcc pass) Source #

Located Field Occurrence

mapHsOuterImplicit :: (XHsOuterImplicit pass -> XHsOuterImplicit pass) -> HsOuterTyVarBndrs flag pass -> HsOuterTyVarBndrs flag pass Source #

hsQTvExplicit :: LHsQTyVars pass -> [LHsTyVarBndr (HsBndrVis pass) pass] Source #

isHsKindedTyVar :: HsTyVarBndr flag pass -> Bool Source #

Does this `HsTyVarBndr` come with an explicit kind annotation?