packages feed

ghc-parser 0.2.2.0 → 0.2.3.0

raw patch · 3 files changed

+77/−14 lines, 3 filesdep ~ghc

Dependency ranges changed: ghc

Files

generic-src/Language/Haskell/GHC/Parser.hs view
@@ -28,24 +28,36 @@ import Data.List (intercalate, findIndex, isInfixOf) import Data.Char (isAlphaNum) +#if MIN_VERSION_ghc(9,0,0)+import GHC.Data.Bag+import GHC.Driver.Session (parseDynamicFilePragma)+import GHC.Data.FastString+import GHC.Parser.Header (getOptions)+import GHC.Parser.Lexer hiding (buffer)+import GHC.Data.OrdList+import GHC.Utils.Panic (handleGhcException)+import qualified GHC.Types.SrcLoc as SrcLoc+import GHC.Data.StringBuffer hiding (len)+#else import Bag import DynFlags (parseDynamicFilePragma)+import FastString+import HeaderInfo (getOptions)+import Lexer hiding (buffer)+import OrdList+import Panic (handleGhcException)+import qualified SrcLoc as SrcLoc+import StringBuffer hiding (len)+#endif #if MIN_VERSION_ghc(8,10,0) #else import ErrUtils hiding (ErrMsg) #endif-import FastString #if MIN_VERSION_ghc(8,4,0) import GHC hiding (Located, Parsed, parser) #else import GHC hiding (Located, parser) #endif-import HeaderInfo (getOptions)-import Lexer hiding (buffer)-import OrdList-import Panic (handleGhcException)-import qualified SrcLoc as SrcLoc-import StringBuffer hiding (len)  import qualified Language.Haskell.GHC.HappyParser as Parse @@ -115,9 +127,10 @@ #endif parserTypeSignature = Parser Parse.fullTypeSignature -#if MIN_VERSION_ghc(8,4,0)+#if MIN_VERSION_ghc(9,0,0)+parserModule :: Parser (SrcLoc.Located HsModule)+#elif MIN_VERSION_ghc(8,4,0) parserModule :: Parser (SrcLoc.Located (HsModule GhcPs))- #else parserModule :: Parser (SrcLoc.Located (HsModule RdrName)) #endif@@ -136,7 +149,14 @@     toParseOut $ unP parser parseState   where     toParseOut :: ParseResult a -> ParseOutput a-#if MIN_VERSION_ghc(8,10,0)+#if MIN_VERSION_ghc(9,0,0)+    toParseOut (PFailed pstate) =+      let realSpan = SrcLoc.psRealSpan $ last_loc pstate+          errMsg = printErrorBag $ snd $ (messages pstate) flags+          ln = srcLocLine $ SrcLoc.realSrcSpanStart realSpan+          col = srcLocCol $ SrcLoc.realSrcSpanStart realSpan+        in Failure errMsg $ Loc ln col+#elif MIN_VERSION_ghc(8,10,0)     toParseOut (PFailed pstate) =       let realSpan = last_loc pstate           errMsg = printErrorBag $ snd $ (messages pstate) flags
ghc-parser.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                ghc-parser-version:             0.2.2.0+version:             0.2.3.0 synopsis:            Haskell source parser from GHC. -- description: homepage:            https://github.com/gibiansky/IHaskell@@ -14,7 +14,7 @@ category:            Language build-type:          Simple -- extra-source-files:-cabal-version:       >=1.16+cabal-version:       1.16  library   build-tools:         happy, cpphs@@ -24,7 +24,7 @@   -- other-modules:   -- other-extensions:   build-depends:       base                 >=4.9 && < 5,-                       ghc                  >=8.0 && <8.11+                       ghc                  >=8.0 && <9.1    if impl(ghc >= 8.0) && impl(ghc < 8.4)     hs-source-dirs:    generic-src src-8.0@@ -32,7 +32,10 @@     if impl(ghc >= 8.4) && impl(ghc < 8.10)       hs-source-dirs:  generic-src src-8.4     else-      hs-source-dirs:  generic-src src-8.10+      if impl(ghc >= 8.10) && impl(ghc < 9.0)+        hs-source-dirs:  generic-src src-8.10+      else+        hs-source-dirs:  generic-src src-9.0     default-language:    Haskell2010
+ src-9.0/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 (runECP_P)++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 = runECP_P =<< parseExpression++fullTypeSignature :: P (Located (OrdList (LHsDecl GhcPs)))+fullTypeSignature = fmap (noLoc . unitOL) parseTypeSignature++fullModule :: P (Located HsModule)+fullModule = parseModule