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