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.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.hs')
-rw-r--r-- | compiler/GHC.hs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/compiler/GHC.hs b/compiler/GHC.hs index e92f7f16aa..979e42ccc9 100644 --- a/compiler/GHC.hs +++ b/compiler/GHC.hs @@ -303,6 +303,7 @@ import GHCi.RemoteTypes import GHC.Core.Ppr.TyThing ( pprFamInst ) import GHC.Driver.Backend +import GHC.Driver.Config import GHC.Driver.Main import GHC.Driver.Make import GHC.Driver.Hooks @@ -1426,9 +1427,9 @@ getModuleSourceAndFlags mod = do -- Throws a 'GHC.Driver.Types.SourceError' on parse error. getTokenStream :: GhcMonad m => Module -> m [Located Token] getTokenStream mod = do - (sourceFile, source, flags) <- getModuleSourceAndFlags mod + (sourceFile, source, dflags) <- getModuleSourceAndFlags mod let startLoc = mkRealSrcLoc (mkFastString sourceFile) 1 1 - case lexTokenStream source startLoc flags of + case lexTokenStream (initParserOpts dflags) source startLoc of POk _ ts -> return ts PFailed pst -> do dflags <- getDynFlags @@ -1439,9 +1440,9 @@ getTokenStream mod = do -- 'showRichTokenStream'. getRichTokenStream :: GhcMonad m => Module -> m [(Located Token, String)] getRichTokenStream mod = do - (sourceFile, source, flags) <- getModuleSourceAndFlags mod + (sourceFile, source, dflags) <- getModuleSourceAndFlags mod let startLoc = mkRealSrcLoc (mkFastString sourceFile) 1 1 - case lexTokenStream source startLoc flags of + case lexTokenStream (initParserOpts dflags) source startLoc of POk _ ts -> return $ addSourceToTokens startLoc source ts PFailed pst -> do dflags <- getDynFlags @@ -1616,7 +1617,7 @@ parser str dflags filename = loc = mkRealSrcLoc (mkFastString filename) 1 1 buf = stringToStringBuffer str in - case unP Parser.parseModule (mkPState dflags buf loc) of + case unP Parser.parseModule (initParserState (initParserOpts dflags) buf loc) of PFailed pst -> let (warns,errs) = getMessages pst dflags in |