Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Haskell.Tools.AST.FromGHC.GHCUtils
Description
Utility functions defined on the GHC AST representation.
- class OutputableBndr name => GHCName name where
- occName :: GHCName n => n -> OccName
- getFieldOccName :: GHCName n => Located (FieldOcc n) -> Located n
- getFieldOccName' :: GHCName n => FieldOcc n -> n
- getTopLevelId :: Name -> Ghc (Maybe Id)
- class HsHasName a where
- rdrNameStr :: RdrName -> String
- class FromGHCName n where
- cleanHsType :: forall n. OutputableBndr n => HsType n -> HsType n
- mergeFixityDefs :: [Located (FixitySig n)] -> [Located (FixitySig n)]
- getGroupRange :: HsGroup n -> SrcSpan
- getHsValRange :: HsValBinds n -> SrcSpan
Documentation
class OutputableBndr name => GHCName name where #
Minimal complete definition
rdrName, getFromNameUsing, getBindsAndSigs, nameFromId, unpackPostRn, gunpackPostRn
Methods
getFromNameUsing :: Applicative f => (Name -> Ghc (f Id)) -> Name -> Ghc (f name) #
getBindsAndSigs :: HsValBinds name -> ([LSig name], LHsBinds name) #
nameFromId :: Id -> name #
unpackPostRn :: RdrName -> PostRn name name -> name #
gunpackPostRn :: a -> (name -> a) -> PostRn name name -> a #
getFieldOccName' :: GHCName n => FieldOcc n -> n #
Get names from the GHC AST
Minimal complete definition
Methods
hsGetNames :: a -> [Name] #
Instances
rdrNameStr :: RdrName -> String #
Get the original form of a name
cleanHsType :: forall n. OutputableBndr 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 #