summaryrefslogtreecommitdiff
path: root/ddl/out/LambdaCube.TypeInfo.purs
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/out/LambdaCube.TypeInfo.purs')
-rw-r--r--ddl/out/LambdaCube.TypeInfo.purs46
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
4module LambdaCube.TypeInfo where 4module LambdaCube.TypeInfo where
5import Prelude 5import Prelude
@@ -18,12 +18,18 @@ import Data.Argonaut.Decode (DecodeJson, decodeJson)
18 18
19import LambdaCube.IR 19import LambdaCube.IR
20 20
21data TypeInfo 21data 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
30data 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
37instance encodeJsonTypeInfo :: EncodeJson TypeInfo where 43instance 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
48instance decodeJsonTypeInfo :: DecodeJson TypeInfo where 53instance 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
70instance 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
78instance 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