Language.Haskell.Syntax.ImpExp

ghc-9.14.0.20251028: The GHC API

Safe Haskell | None
Language | GHC2021

Language.Haskell.Syntax.ImpExp

Synopsis

- type ExportDoc pass = LHsDoc pass
- data IE pass
  - = IEVar (XIEVar pass) (LIEWrappedName pass) (Maybe (ExportDoc pass))
  - | IEThingAbs (XIEThingAbs pass) (LIEWrappedName pass) (Maybe (ExportDoc pass))
  - | IEThingAll (XIEThingAll pass) (LIEWrappedName pass) (Maybe (ExportDoc pass))
  - | IEThingWith (XIEThingWith pass) (LIEWrappedName pass) IEWildcard [LIEWrappedName pass] (Maybe (ExportDoc pass))
  - | IEModuleContents (XIEModuleContents pass) (XRec pass ModuleName)
  - | IEGroup (XIEGroup pass) Int (LHsDoc pass)
  - | IEDoc (XIEDoc pass) (LHsDoc pass)
  - | IEDocNamed (XIEDocNamed pass) String
  - | XIE !(XXIE pass)
- data IEWildcard
  - = NoIEWildcard
  - | IEWildcard Int
- data IEWrappedName p
  - = IEName (XIEName p) (LIdP p)
  - | IEDefault (XIEDefault p) (LIdP p)
  - | IEPattern (XIEPattern p) (LIdP p)
  - | IEType (XIEType p) (LIdP p)
  - | IEData (XIEData p) (LIdP p)
  - | XIEWrappedName !(XXIEWrappedName p)
- data ImportDecl pass
  - = ImportDecl {
    - ideclExt :: XCImportDecl pass
    - ideclName :: XRec pass ModuleName
    - ideclPkgQual :: ImportDeclPkgQual pass
    - ideclSource :: IsBootInterface
    - ideclLevelSpec :: ImportDeclLevelStyle
    - ideclSafe :: Bool
    - ideclQualified :: ImportDeclQualifiedStyle
    - ideclAs :: Maybe (XRec pass ModuleName)
    - ideclImportList :: Maybe (ImportListInterpretation, XRec pass [LIE pass])
    }
  - | XImportDecl !(XXImportDecl pass)
- data ImportDeclLevel
  - = ImportDeclQuote
  - | ImportDeclSplice
- data ImportDeclLevelStyle
  - = LevelStylePre ImportDeclLevel
  - | LevelStylePost ImportDeclLevel
  - | NotLevelled
- data ImportDeclQualifiedStyle
  - = QualifiedPre
  - | QualifiedPost
  - | NotQualified
- data ImportListInterpretation
  - = Exactly
  - | EverythingBut
- type LIE pass = XRec pass (IE pass)
- type LIEWrappedName p = XRec p (IEWrappedName p)
- type LImportDecl pass = XRec pass (ImportDecl pass)
- data IsBootInterface
  - = NotBoot
  - | IsBoot

# Documentation

type ExportDoc pass = LHsDoc pass Source #

A docstring attached to an export list item.

data IE pass Source #

Imported or exported entity.

Constructors

IEVar (XIEVar pass) (LIEWrappedName pass) (Maybe (ExportDoc pass)) | Imported or exported variable
    module Mod ( test )
    import Mod ( test )
