diff options
Diffstat (limited to 'ddl/out/LambdaCube.TypeInfo.purs')
-rw-r--r-- | ddl/out/LambdaCube.TypeInfo.purs | 46 |
1 files changed, 35 insertions, 11 deletions
diff --git a/ddl/out/LambdaCube.TypeInfo.purs b/ddl/out/LambdaCube.TypeInfo.purs index 3252a7f..8641df1 100644 --- a/ddl/out/LambdaCube.TypeInfo.purs +++ b/ddl/out/LambdaCube.TypeInfo.purs | |||
@@ -1,5 +1,5 @@ | |||
1 | -- generated file, do not modify! | 1 | -- generated file, do not modify! |
2 | -- 2016-02-26T10:42:57.376331000000Z | 2 | -- 2016-02-26T11:29:11.823283000000Z |
3 | 3 | ||
4 | module LambdaCube.TypeInfo where | 4 | module LambdaCube.TypeInfo where |
5 | import Prelude | 5 | import Prelude |
@@ -18,12 +18,18 @@ import Data.Argonaut.Decode (DecodeJson, decodeJson) | |||
18 | 18 | ||
19 | import LambdaCube.IR | 19 | import LambdaCube.IR |
20 | 20 | ||
21 | data TypeInfo | 21 | data Range |
22 | = TypeInfo | 22 | = Range |
23 | { startLine :: Int | 23 | { startLine :: Int |
24 | , startColumn :: Int | 24 | , startColumn :: Int |
25 | , endLine :: Int | 25 | , endLine :: Int |
26 | , endColumn :: Int | 26 | , endColumn :: Int |
27 | } | ||
28 | |||
29 | |||
30 | data TypeInfo | ||
31 | = TypeInfo | ||
32 | { range :: Range | ||
27 | , text :: String | 33 | , text :: String |
28 | } | 34 | } |
29 | 35 | ||
@@ -34,33 +40,51 @@ data CompileResult | |||
34 | 40 | ||
35 | 41 | ||
36 | 42 | ||
37 | instance encodeJsonTypeInfo :: EncodeJson TypeInfo where | 43 | instance encodeJsonRange :: EncodeJson Range where |
38 | encodeJson v = case v of | 44 | encodeJson v = case v of |
39 | TypeInfo r -> | 45 | Range r -> |
40 | "tag" := "TypeInfo" ~> | 46 | "tag" := "Range" ~> |
41 | "startLine" := r.startLine ~> | 47 | "startLine" := r.startLine ~> |
42 | "startColumn" := r.startColumn ~> | 48 | "startColumn" := r.startColumn ~> |
43 | "endLine" := r.endLine ~> | 49 | "endLine" := r.endLine ~> |
44 | "endColumn" := r.endColumn ~> | 50 | "endColumn" := r.endColumn ~> |
45 | "text" := r.text ~> | ||
46 | jsonEmptyObject | 51 | jsonEmptyObject |
47 | 52 | ||
48 | instance decodeJsonTypeInfo :: DecodeJson TypeInfo where | 53 | instance decodeJsonRange :: DecodeJson Range where |
49 | decodeJson json = do | 54 | decodeJson json = do |
50 | obj <- decodeJson json | 55 | obj <- decodeJson json |
51 | tag <- obj .? "tag" | 56 | tag <- obj .? "tag" |
52 | case tag of | 57 | case tag of |
53 | "TypeInfo" -> do | 58 | "Range" -> do |
54 | startLine <- obj .? "startLine" | 59 | startLine <- obj .? "startLine" |
55 | startColumn <- obj .? "startColumn" | 60 | startColumn <- obj .? "startColumn" |
56 | endLine <- obj .? "endLine" | 61 | endLine <- obj .? "endLine" |
57 | endColumn <- obj .? "endColumn" | 62 | endColumn <- obj .? "endColumn" |
58 | text <- obj .? "text" | 63 | pure $ Range |
59 | pure $ TypeInfo | ||
60 | { startLine:startLine | 64 | { startLine:startLine |
61 | , startColumn:startColumn | 65 | , startColumn:startColumn |
62 | , endLine:endLine | 66 | , endLine:endLine |
63 | , endColumn:endColumn | 67 | , endColumn:endColumn |
68 | } | ||
69 | |||
70 | instance encodeJsonTypeInfo :: EncodeJson TypeInfo where | ||
71 | encodeJson v = case v of | ||
72 | TypeInfo r -> | ||
73 | "tag" := "TypeInfo" ~> | ||
74 | "range" := r.range ~> | ||
75 | "text" := r.text ~> | ||
76 | jsonEmptyObject | ||
77 | |||
78 | instance decodeJsonTypeInfo :: DecodeJson TypeInfo where | ||
79 | decodeJson json = do | ||
80 | obj <- decodeJson json | ||
81 | tag <- obj .? "tag" | ||
82 | case tag of | ||
83 | "TypeInfo" -> do | ||
84 | range <- obj .? "range" | ||
85 | text <- obj .? "text" | ||
86 | pure $ TypeInfo | ||
87 | { range:range | ||
64 | , text:text | 88 | , text:text |
65 | } | 89 | } |
66 | 90 | ||