summaryrefslogtreecommitdiff
path: root/ddl/out/java/LambdaCube/TypeInfo/JSON.java
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/out/java/LambdaCube/TypeInfo/JSON.java')
-rw-r--r--ddl/out/java/LambdaCube/TypeInfo/JSON.java85
1 files changed, 85 insertions, 0 deletions
diff --git a/ddl/out/java/LambdaCube/TypeInfo/JSON.java b/ddl/out/java/LambdaCube/TypeInfo/JSON.java
new file mode 100644
index 0000000..410ce3f
--- /dev/null
+++ b/ddl/out/java/LambdaCube/TypeInfo/JSON.java
@@ -0,0 +1,85 @@
1// generated file, do not modify!
2// 2016-03-21T11:41:52.460562000000Z
3
4package LambdaCube.TypeInfo;
5
6import java.util.ArrayList;
7import java.util.HashMap;
8import org.json.*;
9import RT.*;
10
11import LambdaCube.IR.*;
12
13public class JSON {
14 // JSON deserializer
15 public enum Type {
16 Int,
17 String,
18 Array_Range,
19 Array_TypeInfo,
20 CompileResult,
21 Pipeline,
22 Range,
23 TypeInfo
24 }
25
26 public static Object fromJSON(Type type, Object rawObj) throws JSONException, Exception {
27 switch (type) {
28 case Int: return (Integer)rawObj;
29 case String: return (String)rawObj;
30// case Array_Range: return ((JArray)obj).Select(x => fromJSON (Type.Range, x)).ToList();
31// case Array_TypeInfo: return ((JArray)obj).Select(x => fromJSON (Type.TypeInfo, x)).ToList();
32
33 case Range: {
34 JSONObject obj = (JSONObject)rawObj;
35 String tag = obj.getString("tag");
36 switch (tag) {
37 case "Range": {
38 Range.Range_ tv = new Range().new Range_();
39 tv.startLine = (Integer)fromJSON(Type.Int,obj.get("startLine"));
40 tv.startColumn = (Integer)fromJSON(Type.Int,obj.get("startColumn"));
41 tv.endLine = (Integer)fromJSON(Type.Int,obj.get("endLine"));
42 tv.endColumn = (Integer)fromJSON(Type.Int,obj.get("endColumn"));
43 return tv;
44 }
45 default: throw new Exception("unknown constructor: " + tag);
46 }
47 }
48 case TypeInfo: {
49 JSONObject obj = (JSONObject)rawObj;
50 String tag = obj.getString("tag");
51 switch (tag) {
52 case "TypeInfo": {
53 TypeInfo.TypeInfo_ tv = new TypeInfo().new TypeInfo_();
54 tv.range = (Range)fromJSON(Type.Range,obj.get("range"));
55 tv.text = (String)fromJSON(Type.String,obj.get("text"));
56 return tv;
57 }
58 default: throw new Exception("unknown constructor: " + tag);
59 }
60 }
61 case CompileResult: {
62 JSONObject obj = (JSONObject)rawObj;
63 String tag = obj.getString("tag");
64 switch (tag) {
65 case "CompileError": {
66 CompileResult.CompileError_ tv = new CompileResult().new CompileError_();
67 tv._0 = (ArrayList<Range>)fromJSON(Type.Array_Range,obj.get("arg0"));
68 tv._1 = (String)fromJSON(Type.String,obj.get("arg1"));
69 tv._2 = (ArrayList<TypeInfo>)fromJSON(Type.Array_TypeInfo,obj.get("arg2"));
70 return tv;
71 }
72 case "Compiled": {
73 CompileResult.Compiled_ tv = new CompileResult().new Compiled_();
74 tv._0 = (String)fromJSON(Type.String,obj.get("arg0"));
75 tv._1 = (Pipeline)fromJSON(Type.Pipeline,obj.get("arg1"));
76 tv._2 = (ArrayList<TypeInfo>)fromJSON(Type.Array_TypeInfo,obj.get("arg2"));
77 return tv;
78 }
79 default: throw new Exception("unknown constructor: " + tag);
80 }
81 }
82 }
83 throw new Exception("unknown type");
84 }
85} \ No newline at end of file