ghc-8.4.1: The GHC API

Safe HaskellNone
LanguageHaskell2010

HsImpExp

Synopsis

Documentation

type LImportDecl name Source #

Arguments

 = Located (ImportDecl name)

When in a list this may have

Located Import Declaration

data ImportDecl name Source #

Import Declaration

A single Haskell import declaration.

Constructors

ImportDecl

AnnKeywordIds

Fields

Instances
DataId name => Data (ImportDecl name) Source # 
Instance details

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ImportDecl name -> c (ImportDecl name) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ImportDecl name) #

toConstr :: ImportDecl name -> Constr #

dataTypeOf :: ImportDecl name -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ImportDecl name)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ImportDecl name)) #

gmapT :: (forall b. Data b => b -> b) -> ImportDecl name -> ImportDecl name #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ImportDecl name -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ImportDecl name -> r #

gmapQ :: (forall d. Data d => d -> u) -> ImportDecl name -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ImportDecl name -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ImportDecl name -> m (ImportDecl name) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ImportDecl name -> m (ImportDecl name) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ImportDecl name -> m (ImportDecl name) #

OutputableBndrId pass => Outputable (ImportDecl pass) Source # 
Instance details

Methods

ppr :: ImportDecl pass -> SDoc Source #

pprPrec :: Rational -> ImportDecl pass -> SDoc Source #

data IEWrappedName name 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 (Located name)

no extra

IEPattern (Located name)

pattern X

IEType (Located name)

type (:+:)

Instances
Eq name => Eq (IEWrappedName name) Source # 
Instance details

Methods

(==) :: IEWrappedName name -> IEWrappedName name -> Bool #

(/=) :: IEWrappedName name -> IEWrappedName name -> Bool #

Data name => Data (IEWrappedName name) Source # 
Instance details

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IEWrappedName name -> c (IEWrappedName name) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IEWrappedName name) #

toConstr :: IEWrappedName name -> Constr #

dataTypeOf :: IEWrappedName name -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IEWrappedName name)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IEWrappedName name)) #

gmapT :: (forall b. Data b => b -> b) -> IEWrappedName name -> IEWrappedName name #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IEWrappedName name -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IEWrappedName name -> r #

gmapQ :: (forall d. Data d => d -> u) -> IEWrappedName name -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IEWrappedName name -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IEWrappedName name -> m (IEWrappedName name) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWrappedName name -> m (IEWrappedName name) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWrappedName name -> m (IEWrappedName name) #

OutputableBndr name => OutputableBndr (IEWrappedName name) Source # 
Instance details
OutputableBndr name => Outputable (IEWrappedName name) Source # 
Instance details
HasOccName name => HasOccName (IEWrappedName name) Source # 
Instance details

type LIEWrappedName name = Located (IEWrappedName name) Source #

Located name with possible adornment - AnnKeywordIds : AnnType, AnnPattern

type LIE name Source #

Arguments

 = Located (IE name)

When in a list this may have

Located Import or Export

data IE name Source #

Imported or exported entity.

Constructors

IEVar (LIEWrappedName (IdP name))

Imported or Exported Variable

IEThingAbs (LIEWrappedName (IdP name))

Imported or exported Thing with Absent list

The thing is a Class/Type (can't tell) - AnnKeywordIds : AnnPattern, AnnType,AnnVal

IEThingAll (LIEWrappedName (IdP name))

Imported or exported Thing with All imported or exported

The thing is a ClassType and the All refers to methodsconstructors

IEThingWith (LIEWrappedName (IdP name)) IEWildcard [LIEWrappedName (IdP name)] [Located (FieldLbl (IdP name))]

Imported or exported Thing With given imported or exported

The thing is a Class/Type and the imported or exported things are methods/constructors and record fields; see Note [IEThingWith] - AnnKeywordIds : AnnOpen, AnnClose, AnnComma, AnnType

IEModuleContents (Located ModuleName)

Imported or exported module contents

(Export Only)

IEGroup Int HsDocString

Doc section heading

IEDoc HsDocString

Some documentation

IEDocNamed String

Reference to named doc deriving (Eq, Data)

Instances
(Eq name, Eq (IdP name)) => Eq (IE name) Source # 
Instance details

Methods

(==) :: IE name -> IE name -> Bool #

(/=) :: IE name -> IE name -> Bool #

DataId name => Data (IE name) Source # 
Instance details

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IE name -> c (IE name) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IE name) #

toConstr :: IE name -> Constr #

dataTypeOf :: IE name -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IE name)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IE name)) #

gmapT :: (forall b. Data b => b -> b) -> IE name -> IE name #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IE name -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IE name -> r #

gmapQ :: (forall d. Data d => d -> u) -> IE name -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IE name -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IE name -> m (IE name) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IE name -> m (IE name) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IE name -> m (IE name) #

OutputableBndrId pass => Outputable (IE pass) Source # 
Instance details

Methods

ppr :: IE pass -> SDoc Source #

pprPrec :: Rational -> IE pass -> SDoc Source #

data IEWildcard Source #

Imported or Exported Wildcard

Constructors

NoIEWildcard 
IEWildcard Int 
Instances
Eq IEWildcard Source # 
Instance details
Data IEWildcard Source # 
Instance details

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IEWildcard -> c IEWildcard #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IEWildcard #

toConstr :: IEWildcard -> Constr #

dataTypeOf :: IEWildcard -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IEWildcard) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IEWildcard) #

gmapT :: (forall b. Data b => b -> b) -> IEWildcard -> IEWildcard #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IEWildcard -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IEWildcard -> r #

gmapQ :: (forall d. Data d => d -> u) -> IEWildcard -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IEWildcard -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IEWildcard -> m IEWildcard #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWildcard -> m IEWildcard #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IEWildcard -> m IEWildcard #

ieName :: IE pass -> IdP pass Source #

ieNames :: IE pass -> [IdP pass] Source #

pprImpExp :: (HasOccName name, OutputableBndr name) => name -> SDoc Source #