diff options
author | Csaba Hruska <csaba.hruska@gmail.com> | 2016-11-10 16:11:29 +0100 |
---|---|---|
committer | Csaba Hruska <csaba.hruska@gmail.com> | 2016-11-10 16:39:42 +0100 |
commit | 246cc8b8ef6ae0d486fc82c3b28502c21af738bf (patch) | |
tree | b83cbb02db3298b5fd7492edc405664ec81370b2 /ddl/out/LambdaCube.TypeInfo.hs | |
parent | f4af737a0d4a1fd3b3c6babc2c119129df34f77d (diff) |
update type info to include warnings
Diffstat (limited to 'ddl/out/LambdaCube.TypeInfo.hs')
-rw-r--r-- | ddl/out/LambdaCube.TypeInfo.hs | 68 |
1 files changed, 63 insertions, 5 deletions
diff --git a/ddl/out/LambdaCube.TypeInfo.hs b/ddl/out/LambdaCube.TypeInfo.hs index 03346b6..9632fff 100644 --- a/ddl/out/LambdaCube.TypeInfo.hs +++ b/ddl/out/LambdaCube.TypeInfo.hs | |||
@@ -1,5 +1,5 @@ | |||
1 | -- generated file, do not modify! | 1 | -- generated file, do not modify! |
2 | -- 2016-09-15T19:44:48.120020034Z | 2 | -- 2016-11-10T15:07:11.972496000000Z |
3 | 3 | ||
4 | {-# LANGUAGE OverloadedStrings, RecordWildCards #-} | 4 | {-# LANGUAGE OverloadedStrings, RecordWildCards #-} |
5 | module LambdaCube.TypeInfo where | 5 | module LambdaCube.TypeInfo where |
@@ -35,9 +35,25 @@ data TypeInfo | |||
35 | 35 | ||
36 | deriving (Show, Eq, Ord) | 36 | deriving (Show, Eq, Ord) |
37 | 37 | ||
38 | data WarningInfo | ||
39 | = WarningInfo | ||
40 | { wRange :: Range | ||
41 | , wText :: String | ||
42 | } | ||
43 | |||
44 | deriving (Show, Eq, Ord) | ||
45 | |||
46 | data ErrorInfo | ||
47 | = ErrorInfo | ||
48 | { eRange :: Range | ||
49 | , eText :: String | ||
50 | } | ||
51 | |||
52 | deriving (Show, Eq, Ord) | ||
53 | |||
38 | data CompileResult | 54 | data CompileResult |
39 | = CompileError (Vector Range) String (Vector TypeInfo) | 55 | = CompileError (Vector TypeInfo) (Vector WarningInfo) (Vector ErrorInfo) |
40 | | Compiled String String Pipeline (Vector TypeInfo) | 56 | | Compiled String String Pipeline (Vector TypeInfo) (Vector WarningInfo) |
41 | deriving (Show, Eq, Ord) | 57 | deriving (Show, Eq, Ord) |
42 | 58 | ||
43 | 59 | ||
@@ -89,16 +105,58 @@ instance FromJSON TypeInfo where | |||
89 | } | 105 | } |
90 | parseJSON _ = mzero | 106 | parseJSON _ = mzero |
91 | 107 | ||
108 | instance ToJSON WarningInfo where | ||
109 | toJSON v = case v of | ||
110 | WarningInfo{..} -> object | ||
111 | [ "tag" .= ("WarningInfo" :: Text) | ||
112 | , "wRange" .= wRange | ||
113 | , "wText" .= wText | ||
114 | ] | ||
115 | |||
116 | instance FromJSON WarningInfo where | ||
117 | parseJSON (Object obj) = do | ||
118 | tag <- obj .: "tag" | ||
119 | case tag :: Text of | ||
120 | "WarningInfo" -> do | ||
121 | wRange <- obj .: "wRange" | ||
122 | wText <- obj .: "wText" | ||
123 | pure $ WarningInfo | ||
124 | { wRange = wRange | ||
125 | , wText = wText | ||
126 | } | ||
127 | parseJSON _ = mzero | ||
128 | |||
129 | instance ToJSON ErrorInfo where | ||
130 | toJSON v = case v of | ||
131 | ErrorInfo{..} -> object | ||
132 | [ "tag" .= ("ErrorInfo" :: Text) | ||
133 | , "eRange" .= eRange | ||
134 | , "eText" .= eText | ||
135 | ] | ||
136 | |||
137 | instance FromJSON ErrorInfo where | ||
138 | parseJSON (Object obj) = do | ||
139 | tag <- obj .: "tag" | ||
140 | case tag :: Text of | ||
141 | "ErrorInfo" -> do | ||
142 | eRange <- obj .: "eRange" | ||
143 | eText <- obj .: "eText" | ||
144 | pure $ ErrorInfo | ||
145 | { eRange = eRange | ||
146 | , eText = eText | ||
147 | } | ||
148 | parseJSON _ = mzero | ||
149 | |||
92 | instance ToJSON CompileResult where | 150 | instance ToJSON CompileResult where |
93 | toJSON v = case v of | 151 | toJSON v = case v of |
94 | CompileError arg0 arg1 arg2 -> object [ "tag" .= ("CompileError" :: Text), "arg0" .= arg0, "arg1" .= arg1, "arg2" .= arg2] | 152 | CompileError arg0 arg1 arg2 -> object [ "tag" .= ("CompileError" :: Text), "arg0" .= arg0, "arg1" .= arg1, "arg2" .= arg2] |
95 | Compiled arg0 arg1 arg2 arg3 -> object [ "tag" .= ("Compiled" :: Text), "arg0" .= arg0, "arg1" .= arg1, "arg2" .= arg2, "arg3" .= arg3] | 153 | Compiled arg0 arg1 arg2 arg3 arg4 -> object [ "tag" .= ("Compiled" :: Text), "arg0" .= arg0, "arg1" .= arg1, "arg2" .= arg2, "arg3" .= arg3, "arg4" .= arg4] |
96 | 154 | ||
97 | instance FromJSON CompileResult where | 155 | instance FromJSON CompileResult where |
98 | parseJSON (Object obj) = do | 156 | parseJSON (Object obj) = do |
99 | tag <- obj .: "tag" | 157 | tag <- obj .: "tag" |
100 | case tag :: Text of | 158 | case tag :: Text of |
101 | "CompileError" -> CompileError <$> obj .: "arg0" <*> obj .: "arg1" <*> obj .: "arg2" | 159 | "CompileError" -> CompileError <$> obj .: "arg0" <*> obj .: "arg1" <*> obj .: "arg2" |
102 | "Compiled" -> Compiled <$> obj .: "arg0" <*> obj .: "arg1" <*> obj .: "arg2" <*> obj .: "arg3" | 160 | "Compiled" -> Compiled <$> obj .: "arg0" <*> obj .: "arg1" <*> obj .: "arg2" <*> obj .: "arg3" <*> obj .: "arg4" |
103 | parseJSON _ = mzero | 161 | parseJSON _ = mzero |
104 | 162 | ||