Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Haskell.Tools.BackendGHC.Modules
Description
Functions that convert the module-related elements (modules, imports, exports) of the GHC AST to corresponding elements in the Haskell-tools AST representation Also contains the entry point of the transformation that collects the information from different GHC AST representations.
Synopsis
- trfModule :: ModSummary -> Located (HsModule GhcPs) -> Trf (Ann UModule (Dom GhcPs) RangeStage)
- trfModuleRename :: ModSummary -> Ann UModule (Dom GhcPs) RangeStage -> RenamedSource -> Located (HsModule GhcPs) -> Trf (Ann UModule (Dom GhcRn) RangeStage)
- loadSplices :: HsModule GhcPs -> Trf a -> Trf a
- trfModuleHead :: TransformName n r => Maybe (Located ModuleName) -> SrcLoc -> Maybe (Located [LIE n]) -> Maybe (Located WarningTxt) -> Trf (AnnMaybeG UModuleHead (Dom r) RangeStage)
- trfFilePragmas :: Trf (AnnListG UFilePragma (Dom r) RangeStage)
- trfLanguagePragma :: Located String -> Trf (Ann UFilePragma (Dom r) RangeStage)
- trfOptionsPragma :: Located String -> Trf (Ann UFilePragma (Dom r) RangeStage)
- trfModulePragma :: SrcLoc -> Maybe (Located WarningTxt) -> Trf (AnnMaybeG UModulePragma (Dom r) RangeStage)
- trfExportList :: TransformName n r => Trf SrcLoc -> Maybe (Located [LIE n]) -> Trf (AnnMaybeG UExportSpecs (Dom r) RangeStage)
- trfExportList' :: TransformName n r => [LIE n] -> Trf (UExportSpecs (Dom r) RangeStage)
- trfExport :: TransformName n r => LIE n -> Trf (Maybe (Ann UExportSpec (Dom r) RangeStage))
- trfImports :: forall n r. TransformName n r => [LImportDecl n] -> Trf (AnnListG UImportDecl (Dom r) RangeStage)
- trfImport :: TransformName n r => LImportDecl n -> Trf (Ann UImportDecl (Dom r) RangeStage)
- trfImportSpecs :: TransformName n r => Maybe (Bool, Located [LIE n]) -> Trf (AnnMaybeG UImportSpec (Dom r) RangeStage)
- trfIESpec :: TransformName n r => LIE n -> Trf (Maybe (Ann UIESpec (Dom r) RangeStage))
- trfIESpec' :: forall n r. TransformName n r => IE n -> Trf (Maybe (UIESpec (Dom r) RangeStage))
- getWrappedName :: Located (IEWrappedName n) -> Located n
- trfImportModifier :: Trf (AnnMaybeG UImportModifier (Dom r) RangeStage)
- trfModuleName :: Located ModuleName -> Trf (Ann UModuleName (Dom r) RangeStage)
- trfModuleName' :: ModuleName -> Trf (UModuleName (Dom r) RangeStage)
Documentation
trfModule :: ModSummary -> Located (HsModule GhcPs) -> Trf (Ann UModule (Dom GhcPs) RangeStage) Source #
trfModuleRename :: ModSummary -> Ann UModule (Dom GhcPs) RangeStage -> RenamedSource -> Located (HsModule GhcPs) -> Trf (Ann UModule (Dom GhcRn) RangeStage) Source #
Transformes the module in its typed state. Uses the results of trfModule
to extract program
elements (splices for example) that are not kept in the typed representation.
loadSplices :: HsModule GhcPs -> Trf a -> Trf a Source #
Extract the template haskell splices from the representation and adds them to the transformation state.
trfModuleHead :: TransformName n r => Maybe (Located ModuleName) -> SrcLoc -> Maybe (Located [LIE n]) -> Maybe (Located WarningTxt) -> Trf (AnnMaybeG UModuleHead (Dom r) RangeStage) Source #
trfFilePragmas :: Trf (AnnListG UFilePragma (Dom r) RangeStage) Source #
trfLanguagePragma :: Located String -> Trf (Ann UFilePragma (Dom r) RangeStage) Source #
trfOptionsPragma :: Located String -> Trf (Ann UFilePragma (Dom r) RangeStage) Source #
trfModulePragma :: SrcLoc -> Maybe (Located WarningTxt) -> Trf (AnnMaybeG UModulePragma (Dom r) RangeStage) Source #
trfExportList :: TransformName n r => Trf SrcLoc -> Maybe (Located [LIE n]) -> Trf (AnnMaybeG UExportSpecs (Dom r) RangeStage) Source #
trfExportList' :: TransformName n r => [LIE n] -> Trf (UExportSpecs (Dom r) RangeStage) Source #
trfExport :: TransformName n r => LIE n -> Trf (Maybe (Ann UExportSpec (Dom r) RangeStage)) Source #
trfImports :: forall n r. TransformName n r => [LImportDecl n] -> Trf (AnnListG UImportDecl (Dom r) RangeStage) Source #
trfImport :: TransformName n r => LImportDecl n -> Trf (Ann UImportDecl (Dom r) RangeStage) Source #
trfImportSpecs :: TransformName n r => Maybe (Bool, Located [LIE n]) -> Trf (AnnMaybeG UImportSpec (Dom r) RangeStage) Source #
trfIESpec :: TransformName n r => LIE n -> Trf (Maybe (Ann UIESpec (Dom r) RangeStage)) Source #
trfIESpec' :: forall n r. TransformName n r => IE n -> Trf (Maybe (UIESpec (Dom r) RangeStage)) Source #
getWrappedName :: Located (IEWrappedName n) -> Located n Source #
trfImportModifier :: Trf (AnnMaybeG UImportModifier (Dom r) RangeStage) Source #
trfModuleName :: Located ModuleName -> Trf (Ann UModuleName (Dom r) RangeStage) Source #
trfModuleName' :: ModuleName -> Trf (UModuleName (Dom r) RangeStage) Source #