• Alfredo Di Napoli's avatar
    Add `MessageClass`, rework `Severity` and add `DiagnosticReason`. · c30af951
    Alfredo Di Napoli authored
    Other than that:
    * Fix T16167,json,json2,T7478,T10637 tests to reflect the introduction of
      the `MessageClass` type
    * Remove `makeIntoWarning`
    * Remove `warningsToMessages`
    * Refactor GHC.Tc.Errors
      1. Refactors GHC.Tc.Errors so that we use `DiagnosticReason` for "choices"
         (defer types errors, holes, etc);
      2. We get rid of `reportWarning` and `reportError` in favour of a general
    * Introduce `DiagnosticReason`, `Severity` is an enum: This big commit makes
      `Severity` a simple enumeration, and introduces the concept of `DiagnosticReason`,
      which classifies the /reason/ why we are emitting a particular diagnostic.
      It also adds a monomorphic `DiagnosticMessage` type which is used for
      generic messages.
    * The `Severity` is computed (for now) from the reason, statically.
      Later improvement will add a `diagReasonSeverity` function to compute
      the `Severity` taking `DynFlags` into account.
    * Rename `logWarnings` into `logDiagnostics`
    * Add note and expand description of the `mkHoleError` function
Code owners : Ben Gamari
Main.hs 35.5 KB