summaryrefslogtreecommitdiff
path: root/ddl/out/LambdaCube.TypeInfo.hs
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/out/LambdaCube.TypeInfo.hs')
-rw-r--r--ddl/out/LambdaCube.TypeInfo.hs68
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 #-}
5module LambdaCube.TypeInfo where 5module LambdaCube.TypeInfo where
@@ -35,9 +35,25 @@ data TypeInfo
35 35
36 deriving (Show, Eq, Ord) 36 deriving (Show, Eq, Ord)
37 37
38data WarningInfo
39 = WarningInfo
40 { wRange :: Range
41 , wText :: String
42 }
43
44 deriving (Show, Eq, Ord)
45
46data ErrorInfo
47 = ErrorInfo
48 { eRange :: Range
49 , eText :: String
50 }
51
52 deriving (Show, Eq, Ord)
53
38data CompileResult 54data 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
108instance ToJSON WarningInfo where
109 toJSON v = case v of
110 WarningInfo{..} -> object
111 [ "tag" .= ("WarningInfo" :: Text)
112 , "wRange" .= wRange
113 , "wText" .= wText
114 ]
115
116instance 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
129instance ToJSON ErrorInfo where
130 toJSON v = case v of
131 ErrorInfo{..} -> object
132 [ "tag" .= ("ErrorInfo" :: Text)
133 , "eRange" .= eRange
134 , "eText" .= eText
135 ]
136
137instance 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
92instance ToJSON CompileResult where 150instance 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
97instance FromJSON CompileResult where 155instance 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