packages feed

ghc-lib-parser-ex 0.20210201 → 0.20210228

raw patch · 8 files changed

+51/−12 lines, 8 filesdep ~ghcdep ~ghc-lib-parserPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: ghc, ghc-lib-parser

API changes (from Hackage documentation)

- Language.Haskell.GhclibParserEx.GHC.Driver.Flags: instance GHC.Enum.Bounded DynFlags.Language
- Language.Haskell.GhclibParserEx.GHC.Driver.Session: impliedGFlags :: [(GeneralFlag, TurnOnFlag, GeneralFlag)]
- Language.Haskell.GhclibParserEx.GHC.Driver.Session: impliedOffGFlags :: [(GeneralFlag, TurnOnFlag, GeneralFlag)]
- Language.Haskell.GhclibParserEx.GHC.Driver.Session: impliedXFlags :: [(Extension, TurnOnFlag, Extension)]
- Language.Haskell.GhclibParserEx.GHC.Driver.Session: instance GHC.Classes.Ord GHC.LanguageExtensions.Type.Extension
- Language.Haskell.GhclibParserEx.GHC.Driver.Session: turnOff :: TurnOnFlag
- Language.Haskell.GhclibParserEx.GHC.Driver.Session: turnOn :: TurnOnFlag
- Language.Haskell.GhclibParserEx.GHC.Driver.Session: type TurnOnFlag = Bool
- Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances: instance Outputable.Outputable a => GHC.Show.Show (Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances.HsExtendInstances a)
- Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances: instance Outputable.Outputable a => Outputable.Outputable (Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances.HsExtendInstances a)
+ Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances: instance GHC.Utils.Outputable.Outputable a => GHC.Show.Show (Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances.HsExtendInstances a)
+ Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances: instance GHC.Utils.Outputable.Outputable a => GHC.Utils.Outputable.Outputable (Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances.HsExtendInstances a)
- Language.Haskell.GhclibParserEx.Fixity: fixitiesFromModule :: Located (HsModule GhcPs) -> [(String, Fixity)]
+ Language.Haskell.GhclibParserEx.Fixity: fixitiesFromModule :: Located HsModule -> [(String, Fixity)]
- Language.Haskell.GhclibParserEx.GHC.Hs: modName :: Located (HsModule GhcPs) -> String
+ Language.Haskell.GhclibParserEx.GHC.Hs: modName :: Located HsModule -> String
- Language.Haskell.GhclibParserEx.GHC.Hs.Expr: isMDo :: HsStmtContext Name -> Bool
+ Language.Haskell.GhclibParserEx.GHC.Hs.Expr: isMDo :: HsStmtContext GhcRn -> Bool
- Language.Haskell.GhclibParserEx.GHC.Parser: parseFile :: String -> DynFlags -> String -> ParseResult (Located (HsModule GhcPs))
+ Language.Haskell.GhclibParserEx.GHC.Parser: parseFile :: String -> DynFlags -> String -> ParseResult (Located HsModule)
- Language.Haskell.GhclibParserEx.GHC.Parser: parseHeader :: String -> DynFlags -> ParseResult (Located (HsModule GhcPs))
+ Language.Haskell.GhclibParserEx.GHC.Parser: parseHeader :: String -> DynFlags -> ParseResult (Located HsModule)
- Language.Haskell.GhclibParserEx.GHC.Parser: parseModule :: String -> DynFlags -> ParseResult (Located (HsModule GhcPs))
+ Language.Haskell.GhclibParserEx.GHC.Parser: parseModule :: String -> DynFlags -> ParseResult (Located HsModule)
- Language.Haskell.GhclibParserEx.GHC.Parser: parseSignature :: String -> DynFlags -> ParseResult (Located (HsModule GhcPs))
+ Language.Haskell.GhclibParserEx.GHC.Parser: parseSignature :: String -> DynFlags -> ParseResult (Located HsModule)

Files

