ghc-lib-parser-ex 8.10.0.14 → 8.10.0.15
raw patch · 4 files changed
+48/−6 lines, 4 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Language.Haskell.GhclibParserEx.GHC.Hs.ImpExp: isImportQualifiedPost :: ImportDeclQualifiedStyle -> Bool
Files
- ChangeLog.md +5/−4
- ghc-lib-parser-ex.cabal +1/−1
- src/Language/Haskell/GhclibParserEx/GHC/Hs/ImpExp.hs +20/−1
- test/Test.hs +22/−0
ChangeLog.md view
@@ -1,7 +1,12 @@ # Changelog for ghc-lib-parser-ex +## 8.10.0.15 released 2020-07-04+- New function `isImportQualifiedPost`+ ## 8.10.0.14 released 2020-06-10 - New function `isSymbolRdrName`+- New module+ - `Language.Haskell.GhclibParserEx.GHC.Settings.Config` to replace `Language.Haskell.GhclibParserEx.Config` (which remains for now but deprecated and will be removed in a future release) ## 0.20200601 released 2020-06-01 @@ -16,10 +21,6 @@ ## 8.10.0.10 released 2020-05-18 - Upgrade to `ghc-lib-parser-8.10.1.20200518`--## Unreleased-- New module- - `Language.Haskell.GhclibParserEx.GHC.Settings.Config` to replace `Language.Haskell.GhclibParserEx.Config` (which remains for now but deprecated and will be removed in a future release) ## 8.10.0.9 released 2020-05-16 - New modules
ghc-lib-parser-ex.cabal view
@@ -1,6 +1,6 @@ cabal-version: >= 1.18 name: ghc-lib-parser-ex-version: 8.10.0.14+version: 8.10.0.15 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
src/Language/Haskell/GhclibParserEx/GHC/Hs/ImpExp.hs view
@@ -3,7 +3,14 @@ {-# LANGUAGE CPP #-} #include "ghclib_api.h" module Language.Haskell.GhclibParserEx.GHC.Hs.ImpExp(- isPatSynIE+ isPatSynIE+#if defined (MIN_VERSION_ghc_lib_parser)+# if !MIN_VERSION_ghc_lib_parser(1, 0, 0) || MIN_VERSION_ghc_lib_parser(8, 10, 0)+ , isImportQualifiedPost+# endif+#elif __GLASGOW_HASKELL__ >= 810+ , isImportQualifiedPost+#endif ) where @@ -21,3 +28,15 @@ isPatSynIE :: IEWrappedName RdrName -> Bool isPatSynIE IEPattern{} = True isPatSynIE _ = False++#if defined(MIN_VERSION_ghc_lib_parser)+# if !MIN_VERSION_ghc_lib_parser(1, 0, 0) || MIN_VERSION_ghc_lib_parser(8, 10, 0)+isImportQualifiedPost :: ImportDeclQualifiedStyle -> Bool+isImportQualifiedPost QualifiedPost = True+isImportQualifiedPost _ = False+# endif+#elif __GLASGOW_HASKELL__ >= 810+isImportQualifiedPost :: ImportDeclQualifiedStyle -> Bool+isImportQualifiedPost QualifiedPost = True+isImportQualifiedPost _ = False+#endif
test/Test.hs view
@@ -25,6 +25,15 @@ import Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances import Language.Haskell.GhclibParserEx.GHC.Hs.Expr import Language.Haskell.GhclibParserEx.GHC.Hs.Pat+-- We only test 'isImportQualifiedPost' at this time which requires >=+-- 8.10; avoid unused import warning.+#if defined (MIN_VERSION_ghc_lib_parser)+# if !MIN_VERSION_ghc_lib_parser(1, 0, 0) || MIN_VERSION_ghc_lib_parser(8, 10, 0)+import Language.Haskell.GhclibParserEx.GHC.Hs.ImpExp+# endif+#elif __GLASGOW_HASKELL__ >= 810+import Language.Haskell.GhclibParserEx.GHC.Hs.ImpExp+#endif import Language.Haskell.GhclibParserEx.GHC.Driver.Flags() import Language.Haskell.GhclibParserEx.GHC.Driver.Session import Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader@@ -328,6 +337,19 @@ parsePragmasIntoDynFlags flags ([StarIsType], []) foo s >>= \case Left msg -> assertFailure msg Right flags -> chkParseResult report flags $ parseFile foo flags s+#if defined (MIN_VERSION_ghc_lib_parser)+# if !MIN_VERSION_ghc_lib_parser(1, 0, 0) || MIN_VERSION_ghc_lib_parser(8, 10, 0)+ , testCase "ImportQualifiedPost" $ do+ case parseImport "import Foo qualified" (flags `xopt_set` ImportQualifiedPost) of+ POk _ (L _ decl) -> assertBool "expected postpositive" (isImportQualifiedPost . ideclQualified $ decl)+ PFailed _ -> assertFailure "parse error"+# endif+#elif __GLASGOW_HASKELL__ >= 810+ , testCase "ImportQualifiedPost" $ do+ case parseImport "import Foo qualified" (flags `xopt_set` ImportQualifiedPost) of+ POk _ (L _ decl) -> assertBool "expected postpositive" (isImportQualifiedPost . ideclQualified $ decl)+ PFailed _ -> assertFailure "parse error"+#endif ] where flags = unsafeGlobalDynFlags