File tree Expand file tree Collapse file tree 2 files changed +11
-10
lines changed Expand file tree Collapse file tree 2 files changed +11
-10
lines changed Original file line number Diff line number Diff line change @@ -272,7 +272,7 @@ parseFileContents
272272 -> FilePath -- ^ the filename (for source locations)
273273 -> Maybe SB. StringBuffer -- ^ Haskell module source text (full Unicode is supported)
274274 -> ExceptT [FileDiagnostic ] m ([FileDiagnostic ], ParsedModule )
275- parseFileContents sourcePlugin filename mbContents = do
275+ parseFileContents customPreprocessor filename mbContents = do
276276 (contents, dflags) <- preprocessor filename mbContents
277277 let loc = mkRealSrcLoc (mkFastString filename) 1 1
278278 case unP Parser. parseModule (mkPState dflags contents loc) of
@@ -299,7 +299,7 @@ parseFileContents sourcePlugin filename mbContents = do
299299 throwE $ diagFromErrMsgs " parser" dflags $ snd $ getMessages pst dflags
300300
301301 -- Ok, we got here. It's safe to continue.
302- let (errs, parsed) = sourcePlugin rdr_module
302+ let (errs, parsed) = customPreprocessor rdr_module
303303 unless (null errs) $ throwE $ diagFromStrings " parser" errs
304304 ms <- getModSummaryFromBuffer filename contents dflags parsed
305305 let pm =
Original file line number Diff line number Diff line change @@ -31,14 +31,15 @@ import Data.Maybe
3131preprocessor :: GhcMonad m => FilePath -> Maybe StringBuffer -> ExceptT [FileDiagnostic ] m (StringBuffer , DynFlags )
3232preprocessor filename mbContents = do
3333 -- Perform unlit
34- (isOnDisk, contents) <- if isLiterate filename then do
35- dflags <- getDynFlags
36- newcontent <- liftIO $ runLhs dflags filename mbContents
37- return (False , newcontent)
38- else do
39- contents <- liftIO $ maybe (hGetStringBuffer filename) return mbContents
40- let isOnDisk = isNothing mbContents
41- return (isOnDisk, contents)
34+ (isOnDisk, contents) <-
35+ if isLiterate filename then do
36+ dflags <- getDynFlags
37+ newcontent <- liftIO $ runLhs dflags filename mbContents
38+ return (False , newcontent)
39+ else do
40+ contents <- liftIO $ maybe (hGetStringBuffer filename) return mbContents
41+ let isOnDisk = isNothing mbContents
42+ return (isOnDisk, contents)
4243
4344 -- Perform cpp
4445 dflags <- ExceptT $ parsePragmasIntoDynFlags filename contents
You can’t perform that action at this time.
0 commit comments