@@ -1,99 +0,0 @@
1−{-# LANGUAGE OverloadedStrings #-}
3− ( Compile.Artifacts(..)
13−import qualified Data.ByteString as BS
14−import qualified Data.Map as Map
15−import qualified Data.Name as Name
16−import qualified Data.Utf8 as Utf8
18−import qualified Compile
19−import qualified Elm.Interface as I
20−import qualified Elm.ModuleName as ModuleName
21−import qualified Elm.Package as Pkg
22−import qualified Json.Encode as E
23−import Json.Encode ((==>))
24−import qualified Reporting.Annotation as A
25−import qualified Reporting.Doc as D
26−import qualified Reporting.Error as Error
27−import qualified Reporting.Render.Code as Code
28−import qualified Reporting.Report as Report
29−import qualified Reporting.Result as Result
30−import qualified Reporting.Warning as Warning
39− -> Map.Map ModuleName.Raw ModuleName.Canonical
42− -> ( [Warning.Warning], Either [Error.Error] Compile.Artifacts )
43−compile pkg importDict interfaces source =
44− Result.run $ Compile.compile pkg importDict interfaces source
51−errorsToDoc :: FilePath -> String -> [Error.Error] -> D.Doc
52−errorsToDoc filePath source errors =
55− concatMap (Error.toReports (Code.toSource source)) errors
57− D.vcat $ map (Report.toDoc filePath) reports
64−errorsToJson :: ModuleName.Raw -> FilePath -> String -> [Error.Error] -> E.Value
65−errorsToJson moduleName filePath source errors =
68− concatMap (Error.toReports (Code.toSource source)) errors
71− [ "path" ==> E.string (Utf8.fromChars filePath)
72− , "name" ==> E.string (Name.toUtf8 moduleName)
73− , "problems" ==> E.array (map reportToJson reports)
77−reportToJson :: Report.Report -> E.Value
78−reportToJson (Report.Report title region _sgstns message) =
80− [ "title" ==> E.string (Utf8.fromChars title)
81− , "region" ==> encodeRegion region
82− , "message" ==> D.encode message
86−encodeRegion :: A.Region -> E.Value
87−encodeRegion (A.Region (A.Position sr sc) (A.Position er ec)) =
91− [ ("line", E.int (fromIntegral sr))
92− , ("column", E.int (fromIntegral sc))
96− [ ("line", E.int (fromIntegral er))
97− , ("column", E.int (fromIntegral ec))