ChangeLog.md view
@@ -1,5 +1,26 @@ # Changelog for ghc-lib-parser-ex +## 0.20210228 released 2021-02-28+- Update to `ghc-lib-0.20210228`++## 9.0.0.3 released 2021-02-08+- Cabal bugfix++## 9.0.0.2 released 2021-02-08+- Cabal bugfix++## 8.10.0.19 released 2021-02-08+- Cabal bugfix++## 8.10.0.18 released 2021-02-06+- Update to ghc-8.10.4.++## 9.0.0.1 released 2021-02-05+- Upgrade Cabal defaults flag to 9.0.1++## 9.0.0.0 released 2021-02-05+- Update to ghc-9.0.1+ ## 0.20210201 released 2021-02-01 - Update to `ghc-lib-0.20210201` 
README.md view
@@ -1,5 +1,5 @@ # ghc-lib-parser-ex [![License BSD3](https://img.shields.io/badge/license-BSD3-brightgreen.svg)](http://opensource.org/licenses/BSD-3-Clause) [![Hackage version](https://img.shields.io/hackage/v/ghc-lib-parser-ex.svg?label=Hackage)](https://hackage.haskell.org/package/ghc-lib-parser-ex) [![Stackage version](https://www.stackage.org/package/ghc-lib-parser-ex/badge/nightly?label=Stackage)](https://www.stackage.org/package/ghc-lib-parser-ex)  [![Build Status](https://shayne-fletcher.visualstudio.com/ghc-lib-parser-ex/_apis/build/status/shayne-fletcher.ghc-lib-parser-ex?branchName=master)](https://shayne-fletcher.visualstudio.com/ghc-lib-parser-ex/_build/latest?definitionId=1&branchName=master)-Copyright © 2020, Shayne Fletcher. All rights reserved.+Copyright © 2020-2021 Shayne Fletcher. All rights reserved. SPDX-License-Identifier: BSD-3-Clause  The `ghc-lib-parser-ex` package contains GHC API parse tree utilities. It works with or without [`ghc-lib-parser`](https://github.com/digital-asset/ghc-lib).
cbits/ghclib_api.h view
@@ -20,7 +20,7 @@ #         error Unsupported GHC API version #      endif #    else-#      if __GLASGOW_HASKELL__   == 811+#      if __GLASGOW_HASKELL__   == 901 #        define GHCLIB_API_HEAD #      elif __GLASGOW_HASKELL__ == 900 #        define GHCLIB_API_900
ghc-lib-parser-ex.cabal view
@@ -1,6 +1,6 @@ cabal-version: >= 1.18 name:           ghc-lib-parser-ex-version:        0.20210201+version:        0.20210228 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@@ -63,15 +63,15 @@       uniplate >= 1.5,       bytestring >= 0.10.8.2,       containers >= 0.5.8.1-  if flag(auto) && impl(ghc >= 8.10.0) && impl(ghc < 8.11.0)+  if flag(auto) && impl(ghc >= 9.0.0) && impl(ghc < 9.1.0)     build-depends:-      ghc == 8.10.*,+      ghc == 9.0.*,       ghc-boot-th,       ghc-boot   else     if flag(auto)       build-depends:-        ghc-lib-parser == 8.10.*+        ghc-lib-parser == 9.0.*     else       if flag(no-ghc-lib)         build-depends:@@ -107,15 +107,15 @@     , extra >=1.6     , uniplate >= 1.6.12     , ghc-lib-parser-ex-  if flag(auto) && impl(ghc >= 8.10.0) && impl(ghc < 8.11.0)+  if flag(auto) && impl(ghc >= 9.0.0) && impl(ghc < 9.1.0)     build-depends:-      ghc == 8.10.*,+      ghc == 9.0.*,       ghc-boot-th,       ghc-boot   else     if flag(auto)       build-depends:-        ghc-lib-parser == 8.10.*+        ghc-lib-parser == 9.0.*     else       if flag(no-ghc-lib)         build-depends:
src/Language/Haskell/GhclibParserEx/Dump.hs view
@@ -17,7 +17,7 @@  #if !defined(MIN_VERSION_ghc_lib_parser) -- Using native ghc.-#  if defined (GHCLIB_API_HEAD) || defined (GHCLIB_API_810)+#  if defined (GHCLIB_API_HEAD) || defined(GHCLIB_API_900) || defined (GHCLIB_API_810) import GHC.Hs.Dump #  else import HsDumpAst
src/Language/Haskell/GhclibParserEx/GHC/Hs/Expr.hs view
@@ -159,8 +159,13 @@ isUnboxed = \case Unboxed -> True; _ -> False  isWholeFrac :: HsExpr GhcPs -> Bool+#if defined (GHCLIB_API_HEAD)+isWholeFrac (HsLit _ (HsRat _ fl@FL{} _)) = denominator (rationalFromFractionalLit fl) == 1+isWholeFrac (HsOverLit _ (OverLit _ (HsFractional fl@FL {}) _)) = denominator (rationalFromFractionalLit fl) == 1+#else isWholeFrac (HsLit _ (HsRat _ (FL _ _ v) _)) = denominator v == 1 isWholeFrac (HsOverLit _ (OverLit _ (HsFractional (FL _ _ v)) _)) = denominator v == 1+#endif isWholeFrac _ = False  varToStr :: LHsExpr GhcPs -> String
src/Language/Haskell/GhclibParserEx/GHC/Parser.hs view
@@ -98,8 +98,14 @@ parseExpression :: String -> DynFlags -> ParseResult (LHsExpr GhcPs) #if defined (GHCLIB_API_HEAD) parseExpression s flags =+  -- The need for annotations here came about first manifested with+  -- ghc-9.0.1   case parse Parser.parseExpression s flags of-    POk s e -> unP (runPV . unECP $ e) s+    POk state e ->+      let e' = e :: ECP+          parser_validator = unECP e' :: PV (LHsExpr GhcPs)+          parser = runPV parser_validator :: P (LHsExpr GhcPs)+      in unP parser state :: ParseResult (LHsExpr GhcPs)     PFailed ps -> PFailed ps #elif defined (GHCLIB_API_810) || defined (GHCLIB_API_900) parseExpression s flags =
test/Test.hs view
@@ -177,7 +177,11 @@   ]   where     flags = defaultDynFlags fakeSettings fakeLlvmConfig+#if defined (GHCLIB_API_HEAD)+    report flags msgs = concat [ showSDoc flags msg | msg <- pprMsgEnvelopeBagWithLoc msgs ]+#else     report flags msgs = concat [ showSDoc flags msg | msg <- pprErrMsgBagWithLoc msgs ]+#endif  #if defined (GHCLIB_API_HEAD) || defined (GHCLIB_API_900) moduleTest :: String -> DynFlags -> (Located HsModule -> IO ()) -> IO ()@@ -382,8 +386,11 @@   ]   where     flags = defaultDynFlags fakeSettings fakeLlvmConfig+#if defined(GHCLIB_API_HEAD)+    report flags msgs = concat [ showSDoc flags msg | msg <- pprMsgEnvelopeBagWithLoc msgs ]+#else     report flags msgs = concat [ showSDoc flags msg | msg <- pprErrMsgBagWithLoc msgs ]-+#endif nameTests :: TestTree nameTests = testGroup "Name tests"   [ testCase "modName (1)" $