on cb359fa help sign in
57 lines 1.4 kB history raw
1{-# OPTIONS_GHC -Wall #-}
2{-# LANGUAGE OverloadedStrings #-}
3module Reporting.Error
4 ( Error(..)
5 , toReports
6 )
7 where
10import qualified Reporting.Error.Canonicalize as Canonicalize
11import qualified Reporting.Error.Docs as Docs
12import qualified Reporting.Error.Main as Main
13import qualified Reporting.Error.Pattern as Pattern
14import qualified Reporting.Error.Syntax as Syntax
15import qualified Reporting.Error.Type as Type
16import qualified Reporting.Render.Code as Code
17import qualified Reporting.Render.Type.Localizer as L
18import qualified Reporting.Report as Report
22-- ALL POSSIBLE ERRORS
25data Error
26 = Syntax Syntax.Error
27 | Canonicalize Canonicalize.Error
28 | Type L.Localizer [Type.Error]
29 | Main L.Localizer Main.Error
30 | Pattern [Pattern.Error]
31 | Docs Docs.Error
35-- TO REPORT
38toReports :: Code.Source -> Error -> [Report.Report]
39toReports source err =
40 case err of
41 Syntax syntaxError ->
42 [Syntax.toReport source syntaxError]
44 Canonicalize canonicalizeError ->
45 [Canonicalize.toReport source canonicalizeError]
47 Type localizer typeErrors ->
48 map (Type.toReport source localizer) typeErrors
50 Main localizer mainError ->
51 [Main.toReport localizer source mainError]
53 Pattern patternErrors ->
54 map (Pattern.toReport source) patternErrors
56 Docs docsError ->
57 [Docs.toReport source docsError]