diff options
Diffstat (limited to 'compiler/GHC/Tc/Utils')
-rw-r--r-- | compiler/GHC/Tc/Utils/Monad.hs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/compiler/GHC/Tc/Utils/Monad.hs b/compiler/GHC/Tc/Utils/Monad.hs index 6fb31e2d7d..a8f6cbbc19 100644 --- a/compiler/GHC/Tc/Utils/Monad.hs +++ b/compiler/GHC/Tc/Utils/Monad.hs @@ -1033,8 +1033,9 @@ mkLongErrAt :: SrcSpan -> SDoc -> SDoc -> TcRn (MsgEnvelope DiagnosticMessage) mkLongErrAt loc msg extra = do { printer <- getPrintUnqualified ; unit_state <- hsc_units <$> getTopEnv ; + dflags <- getDynFlags ; let msg' = pprWithUnitState unit_state msg in - return $ mkLongMsgEnvelope ErrorWithoutFlag loc printer msg' extra } + return $ mkLongMsgEnvelope dflags ErrorWithoutFlag loc printer msg' extra } mkDecoratedSDocAt :: DiagnosticReason -> SrcSpan @@ -1048,11 +1049,12 @@ mkDecoratedSDocAt :: DiagnosticReason mkDecoratedSDocAt reason loc important context extra = do { printer <- getPrintUnqualified ; unit_state <- hsc_units <$> getTopEnv ; + dflags <- getDynFlags ; let f = pprWithUnitState unit_state errDoc = [important, context, extra] errDoc' = DiagnosticMessage (mkDecorated $ map f errDoc) reason in - return $ mkMsgEnvelope (defaultReasonSeverity reason) loc printer errDoc' } + return $ mkMsgEnvelope dflags loc printer errDoc' } addLongErrAt :: SrcSpan -> SDoc -> SDoc -> TcRn () addLongErrAt loc msg extra = mkLongErrAt loc msg extra >>= reportDiagnostic @@ -1558,7 +1560,8 @@ add_diagnostic reason msg extra_info add_diagnostic_at :: DiagnosticReason -> SrcSpan -> SDoc -> SDoc -> TcRn () add_diagnostic_at reason loc msg extra_info = do { printer <- getPrintUnqualified ; - let { dia = mkLongMsgEnvelope reason + dflags <- getDynFlags ; + let { dia = mkLongMsgEnvelope dflags reason loc printer msg extra_info } ; reportDiagnostic dia } |