IEThingAbs (XIEThingAbs pass) (LIEWrappedName pass) (Maybe (ExportDoc pass)) | Imported or exported Thing with absent subordinate list The thing is a Class/Type (can't tell)
    module Mod ( Test )
    import Mod ( Test )
IEThingAll (XIEThingAll pass) (LIEWrappedName pass) (Maybe (ExportDoc pass)) | Imported or exported thing with wildcard subordinate list (e.g. `(..)`) The thing is a Class/Type and the All refers to methods/constructors
    module Mod ( Test(..) )
    import Mod ( Test(..) )
IEThingWith (XIEThingWith pass) (LIEWrappedName pass) IEWildcard [LIEWrappedName pass] (Maybe (ExportDoc pass)) | Imported or exported thing with explicit subordinate list. The thing is a Class/Type (can't tell) and the imported or exported things are its children.
    module Mod ( Test(f, g) )
    import Mod ( Test(f, g) )
IEModuleContents (XIEModuleContents pass) (XRec pass ModuleName) | Export of entire module. Can only occur in export list.
    module Mod ( module Mod2 )
IEGroup (XIEGroup pass) Int (LHsDoc pass) | A Haddock section in an export list.
    module Mod
      ( -- * Section heading
        ...
      )
IEDoc (XIEDoc pass) (LHsDoc pass) | A bit of unnamed documentation.
    module Mod
      ( -- | Documentation
        ...
      )
IEDocNamed (XIEDocNamed pass) String | A reference to a named documentation chunk.
    module Mod
      ( -- $chunkName
        ...
      )
XIE !(XXIE pass) |

#### Instances

Instances details

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

data IEWildcard Source #

Wildcard in an import or export sublist, like the `..` in `import Mod ( T(Mk1, Mk2, ..) )`.

Constructors

NoIEWildcard | no wildcard in this list
IEWildcard Int | wildcard after the given # of items in this list The `Int` is in the range [0..n], where n is the length of the list.

#### Instances

Instances details

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

data IEWrappedName p Source #

A name in an import or export specification which may have adornments. Used primarily for accurate pretty printing of ParsedSource, and API Annotation placement.

Constructors

IEName (XIEName p) (LIdP p) | unadorned name, e.g `myFun`
IEDefault (XIEDefault p) (LIdP p) | `default X ()`, see Note [Named default declarations] in GHC.Tc.Gen.Default
IEPattern (XIEPattern p) (LIdP p) |
    pattern X
IEType (XIEType p) (LIdP p) |
    type (:+:)
IEData (XIEData p) (LIdP p) |
    data (:+:)
XIEWrappedName !(XXIEWrappedName p) |

#### Instances

Instances details

(HasOccName (IdP (GhcPass p)), OutputableBndrId p) => HasOccName (IEWrappedName (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.ImpExp Methods occName :: IEWrappedName (GhcPass p) -> OccName Source #
OutputableBndrId p => Outputable (IEWrappedName (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.ImpExp Methods ppr :: IEWrappedName (GhcPass p) -> SDoc Source #
OutputableBndrId p => OutputableBndr (IEWrappedName (GhcPass p)) Source # |
Instance details Defined in GHC.Hs.ImpExp Methods pprBndr :: BindingSite -> IEWrappedName (GhcPass p) -> SDoc Source # pprPrefixOcc :: IEWrappedName (GhcPass p) -> SDoc Source # pprInfixOcc :: IEWrappedName (GhcPass p) -> SDoc Source # bndrIsJoin_maybe :: IEWrappedName (GhcPass p) -> JoinPointHood Source #
Eq (IEWrappedName GhcPs) Source # |
Instance details Defined in GHC.Hs.ImpExp Methods (==) :: IEWrappedName GhcPs -> IEWrappedName GhcPs -> Bool Source # (/=) :: IEWrappedName GhcPs -> IEWrappedName GhcPs -> Bool Source #
Eq (IEWrappedName GhcRn) Source # |
Instance details Defined in GHC.Hs.ImpExp Methods (==) :: IEWrappedName GhcRn -> IEWrappedName GhcRn -> Bool Source # (/=) :: IEWrappedName GhcRn -> IEWrappedName GhcRn -> Bool Source #
Eq (IEWrappedName GhcTc) Source # |
Instance details Defined in GHC.Hs.ImpExp Methods (==) :: IEWrappedName GhcTc -> IEWrappedName GhcTc -> Bool Source # (/=) :: IEWrappedName GhcTc -> IEWrappedName GhcTc -> Bool Source #
Data (IEWrappedName GhcPs) Source # |
Instance details Defined in GHC.Hs.ImpExp Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IEWrappedName GhcPs -> c (IEWrappedName GhcPs) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IEWrappedName GhcPs) Source # toConstr :: IEWrappedName GhcPs -> Constr Source # dataTypeOf :: IEWrappedName GhcPs -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IEWrappedName GhcPs)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IEWrappedName GhcPs)) Source # gmapT :: (forall b. Data b => b -> b) -> IEWrappedName GhcPs -> IEWrappedName GhcPs Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IEWrappedName GhcPs -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IEWrappedName GhcPs -> r Source # gmapQ :: (forall d. Data d => d -> u) -> IEWrappedName GhcPs -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> IEWrappedName GhcPs -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IEWrappedName GhcPs -> m (IEWrappedName GhcPs) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWrappedName GhcPs -> m (IEWrappedName GhcPs) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWrappedName GhcPs -> m (IEWrappedName GhcPs) Source #
Data (IEWrappedName GhcRn) Source # |
Instance details Defined in GHC.Hs.ImpExp Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IEWrappedName GhcRn -> c (IEWrappedName GhcRn) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IEWrappedName GhcRn) Source # toConstr :: IEWrappedName GhcRn -> Constr Source # dataTypeOf :: IEWrappedName GhcRn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IEWrappedName GhcRn)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IEWrappedName GhcRn)) Source # gmapT :: (forall b. Data b => b -> b) -> IEWrappedName GhcRn -> IEWrappedName GhcRn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IEWrappedName GhcRn -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IEWrappedName GhcRn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> IEWrappedName GhcRn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> IEWrappedName GhcRn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IEWrappedName GhcRn -> m (IEWrappedName GhcRn) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWrappedName GhcRn -> m (IEWrappedName GhcRn) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWrappedName GhcRn -> m (IEWrappedName GhcRn) Source #
Data (IEWrappedName GhcTc) Source # |
Instance details Defined in GHC.Hs.ImpExp Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IEWrappedName GhcTc -> c (IEWrappedName GhcTc) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IEWrappedName GhcTc) Source # toConstr :: IEWrappedName GhcTc -> Constr Source # dataTypeOf :: IEWrappedName GhcTc -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IEWrappedName GhcTc)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IEWrappedName GhcTc)) Source # gmapT :: (forall b. Data b => b -> b) -> IEWrappedName GhcTc -> IEWrappedName GhcTc Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IEWrappedName GhcTc -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IEWrappedName GhcTc -> r Source # gmapQ :: (forall d. Data d => d -> u) -> IEWrappedName GhcTc -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> IEWrappedName GhcTc -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IEWrappedName GhcTc -> m (IEWrappedName GhcTc) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWrappedName GhcTc -> m (IEWrappedName GhcTc) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWrappedName GhcTc -> m (IEWrappedName GhcTc) Source #
type Anno (IEWrappedName (GhcPass _1)) Source # |
Instance details Defined in GHC.Hs.ImpExp type Anno (IEWrappedName (GhcPass _1)) = SrcSpanAnnA

data ImportDecl pass Source #

Import Declaration

A single Haskell `import` declaration.

Constructors

ImportDecl |
Fields ideclExt :: XCImportDecl pass Locations of keywords like `import`, `qualified`, etc. are captured here. ideclName :: XRec pass ModuleName Module name. ideclPkgQual :: ImportDeclPkgQual pass Package qualifier. ideclSource :: IsBootInterface IsBoot <=> {-# SOURCE #-} import ideclLevelSpec :: ImportDeclLevelStyle ideclSafe :: Bool True => safe import ideclQualified :: ImportDeclQualifiedStyle If/how the import is qualified. ideclAs :: Maybe (XRec pass ModuleName) as Module ideclImportList :: Maybe (ImportListInterpretation, XRec pass [LIE pass]) Explicit import list (EverythingBut => hiding, names)
XImportDecl !(XXImportDecl pass) |

#### Instances

Instances details

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

data ImportDeclLevel Source #

Constructors

ImportDeclQuote |
ImportDeclSplice |

#### Instances

Instances details

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

data ImportDeclLevelStyle Source #

Constructors

LevelStylePre ImportDeclLevel | `splice` or `quote` appears in prepositive position.
LevelStylePost ImportDeclLevel | `splice` or `quote` appears in postpositive position.
NotLevelled | Not levelled.

#### Instances

Instances details

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

data ImportDeclQualifiedStyle Source #

If/how an import is `qualified`.

Constructors

QualifiedPre | `qualified` appears in prepositive position.
QualifiedPost | `qualified` appears in postpositive position.
NotQualified | Not qualified.

#### Instances

Instances details

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

data ImportListInterpretation Source #

Whether the import list is exactly what to import, or whether `hiding` was used, and therefore everything but what was listed should be imported

Constructors

Exactly |
EverythingBut |

#### Instances

Instances details

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

type LIE pass Source #

Arguments

= XRec pass (IE pass) | When in a list this may have

Located Import or Export

type LIEWrappedName p = XRec p (IEWrappedName p) Source #

Located name with possible adornment

type LImportDecl pass = XRec pass (ImportDecl pass) Source #

Located Import Declaration

data IsBootInterface Source #

Indicates whether a module name is referring to a boot interface (hs-boot file) or regular module (hs file). We need to treat boot modules specially when building compilation graphs, since they break cycles. Regular source files and signature files are treated equivalently.

Constructors

NotBoot |
IsBoot |

#### Instances

Instances details

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