Skip to content
  • 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
         `reportDiagnostic`.
    
    * 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
    c30af951