summaryrefslogtreecommitdiff
path: root/compiler/GHC.hs
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2020-09-10 18:20:45 +0200
committerSylvain Henry <sylvain@haskus.fr>2020-09-29 17:24:03 +0200
commit8e3f00dd24936b6674d0a2322f8410125968583e (patch)
treed9630cc481aff867c16300b049b28e8cdd1a7aa2 /compiler/GHC.hs
parent4365d77a0b306ada61654c3648b844cfa0f4fdcf (diff)
downloadhaskell-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.hs11
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