@@ -4,13 +4,11 @@ module Reporting.Error where
5import Data.Aeson ((.=))
5import Data.Aeson ((.=))
6import qualified Data.Aeson as Json
6import qualified Data.Aeson as Json
7−import qualified Data.Aeson.Types as Json
9import qualified Reporting.Annotation as A
8import qualified Reporting.Annotation as A
10import qualified Reporting.Error.Canonicalize as Canonicalize
9import qualified Reporting.Error.Canonicalize as Canonicalize
11import qualified Reporting.Error.Syntax as Syntax
10import qualified Reporting.Error.Syntax as Syntax
12import qualified Reporting.Error.Type as Type
11import qualified Reporting.Error.Type as Type
13−import qualified Reporting.Region as Region
14import qualified Reporting.Report as Report
12import qualified Reporting.Report as Report
@@ -43,13 +41,13 @@ toString location source (A.A region err) =
46−toJson :: String -> A.Located Error -> Json.Value
44+toJson :: FilePath -> A.Located Error -> Json.Value
47−toJson location (A.A region err) =
45+toJson filePath (A.A region err) =
49 (maybeRegion, additionalFields) =
47 (maybeRegion, additionalFields) =
50 case err of
48 case err of
51 Syntax syntaxError ->
49 Syntax syntaxError ->
52− reportToJson [] (Syntax.toReport syntaxError)
50+ Report.toJson [] (Syntax.toReport syntaxError)
54 Canonicalize canonicalizeError ->
52 Canonicalize canonicalizeError ->
@@ -58,29 +56,14 @@ toJson location (A.A region err) =
58 (\s -> ["suggestions" .= s])
56 (\s -> ["suggestions" .= s])
59 (Canonicalize.extractSuggestions canonicalizeError)
57 (Canonicalize.extractSuggestions canonicalizeError)
61− reportToJson suggestions (Canonicalize.toReport canonicalizeError)
59+ Report.toJson suggestions (Canonicalize.toReport canonicalizeError)
63 Type typeError ->
61 Type typeError ->
64− reportToJson [] (Type.toReport typeError)
62+ Report.toJson [] (Type.toReport typeError)
66 Json.object $
64 Json.object $
67− [ "file" .= location
65+ [ "file" .= filePath
68 , "region" .= maybe region id maybeRegion
66 , "region" .= maybe region id maybeRegion
69 , "type" .= ("error" :: String)
67 , "type" .= ("error" :: String)
71 ++ additionalFields
69 ++ additionalFields
77− -> (Maybe Region.Region, [Json.Pair])
78−reportToJson extraFields (Report.Report title subregion pre post) =
86− (subregion, fields ++ extraFields)