ghc-8.2.2: The GHC API

Safe HaskellNone
LanguageHaskell2010

HsImpExp

Synopsis

Documentation

type LImportDecl name #

Arguments

 = Located (ImportDecl name)

When in a list this may have

Located Import Declaration

data ImportDecl name #

Import Declaration

A single Haskell import declaration.

Constructors

ImportDecl

AnnKeywordIds

Fields

Instances

Data name => Data (ImportDecl name) # 

Methods

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

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

toConstr :: ImportDecl name -> Constr Source #

dataTypeOf :: ImportDecl name -> DataType Source #

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

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

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

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

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

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

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

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

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

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

(OutputableBndr name, HasOccName name) => Outputable (ImportDecl name) # 

Methods

ppr :: ImportDecl name -> SDoc #

pprPrec :: Rational -> ImportDecl name -> SDoc #

data IEWrappedName name #

A name in an import or export specfication 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) # 

Methods

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

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

Data name => Data (IEWrappedName name) # 

Methods

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

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

toConstr :: IEWrappedName name -> Constr Source #

dataTypeOf :: IEWrappedName name -> DataType Source #

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

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

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

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

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

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

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

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

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

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

(OutputableBndr name, HasOccName name) => OutputableBndr (IEWrappedName name) # 
(HasOccName name, OutputableBndr name) => Outputable (IEWrappedName name) # 

Methods

ppr :: IEWrappedName name -> SDoc #

pprPrec :: Rational -> IEWrappedName name -> SDoc #

HasOccName name => HasOccName (IEWrappedName name) # 

Methods

occName :: IEWrappedName name -> OccName #

type LIEWrappedName name = Located (IEWrappedName name) #

Located name with possible adornment - AnnKeywordIds : AnnType, AnnPattern

type LIE name #

Arguments

 = Located (IE name)

When in a list this may have

Located Import or Export

data IE name #

Imported or exported entity.

Constructors

IEVar (LIEWrappedName name)

Imported or Exported Variable

IEThingAbs (LIEWrappedName name)

Imported or exported Thing with Absent list

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

IEThingAll (LIEWrappedName name)

Imported or exported Thing with All imported or exported

The thing is a ClassType and the All refers to methodsconstructors

IEThingWith (LIEWrappedName name) IEWildcard [LIEWrappedName name] [Located (FieldLbl 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

Instances

Eq name => Eq (IE name) # 

Methods

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

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

Data name => Data (IE name) # 

Methods

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

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

toConstr :: IE name -> Constr Source #

dataTypeOf :: IE name -> DataType Source #

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

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

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

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

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

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

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

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

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

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

(HasOccName name, OutputableBndr name) => Outputable (IE name) # 

Methods

ppr :: IE name -> SDoc #

pprPrec :: Rational -> IE name -> SDoc #

data IEWildcard #

Imported or Exported Wildcard

Constructors

NoIEWildcard 
IEWildcard Int 

Instances

Eq IEWildcard # 
Data IEWildcard # 

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 :: (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 #

ieName :: IE name -> name #

ieNames :: IE a -> [a] #

ieWrappedName :: IEWrappedName name -> name #

replaceWrappedName :: IEWrappedName name1 -> name2 -> IEWrappedName name2 #

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