ghc-lib-parser-ex 8.10.0.7 → 8.10.0.8
raw patch · 3 files changed
+48/−1 lines, 3 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader: fromQual :: Located RdrName -> Maybe OccName
+ Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader: isSpecial :: Located RdrName -> Bool
+ Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader: occNameStr :: RdrName -> String
+ Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader: rdrNameStr :: Located RdrName -> String
+ Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader: unqual :: Located RdrName -> Located RdrName
Files
- ChangeLog.md +3/−0
- ghc-lib-parser-ex.cabal +2/−1
- src/Language/Haskell/GhclibParserEx/GHC/Types/Name/Reader.hs +43/−0
ChangeLog.md view
@@ -1,5 +1,8 @@ # Changelog for ghc-lib-parser-ex +## 8.10.0.8 released 2020-05-14+- New module `Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader`+ ## 8.10.0.7 released 2020-05-13 - New function `fixitiesFromModule`
ghc-lib-parser-ex.cabal view
@@ -1,6 +1,6 @@ cabal-version: >= 1.18 name: ghc-lib-parser-ex-version: 8.10.0.7+version: 8.10.0.8 description: Please see the README on GitHub at <https://github.com/shayne-fletcher/ghc-lib-parser-ex#readme> homepage: https://github.com/shayne-fletcher/ghc-lib-parser-ex#readme bug-reports: https://github.com/shayne-fletcher/ghc-lib-parser-ex/issues@@ -45,6 +45,7 @@ Language.Haskell.GhclibParserEx.GHC.Hs.Decls Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances Language.Haskell.GhclibParserEx.GHC.Parser+ Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader Language.Haskell.GhclibParserEx.GHC.Utils.Outputable -- Deprecated and will be removed in a future release. Language.Haskell.GhclibParserEx.Parse
+ src/Language/Haskell/GhclibParserEx/GHC/Types/Name/Reader.hs view
@@ -0,0 +1,43 @@+-- Copyright (c) 2020, Shayne Fletcher. All rights reserved.+-- SPDX-License-Identifier: BSD-3-Clause.++{-# LANGUAGE CPP #-}+#include "ghclib_api.h"++module Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader(+ occNameStr, rdrNameStr, isSpecial, unqual, fromQual+ )+where++#if defined(GHCLIB_API_811)+import GHC.Types.SrcLoc+import GHC.Types.Name+import GHC.Types.Name.Reader+#else+import SrcLoc+import RdrName+import OccName+import Name+#endif++-- These names may not seem natural here but they work out in+-- practice. The use of thse two functions is thoroughly ubiquitous.+occNameStr :: RdrName -> String; occNameStr = occNameString . rdrNameOcc+rdrNameStr :: Located RdrName -> String; rdrNameStr = occNameStr . unLoc++-- Builtin type or data constructors.+isSpecial :: Located RdrName -> Bool+isSpecial (L _ (Exact n)) = isDataConName n || isTyConName n+isSpecial _ = False++-- Coerce qualified names to unqualified (by discarding the+-- qualifier).+unqual :: Located RdrName -> Located RdrName+unqual (L loc (Qual _ n)) = L loc $ mkRdrUnqual n+unqual x = x++-- Extract the occ name from a qualified/unqualified reader name.+fromQual :: Located RdrName -> Maybe OccName+fromQual (L _ (Qual _ x)) = Just x+fromQual (L _ (Unqual x)) = Just x+fromQual _ = Nothing