diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2020-09-10 18:20:45 +0200 |
---|---|---|
committer | Sylvain Henry <sylvain@haskus.fr> | 2020-09-29 17:24:03 +0200 |
commit | 8e3f00dd24936b6674d0a2322f8410125968583e (patch) | |
tree | d9630cc481aff867c16300b049b28e8cdd1a7aa2 /compiler/GHC/Runtime/Eval.hs | |
parent | 4365d77a0b306ada61654c3648b844cfa0f4fdcf (diff) | |
download | haskell-8e3f00dd24936b6674d0a2322f8410125968583e.tar.gz |
Make the parser module less dependent on DynFlags
Bump haddock submodule
Diffstat (limited to 'compiler/GHC/Runtime/Eval.hs')
-rw-r--r-- | compiler/GHC/Runtime/Eval.hs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/compiler/GHC/Runtime/Eval.hs b/compiler/GHC/Runtime/Eval.hs index aad557579b..be416a3997 100644 --- a/compiler/GHC/Runtime/Eval.hs +++ b/compiler/GHC/Runtime/Eval.hs @@ -96,8 +96,8 @@ import GHC.Utils.Outputable import GHC.Data.FastString import GHC.Data.Bag import GHC.Utils.Misc -import qualified GHC.Parser.Lexer as Lexer (P (..), ParseResult(..), unP, mkPStatePure) -import GHC.Parser.Lexer (ParserFlags) +import qualified GHC.Parser.Lexer as Lexer (P (..), ParseResult(..), unP, initParserState) +import GHC.Parser.Lexer (ParserOpts) import qualified GHC.Parser as Parser (parseStmt, parseModule, parseDeclaration, parseImport) import System.Directory @@ -877,14 +877,14 @@ parseName str = withSession $ \hsc_env -> liftIO $ ; hscTcRnLookupRdrName hsc_env lrdr_name } -- | Returns @True@ if passed string is a statement. -isStmt :: ParserFlags -> String -> Bool +isStmt :: ParserOpts -> String -> Bool isStmt pflags stmt = case parseThing Parser.parseStmt pflags stmt of Lexer.POk _ _ -> True Lexer.PFailed _ -> False -- | Returns @True@ if passed string has an import declaration. -hasImport :: ParserFlags -> String -> Bool +hasImport :: ParserOpts -> String -> Bool hasImport pflags stmt = case parseThing Parser.parseModule pflags stmt of Lexer.POk _ thing -> hasImports thing @@ -893,14 +893,14 @@ hasImport pflags stmt = hasImports = not . null . hsmodImports . unLoc -- | Returns @True@ if passed string is an import declaration. -isImport :: ParserFlags -> String -> Bool +isImport :: ParserOpts -> String -> Bool isImport pflags stmt = case parseThing Parser.parseImport pflags stmt of Lexer.POk _ _ -> True Lexer.PFailed _ -> False -- | Returns @True@ if passed string is a declaration but __/not a splice/__. -isDecl :: ParserFlags -> String -> Bool +isDecl :: ParserOpts -> String -> Bool isDecl pflags stmt = do case parseThing Parser.parseDeclaration pflags stmt of Lexer.POk _ thing -> @@ -909,12 +909,12 @@ isDecl pflags stmt = do _ -> True Lexer.PFailed _ -> False -parseThing :: Lexer.P thing -> ParserFlags -> String -> Lexer.ParseResult thing -parseThing parser pflags stmt = do +parseThing :: Lexer.P thing -> ParserOpts -> String -> Lexer.ParseResult thing +parseThing parser opts stmt = do let buf = stringToStringBuffer stmt loc = mkRealSrcLoc (fsLit "<interactive>") 1 1 - Lexer.unP parser (Lexer.mkPStatePure pflags buf loc) + Lexer.unP parser (Lexer.initParserState opts buf loc) getDocs :: GhcMonad m => Name |