@@ -47,6 +47,11 @@ import GHC as X hiding (Phase, GhcT, parseDynamicFlags, runGhcT, showGhcExceptio
47
47
)
48
48
import Control.Monad.Ghc as X (GhcT , runGhcT )
49
49
50
+ #if MIN_VERSION_ghc(9,8,0)
51
+ import GHC.Types.Error (ResolvedDiagnosticReason (.. ), Messages )
52
+ import GHC.Driver.Errors.Types (DriverMessage )
53
+ #endif
54
+
50
55
#if MIN_VERSION_ghc(9,4,0)
51
56
import GHC.Types.SourceError as X (SourceError , srcErrorMessages )
52
57
@@ -429,7 +434,18 @@ putLogMsg :: Logger -> DynFlags -> WarnReason -> Severity -> SrcSpan -> SDoc ->
429
434
pushLogHook :: (GHC. LogAction -> GHC. LogAction ) -> Logger -> Logger
430
435
modifyLogger :: GhcMonad m => (Logger -> Logger ) -> m ()
431
436
mkLogAction :: (String -> a ) -> IORef [a ] -> GHC. LogAction
432
- #if MIN_VERSION_ghc(9,6,0)
437
+ #if MIN_VERSION_ghc(9,8,0)
438
+ data WarnReason = NoReason
439
+ type Logger = GHC. Logger
440
+ initLogger = GHC. initLogger
441
+ putLogMsg logger _df _wn sev = GHC. putLogMsg logger (GHC. logFlags logger) (GHC. MCDiagnostic sev (ResolvedDiagnosticReason GHC. ErrorWithoutFlag ) Nothing )
442
+ pushLogHook = GHC. pushLogHook
443
+ modifyLogger = GHC. modifyLogger
444
+ mkLogAction f r = \ lf mc src msg ->
445
+ let renderErrMsg = GHC. renderWithContext (GHC. log_default_user_context lf)
446
+ errorEntry = f (renderErrMsg (GHC. mkLocMessage mc src msg))
447
+ in modifyIORef r (errorEntry : )
448
+ #elif MIN_VERSION_ghc(9,6,0)
433
449
data WarnReason = NoReason
434
450
type Logger = GHC. Logger
435
451
initLogger = GHC. initLogger
@@ -606,12 +622,18 @@ setBackendToInterpreter df = df{hscTarget = HscInterpreted}
606
622
#endif
607
623
608
624
-- parseDynamicFlags
609
- parseDynamicFlags :: MonadIO m => Logger -> DynFlags -> [Located String ] -> m (DynFlags , [Located String ], [Warn ])
625
+
626
+ #if MIN_VERSION_ghc(9,8,0)
627
+ parseDynamicFlags :: MonadIO m => Logger -> DynFlags -> [Located String ] -> m (DynFlags , [Located String ], Messages DriverMessage )
628
+ parseDynamicFlags = GHC. parseDynamicFlags
629
+ #else
610
630
#if MIN_VERSION_ghc(9,2,0)
631
+ parseDynamicFlags :: MonadIO m => Logger -> DynFlags -> [Located String ] -> m (DynFlags , [Located String ], [Warn ])
611
632
parseDynamicFlags = GHC. parseDynamicFlags
612
633
#else
613
634
parseDynamicFlags _ = GHC. parseDynamicFlags
614
635
#endif
636
+ #endif
615
637
616
638
pprTypeForUser :: Type -> SDoc
617
639
#if MIN_VERSION_ghc(9,4,0)
0 commit comments