ghc-lib-parser-9.2.6.20230211: The GHC API, decoupled from GHC versions
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.Types.Error

Synopsis

Messages

data Messages e Source #

A collection of messages emitted by GHC during error reporting. A diagnostic message is typically a warning or an error. See Note [Messages].

Instances

Instances details
Functor Messages Source # 
Instance details

Defined in GHC.Types.Error

Methods

fmap :: (a -> b) -> Messages a -> Messages b #

(<$) :: a -> Messages b -> Messages a #

unionMessages :: Messages e -> Messages e -> Messages e Source #

Joins two collections of messages together.

data MsgEnvelope e Source #

An envelope for GHC's facts about a running program, parameterised over the domain-specific (i.e. parsing, typecheck-renaming, etc) diagnostics.

To say things differently, GHC emits diagnostics about the running program, each of which is wrapped into a MsgEnvelope that carries specific information like where the error happened, its severity, etc. Finally, multiple MsgEnvelopes are aggregated into Messages that are returned to the user.

Constructors

MsgEnvelope 

Fields

Instances

Instances details
Functor MsgEnvelope Source # 
Instance details

Defined in GHC.Types.Error

Methods

fmap :: (a -> b) -> MsgEnvelope a -> MsgEnvelope b #

(<$) :: a -> MsgEnvelope b -> MsgEnvelope a #

Show (MsgEnvelope DecoratedSDoc) Source # 
Instance details

Defined in GHC.Types.Error

data SDoc Source #

Represents a pretty-printable document.

To display an SDoc, use printSDoc, printSDocLn, bufLeftRenderSDoc, or renderWithContext. Avoid calling runSDoc directly as it breaks the abstraction layer.

Instances

Instances details
IsString SDoc Source # 
Instance details

Defined in GHC.Utils.Outputable

Methods

fromString :: String -> SDoc #

Outputable SDoc Source # 
Instance details

Defined in GHC.Utils.Outputable

Methods

ppr :: SDoc -> SDoc Source #

OutputableP env SDoc Source # 
Instance details

Defined in GHC.Utils.Outputable

Methods

pdoc :: env -> SDoc -> SDoc Source #

data DecoratedSDoc Source #

A DecoratedSDoc is isomorphic to a '[SDoc]' but it carries the invariant that the input '[SDoc]' needs to be rendered decorated into its final form, where the typical case would be adding bullets between each elements of the list. The type of decoration depends on the formatting function used, but in practice GHC uses the formatBulleted.

data Severity Source #

Constructors

SevOutput 
SevFatal 
SevInteractive 
SevDump

Log message intended for compiler developers No file/line/column stuff

SevInfo

Log messages intended for end users. No file/line/column stuff.

SevWarning 
SevError

SevWarning and SevError are used for warnings and errors o The message has a file/line/column heading, plus "warning:" or "error:", added by mkLocMessags o Output is intended for end users

Instances

Instances details
Show Severity Source # 
Instance details

Defined in GHC.Types.Error

ToJson Severity Source # 
Instance details

Defined in GHC.Types.Error

Eq Severity Source # 
Instance details

Defined in GHC.Types.Error

class RenderableDiagnostic a where Source #

A class for types (typically errors and warnings) which can be "rendered" into an opaque DecoratedSDoc. For more information, see Note [Rendering Messages].

Instances

Instances details
RenderableDiagnostic DecoratedSDoc Source # 
Instance details

Defined in GHC.Types.Error

mkDecorated :: [SDoc] -> DecoratedSDoc Source #

Creates a new DecoratedSDoc out of a list of SDoc.

mkLocMessage :: Severity -> SrcSpan -> SDoc -> SDoc Source #

Make an unannotated error message with location info.

mkLocMessageAnn Source #

Arguments

:: Maybe String

optional annotation

-> Severity

severity

-> SrcSpan

location

-> SDoc

message

-> SDoc 

Make a possibly annotated error message with location info.

Constructing individual errors

mkMsgEnvelope :: SrcSpan -> PrintUnqualified -> SDoc -> MsgEnvelope DecoratedSDoc Source #

A short (one-line) error message

mkPlainMsgEnvelope :: SrcSpan -> SDoc -> MsgEnvelope DecoratedSDoc Source #

Variant that doesn't care about qualified/unqualified names

mkLongMsgEnvelope :: SrcSpan -> PrintUnqualified -> SDoc -> SDoc -> MsgEnvelope DecoratedSDoc Source #

A long (multi-line) error message

mkWarnMsg :: SrcSpan -> PrintUnqualified -> SDoc -> MsgEnvelope DecoratedSDoc Source #

A short (one-line) error message

mkPlainWarnMsg :: SrcSpan -> SDoc -> MsgEnvelope DecoratedSDoc Source #

Variant that doesn't care about qualified/unqualified names

mkLongWarnMsg :: SrcSpan -> PrintUnqualified -> SDoc -> SDoc -> MsgEnvelope DecoratedSDoc Source #

A long (multi-line) error message

Queries

partitionMessages :: Messages e -> (Bag (MsgEnvelope e), Bag (MsgEnvelope e)) Source #

Partitions the Messages and returns a tuple which first element are the warnings, and the second the errors.