haskell-tools-rewrite-0.6.0.0: Facilities for generating new parts of the Haskell-Tools AST

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Tools.AST.Match.Modules

Contents

Description

UPattern matching on UModule-level AST fragments for refactorings.

Synopsis

Documentation

pattern Module :: forall dom. FilePragmaList dom -> MaybeModuleHead dom -> ImportDeclList dom -> DeclList dom -> Module dom Source #

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 Source #

Module declaration with name and (optional) exports

pattern ExportSpecs :: forall dom. ExportSpecList dom -> ExportSpecs dom Source #

A list of export specifications surrounded by parentheses

pattern ExportSpec :: forall dom. IESpec dom -> ExportSpec dom Source #

Export a name and related names

pattern ModuleExport :: forall dom. ModuleName dom -> ExportSpec dom Source #

The export of an imported module ( module A )

pattern IESpec :: forall dom. Name dom -> MaybeSubSpec dom -> IESpec dom Source #

Marks a name to be imported or exported with related names (subspecifier)

pattern SubAll :: forall dom. SubSpec dom Source #

(..): 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 Source #

(a,b,c): a class exported with some of its methods, or a datatype exported with some of its constructors.

pattern ImportRenaming :: forall dom. ModuleName dom -> ImportRenaming dom Source #

pattern ImportSpecList :: forall dom. IESpecList dom -> ImportSpec dom Source #

pattern ImportHidingList :: forall dom. IESpecList dom -> ImportSpec dom Source #

pattern ModuleName :: forall dom. String -> ModuleName dom Source #

Pragmas

pattern LanguagePragma :: forall dom. LanguageExtensionList dom -> FilePragma dom Source #

LANGUAGE pragma, listing the enabled language extensions in that file

pattern OptionsPragma :: forall dom. String -> FilePragma dom Source #

OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC

pattern LanguageExtension :: forall dom. String -> LanguageExtension dom Source #

The name of the enabled language extension, for example ( LambdaCase )

pattern ModuleWarningPragma :: forall dom. StringNodeList dom -> ModulePragma dom Source #

A warning pragma attached to the module

pattern ModuleDeprecatedPragma :: forall dom. StringNodeList dom -> ModulePragma dom Source #

A deprecated pragma attached to the module