ghc-parser 0.2.0.1 → 0.2.0.2
raw patch · 3 files changed
+62/−3 lines, 3 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 +13/−0
- ghc-parser.cabal +7/−3
- src-8.4/Language/Haskell/GHC/HappyParser.hs +42/−0
generic-src/Language/Haskell/GHC/Parser.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveFunctor #-} module Language.Haskell.GHC.Parser ( -- Parser handling@@ -29,7 +30,11 @@ import Bag import ErrUtils hiding (ErrMsg) import FastString+#if MIN_VERSION_ghc(8,4,0)+import GHC hiding (Located, Parsed)+#else import GHC hiding (Located)+#endif import Lexer import OrdList import Outputable hiding ((<>))@@ -89,13 +94,21 @@ toParseOut $ unP parser parseState where toParseOut :: ParseResult a -> ParseOutput a+#if MIN_VERSION_ghc(8,4,0)+ toParseOut (PFailed _ span@(RealSrcSpan realSpan) err) =+#else toParseOut (PFailed span@(RealSrcSpan realSpan) err) =+#endif let errMsg = printErrorBag $ unitBag $ mkPlainErrMsg flags span err line = srcLocLine $ realSrcSpanStart realSpan col = srcLocCol $ realSrcSpanStart realSpan in Failure errMsg $ Loc line col +#if MIN_VERSION_ghc(8,4,0)+ toParseOut (PFailed _ span err) =+#else toParseOut (PFailed span err) =+#endif let errMsg = printErrorBag $ unitBag $ mkPlainErrMsg flags span err in Failure errMsg $ Loc 0 0
ghc-parser.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: ghc-parser-version: 0.2.0.1+version: 0.2.0.2 synopsis: Haskell source parser from GHC. -- description: homepage: https://github.com/gibiansky/IHaskell@@ -33,7 +33,7 @@ -- other-modules: -- other-extensions: build-depends: base >=4.6 && < 5,- ghc >=7.6 && <8.3+ ghc >=7.6 && <8.5 if impl(ghc >= 7.6) && impl(ghc < 7.8) hs-source-dirs: generic-src src-7.6@@ -47,6 +47,10 @@ if impl(ghc < 8.0) hs-source-dirs: generic-src src-7.10 else- hs-source-dirs: generic-src src-8.0+ if impl(ghc >= 8.0) && impl(ghc < 8.4)+ hs-source-dirs: generic-src src-8.0+ else+ hs-source-dirs: generic-src src-8.4+ default-language: Haskell2010
+ src-8.4/Language/Haskell/GHC/HappyParser.hs view
@@ -0,0 +1,42 @@+module Language.Haskell.GHC.HappyParser+ ( fullStatement+ , fullImport+ , fullDeclaration+ , fullExpression+ , fullTypeSignature+ , fullModule+ ) where++import Parser+import SrcLoc++-- compiler/hsSyn+import HsSyn++-- compiler/utils+import OrdList++-- compiler/parser+import RdrHsSyn+import Lexer++-- compiler/basicTypes+import RdrName++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++fullTypeSignature :: P (Located (OrdList (LHsDecl GhcPs)))+fullTypeSignature = fmap (noLoc . unitOL) parseTypeSignature++fullModule :: P (Located (HsModule GhcPs))+fullModule = parseModule