module GHC.Util.RdrName (isSpecial', unqual', rdrNameStr',fromQual') where
import SrcLoc
import Name
import RdrName
rdrNameStr' :: Located RdrName -> String
rdrNameStr' :: Located RdrName -> String
rdrNameStr' = OccName -> String
occNameString (OccName -> String)
-> (Located RdrName -> OccName) -> Located RdrName -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. RdrName -> OccName
rdrNameOcc (RdrName -> OccName)
-> (Located RdrName -> RdrName) -> Located RdrName -> OccName
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Located RdrName -> RdrName
forall a. HasSrcSpan a => a -> SrcSpanLess a
unLoc
isSpecial' :: Located RdrName -> Bool
isSpecial' :: Located RdrName -> Bool
isSpecial' (L _ (Exact n :: Name
n)) = Name -> Bool
isDataConName Name
n Bool -> Bool -> Bool
|| Name -> Bool
isTyConName Name
n
isSpecial' _ = Bool
False
unqual' :: Located RdrName -> Located RdrName
unqual' :: Located RdrName -> Located RdrName
unqual' (L loc :: SrcSpan
loc (Qual _ n :: OccName
n)) = SrcSpan -> SrcSpanLess (Located RdrName) -> Located RdrName
forall a. HasSrcSpan a => SrcSpan -> SrcSpanLess a -> a
cL SrcSpan
loc (SrcSpanLess (Located RdrName) -> Located RdrName)
-> SrcSpanLess (Located RdrName) -> Located RdrName
forall a b. (a -> b) -> a -> b
$ OccName -> RdrName
mkRdrUnqual OccName
n
unqual' x :: Located RdrName
x = Located RdrName
x
fromQual' :: Located RdrName -> Maybe OccName
fromQual' :: Located RdrName -> Maybe OccName
fromQual' (L _ (Qual _ x :: OccName
x)) = OccName -> Maybe OccName
forall a. a -> Maybe a
Just OccName
x
fromQual' (L _ (Unqual x :: OccName
x)) = OccName -> Maybe OccName
forall a. a -> Maybe a
Just OccName
x
fromQual' _ = Maybe OccName
forall a. Maybe a
Nothing