Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Haskell.Tools.AST.Match.Modules
Contents
Description
UPattern matching on UModule-level AST fragments for refactorings.
- pattern Module :: forall dom. FilePragmaList dom -> MaybeModuleHead dom -> ImportDeclList dom -> DeclList dom -> Module dom
- pattern ModuleHead :: forall dom. ModuleName dom -> MaybeModulePragma dom -> MaybeExportSpecs dom -> ModuleHead dom
- pattern ExportSpecs :: forall dom. ExportSpecList dom -> ExportSpecs dom
- pattern ExportSpec :: forall dom. IESpec dom -> ExportSpec dom
- pattern ModuleExport :: forall dom. ModuleName dom -> ExportSpec dom
- pattern IESpec :: forall dom. Name dom -> MaybeSubSpec dom -> IESpec dom
- pattern SubAll :: forall dom. SubSpec dom
- pattern SubList :: forall dom. NameList dom -> SubSpec dom
- pattern ImportDecl :: forall dom. MaybeImportSource dom -> MaybeImportQualified dom -> MaybeImportSafe dom -> MaybeStringNode dom -> ModuleName dom -> MaybeImportRenaming dom -> MaybeImportSpec dom -> ImportDecl dom
- pattern ImportRenaming :: forall dom. ModuleName dom -> ImportRenaming dom
- pattern ImportSpecList :: forall dom. IESpecList dom -> ImportSpec dom
- pattern ImportHidingList :: forall dom. IESpecList dom -> ImportSpec dom
- pattern ModuleName :: forall dom. String -> ModuleName dom
- pattern LanguagePragma :: forall dom. LanguageExtensionList dom -> FilePragma dom
- pattern OptionsPragma :: forall dom. String -> FilePragma dom
- pattern LanguageExtension :: forall dom. String -> LanguageExtension dom
- pattern ModuleWarningPragma :: forall dom. StringNodeList dom -> ModulePragma dom
- pattern ModuleDeprecatedPragma :: forall dom. StringNodeList dom -> ModulePragma dom
Documentation
pattern Module :: forall dom. FilePragmaList dom -> MaybeModuleHead dom -> ImportDeclList dom -> DeclList dom -> Module dom #
The representation of a haskell module, that is a separate compilation unit. It may or may not have a header.
pattern ModuleHead :: forall dom. ModuleName dom -> MaybeModulePragma dom -> MaybeExportSpecs dom -> ModuleHead dom #
Module declaration with name and (optional) exports
pattern ExportSpecs :: forall dom. ExportSpecList dom -> ExportSpecs dom #
A list of export specifications surrounded by parentheses
pattern ExportSpec :: forall dom. IESpec dom -> ExportSpec dom #
Export a name and related names
pattern ModuleExport :: forall dom. ModuleName dom -> ExportSpec dom #
The export of an imported module ( module A
)
pattern IESpec :: forall dom. Name dom -> MaybeSubSpec dom -> IESpec dom #
Marks a name to be imported or exported with related names (subspecifier)
pattern SubAll :: forall dom. SubSpec dom #
(..)
: a class exported with all of its methods, or a datatype exported with all of its constructors.
pattern SubList :: forall dom. NameList dom -> SubSpec dom #
(a,b,c)
: a class exported with some of its methods, or a datatype exported with some of its constructors.
pattern ImportDecl :: forall dom. MaybeImportSource dom -> MaybeImportQualified dom -> MaybeImportSafe dom -> MaybeStringNode dom -> ModuleName dom -> MaybeImportRenaming dom -> MaybeImportSpec dom -> ImportDecl dom #
pattern ImportRenaming :: forall dom. ModuleName dom -> ImportRenaming dom #
pattern ImportSpecList :: forall dom. IESpecList dom -> ImportSpec dom #
pattern ImportHidingList :: forall dom. IESpecList dom -> ImportSpec dom #
pattern ModuleName :: forall dom. String -> ModuleName dom #
Pragmas
pattern LanguagePragma :: forall dom. LanguageExtensionList dom -> FilePragma dom #
LANGUAGE
pragma, listing the enabled language extensions in that file
pattern OptionsPragma :: forall dom. String -> FilePragma dom #
OPTIONS
pragma, possibly qualified with a tool, e.g. OPTIONS_GHC
pattern LanguageExtension :: forall dom. String -> LanguageExtension dom #
The name of the enabled language extension, for example ( LambdaCase
)
pattern ModuleWarningPragma :: forall dom. StringNodeList dom -> ModulePragma dom #
A warning pragma attached to the module
pattern ModuleDeprecatedPragma :: forall dom. StringNodeList dom -> ModulePragma dom #
A deprecated pragma attached to the module