ghc-7.6.3: The GHC API

Safe Haskell | None

HsImpExp

Synopsis

- type LImportDecl name = Located (ImportDecl name)
- data ImportDecl name = ImportDecl {
  - ideclName :: Located ModuleName
  - ideclPkgQual :: Maybe FastString
  - ideclSource :: Bool
  - ideclSafe :: Bool
  - ideclQualified :: Bool
  - ideclImplicit :: Bool
  - ideclAs :: Maybe ModuleName
  - ideclHiding :: Maybe (Bool, [LIE name])
  }
- simpleImportDecl :: ModuleName -> ImportDecl name
- type LIE name = Located (IE name)
- data IE name
  - = IEVar name
  - | IEThingAbs name
  - | IEThingAll name
  - | IEThingWith name [name]
  - | IEModuleContents ModuleName
  - | IEGroup Int HsDocString
  - | IEDoc HsDocString
  - | IEDocNamed String
- ieName :: IE name -> name
- ieNames :: IE a -> [a]
- pprImpExp :: (HasOccName name, OutputableBndr name) => name -> SDoc

# Documentation

type LImportDecl name = Located (ImportDecl name)

data ImportDecl name

A single Haskell `import` declaration.

Constructors

ImportDecl |
Fields ideclName :: Located ModuleName Module name. ideclPkgQual :: Maybe FastString Package qualifier. ideclSource :: Bool True = {--} import ideclSafe :: Bool True => safe import ideclQualified :: Bool True => qualified ideclImplicit :: Bool True => implicit import (of Prelude) ideclAs :: Maybe ModuleName as Module ideclHiding :: Maybe (Bool, [LIE name]) (True => hiding, names)

Instances

Typeable1 ImportDecl |
Data name => Data (ImportDecl name) |
(OutputableBndr name, HasOccName name) => Outputable (ImportDecl name) |

simpleImportDecl :: ModuleName -> ImportDecl name

type LIE name = Located (IE name)

data IE name

Imported or exported entity.

Constructors

IEVar name |
IEThingAbs name | Class/Type (can't tell)
IEThingAll name | ClassType plus all methodsconstructors
IEThingWith name [name] | ClassType plus some methodsconstructors
IEModuleContents ModuleName | (Export Only)
IEGroup Int HsDocString | Doc section heading
IEDoc HsDocString | Some documentation
IEDocNamed String | Reference to named doc

Instances

Typeable1 IE |
Eq name => Eq (IE name) |
Data name => Data (IE name) |
(HasOccName name, OutputableBndr name) => Outputable (IE name) |

ieName :: IE name -> name

ieNames :: IE a -> [a]

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