| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.Tools.BackendGHC.GHCUtils
Description
Utility functions defined on the GHC AST representation.
Synopsis
- class OutputableBndrId name => GHCName name where
- occName :: forall n. GHCName n => IdP n -> OccName
- getFieldOccName :: forall n. GHCName n => Located (FieldOcc n) -> Located (IdP n)
- getFieldOccName' :: forall n. GHCName n => FieldOcc n -> IdP n
- getTopLevelId :: Name -> Ghc (Maybe Id)
- hsGetNames' :: HsHasName a => a -> [Name]
- class HsHasName a where
- rdrNameStr :: RdrName -> String
- class FromGHCName n where
- cleanHsType :: forall n. (OutputableBndrId n, SourceTextX n) => HsType n -> HsType n
- mergeFixityDefs :: [Located (FixitySig n)] -> [Located (FixitySig n)]
- getGroupRange :: HsGroup n -> SrcSpan
- getHsValRange :: HsValBinds n -> SrcSpan
- fromSrcText :: SourceText -> String
Documentation
class OutputableBndrId name => GHCName name where #
Minimal complete definition
rdrName, getFromNameUsing, getBindsAndSigs, nameFromId, unpackPostRn, gunpackPostRn
Methods
rdrName :: IdP name -> RdrName #
getFromNameUsing :: Applicative f => (Name -> Ghc (f Id)) -> Name -> Ghc (f (IdP name)) #
getBindsAndSigs :: HsValBinds name -> ([LSig name], LHsBinds name) #
nameFromId :: Id -> IdP name #
unpackPostRn :: RdrName -> PostRn name (IdP name) -> IdP name #
gunpackPostRn :: a -> (IdP name -> a) -> PostRn name (IdP name) -> a #
Instances
| GHCName GhcPs # | |
Defined in Language.Haskell.Tools.BackendGHC.GHCUtils Methods rdrName :: IdP GhcPs -> RdrName # getFromNameUsing :: Applicative f => (Name -> Ghc (f Id)) -> Name -> Ghc (f (IdP GhcPs)) # getBindsAndSigs :: HsValBinds GhcPs -> ([LSig GhcPs], LHsBinds GhcPs) # nameFromId :: Id -> IdP GhcPs # unpackPostRn :: RdrName -> PostRn GhcPs (IdP GhcPs) -> IdP GhcPs # gunpackPostRn :: a -> (IdP GhcPs -> a) -> PostRn GhcPs (IdP GhcPs) -> a # | |
| GHCName GhcRn # | |
Defined in Language.Haskell.Tools.BackendGHC.GHCUtils Methods rdrName :: IdP GhcRn -> RdrName # getFromNameUsing :: Applicative f => (Name -> Ghc (f Id)) -> Name -> Ghc (f (IdP GhcRn)) # getBindsAndSigs :: HsValBinds GhcRn -> ([LSig GhcRn], LHsBinds GhcRn) # nameFromId :: Id -> IdP GhcRn # unpackPostRn :: RdrName -> PostRn GhcRn (IdP GhcRn) -> IdP GhcRn # gunpackPostRn :: a -> (IdP GhcRn -> a) -> PostRn GhcRn (IdP GhcRn) -> a # | |
getFieldOccName' :: forall n. GHCName n => FieldOcc n -> IdP n #
hsGetNames' :: HsHasName a => a -> [Name] #
Get names from the GHC AST
Minimal complete definition
Instances
rdrNameStr :: RdrName -> String #
Get the original form of a name
class FromGHCName n where #
Minimal complete definition
Methods
fromGHCName :: Name -> n #
Instances
| FromGHCName RdrName # | |
Defined in Language.Haskell.Tools.BackendGHC.GHCUtils Methods fromGHCName :: Name -> RdrName # | |
| FromGHCName Name # | |
Defined in Language.Haskell.Tools.BackendGHC.GHCUtils Methods fromGHCName :: Name -> Name # | |
cleanHsType :: forall n. (OutputableBndrId n, SourceTextX n) => HsType n -> HsType n #
Tries to simplify the type that has HsAppsTy before renaming. Does not always provide the correct form. Treats each operator as if they are of equivalent precedence and always left-associative.
getGroupRange :: HsGroup n -> SrcSpan #
getHsValRange :: HsValBinds n -> SrcSpan #
fromSrcText :: SourceText -> String #