packages feed

ghc-parser 0.2.4.0 → 0.2.5.0

raw patch · 4 files changed

+122/−9 lines, 4 filesdep ~ghcPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: ghc

API changes (from Hackage documentation)

Files

generic-src/Language/Haskell/GHC/Parser.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE TypeApplications #-} module Language.Haskell.GHC.Parser (   -- Parser handling   runParser,@@ -28,7 +29,18 @@ import Data.List (intercalate, findIndex, isInfixOf) import Data.Char (isAlphaNum) -#if MIN_VERSION_ghc(9,2,0)+#if MIN_VERSION_ghc(9,6,0)+import GHC.Driver.Config.Parser (initParserOpts)+import GHC.Parser.Errors.Types (PsMessage(..))+import GHC.Types.Error (getMessages, MsgEnvelope(..))+import GHC.Utils.Error (diagnosticMessage, defaultDiagnosticOpts, formatBulleted)+import GHC.Utils.Outputable (defaultSDocContext, renderWithContext)+#elif MIN_VERSION_ghc(9,4,0)+import GHC.Driver.Config.Parser (initParserOpts)+import GHC.Types.Error (diagnosticMessage, getMessages, MsgEnvelope(..))+import GHC.Utils.Error (formatBulleted)+import GHC.Utils.Outputable (defaultSDocContext)+#elif MIN_VERSION_ghc(9,2,0) import GHC.Driver.Config (initParserOpts) import GHC.Parser.Errors.Ppr (pprError) #endif@@ -132,7 +144,9 @@ #endif parserTypeSignature = Parser Parse.fullTypeSignature -#if MIN_VERSION_ghc(9,0,0)+#if MIN_VERSION_ghc(9,6,0)+parserModule :: Parser (SrcLoc.Located (HsModule GhcPs))+#elif MIN_VERSION_ghc(9,0,0) parserModule :: Parser (SrcLoc.Located HsModule) #elif MIN_VERSION_ghc(8,4,0) parserModule :: Parser (SrcLoc.Located (HsModule GhcPs))@@ -155,12 +169,19 @@       parseState = mkPState flags buffer location in #endif     -- Convert a GHC parser output into our own.-    toParseOut $ unP parser parseState+    toParseOut (unP parser parseState)   where     toParseOut :: ParseResult a -> ParseOutput a-#if MIN_VERSION_ghc(9,2,0)+#if MIN_VERSION_ghc(9,4,0)     toParseOut (PFailed pstate) =       let realSpan = SrcLoc.psRealSpan $ last_loc pstate+          errMsg = printErrorBag (getMessages $ errors pstate)+          ln = srcLocLine $ SrcLoc.realSrcSpanStart realSpan+          col = srcLocCol $ SrcLoc.realSrcSpanStart realSpan+        in Failure errMsg $ Loc ln col+#elif MIN_VERSION_ghc(9,2,0)+    toParseOut (PFailed pstate) =+      let realSpan = SrcLoc.psRealSpan $ last_loc pstate           errMsg = printErrorBag (errors pstate)           ln = srcLocLine $ SrcLoc.realSrcSpanStart realSpan           col = srcLocCol $ SrcLoc.realSrcSpanStart realSpan@@ -208,7 +229,11 @@       Parsed result      -- Convert the bag of errors into an error string.-#if MIN_VERSION_ghc(9,2,0)+#if MIN_VERSION_ghc(9,6,0)+    printErrorBag bag = joinLines . map (renderWithContext defaultSDocContext . formatBulleted defaultSDocContext . diagnosticMessage (defaultDiagnosticOpts @PsMessage) . errMsgDiagnostic) $ bagToList bag+#elif MIN_VERSION_ghc(9,4,0)+    printErrorBag bag = joinLines . map (show . formatBulleted defaultSDocContext . diagnosticMessage . errMsgDiagnostic) $ bagToList bag+#elif MIN_VERSION_ghc(9,2,0)     printErrorBag bag = joinLines . map (show . pprError) $ bagToList bag #else     printErrorBag bag = joinLines . map show $ bagToList bag@@ -218,7 +243,11 @@ parsePragmasIntoDynFlags :: DynFlags -> FilePath -> String -> IO (Maybe DynFlags) parsePragmasIntoDynFlags flags filepath str =   catchErrors $ do+#if MIN_VERSION_ghc(9,4,0)+    let opts = snd $ getOptions (initParserOpts flags) (stringToStringBuffer str) filepath+#else     let opts = getOptions flags (stringToStringBuffer str) filepath+#endif     (flags', _, _) <- parseDynamicFilePragma flags opts     return $ Just flags'   where
ghc-parser.cabal view
@@ -2,10 +2,10 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                ghc-parser-version:             0.2.4.0+version:             0.2.5.0 synopsis:            Haskell source parser from GHC. -- description:-homepage:            https://github.com/gibiansky/IHaskell+homepage:            https://github.com/IHaskell/IHaskell license:             MIT license-file:        LICENSE author:              Andrew Gibiansky@@ -23,10 +23,10 @@   -- other-modules:   -- other-extensions:   build-depends:       base                 >=4.9 && < 5,-                       ghc                  >=8.0 && <9.3+                       ghc                  >=8.0 && <9.7    if impl(ghc >= 8.0) && impl(ghc < 8.4)-    hs-source-dirs:    generic-src src-8.0+    hs-source-dirs:  generic-src src-8.0   if impl(ghc >= 8.4) && impl(ghc < 8.10)     hs-source-dirs:  generic-src src-8.4   if impl(ghc >= 8.10) && impl(ghc < 9.0)@@ -35,6 +35,10 @@     hs-source-dirs:  generic-src src-9.0   if impl(ghc >= 9.2) && impl(ghc < 9.4)     hs-source-dirs:  generic-src src-9.2+  if impl(ghc >= 9.4) && impl(ghc < 9.6)+    hs-source-dirs:  generic-src src-9.4+  if impl(ghc >= 9.6) && impl(ghc < 9.8)+    hs-source-dirs:  generic-src src-9.6     default-language:    Haskell2010
+ src-9.4/Language/Haskell/GHC/HappyParser.hs view
@@ -0,0 +1,40 @@+module Language.Haskell.GHC.HappyParser+    ( fullStatement+    , fullImport+    , fullDeclaration+    , fullExpression+    , fullTypeSignature+    , fullModule+    ) where++import GHC.Parser+import GHC.Types.SrcLoc++-- compiler/hsSyn+import GHC.Hs++-- compiler/utils+import GHC.Data.OrdList++-- compiler/parser+import GHC.Parser.Lexer++import GHC.Parser.PostProcess (ECP(..), runPV)++fullStatement :: P (Maybe (LStmt GhcPs (LHsExpr GhcPs)))+fullStatement = parseStmt++fullImport :: P (LImportDecl GhcPs)+fullImport = parseImport++fullDeclaration :: P (OrdList (LHsDecl GhcPs))+fullDeclaration = fmap unitOL parseDeclaration++fullExpression :: P (LHsExpr GhcPs)+fullExpression = parseExpression >>= \p -> runPV $ unECP p++fullTypeSignature :: P (Located (OrdList (LHsDecl GhcPs)))+fullTypeSignature = fmap (noLoc . unitOL) parseTypeSignature++fullModule :: P (Located HsModule)+fullModule = parseModule
+ src-9.6/Language/Haskell/GHC/HappyParser.hs view
@@ -0,0 +1,40 @@+module Language.Haskell.GHC.HappyParser+    ( fullStatement+    , fullImport+    , fullDeclaration+    , fullExpression+    , fullTypeSignature+    , fullModule+    ) where++import GHC.Parser+import GHC.Types.SrcLoc++-- compiler/hsSyn+import GHC.Hs++-- compiler/utils+import GHC.Data.OrdList++-- compiler/parser+import GHC.Parser.Lexer++import GHC.Parser.PostProcess (ECP(..), runPV)++fullStatement :: P (Maybe (LStmt GhcPs (LHsExpr GhcPs)))+fullStatement = parseStmt++fullImport :: P (LImportDecl GhcPs)+fullImport = parseImport++fullDeclaration :: P (OrdList (LHsDecl GhcPs))+fullDeclaration = fmap unitOL parseDeclaration++fullExpression :: P (LHsExpr GhcPs)+fullExpression = parseExpression >>= \p -> runPV $ unECP p++fullTypeSignature :: P (Located (OrdList (LHsDecl GhcPs)))+fullTypeSignature = fmap (noLoc . unitOL) parseTypeSignature++fullModule :: P (Located (HsModule GhcPs))+fullModule = parseModule