summaryrefslogtreecommitdiff
path: root/ddl/out/LambdaCube.TypeInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/out/LambdaCube.TypeInfo.cpp')
-rw-r--r--ddl/out/LambdaCube.TypeInfo.cpp47
1 files changed, 38 insertions, 9 deletions
diff --git a/ddl/out/LambdaCube.TypeInfo.cpp b/ddl/out/LambdaCube.TypeInfo.cpp
index 643afda..a965e4f 100644
--- a/ddl/out/LambdaCube.TypeInfo.cpp
+++ b/ddl/out/LambdaCube.TypeInfo.cpp
@@ -1,18 +1,50 @@
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#include "LambdaCube.TypeInfo.hpp" 4#include "LambdaCube.TypeInfo.hpp"
5template<> json toJSON<std::shared_ptr<TypeInfo>>(std::shared_ptr<TypeInfo> &v) { 5template<> json toJSON<std::shared_ptr<Range>>(std::shared_ptr<Range> &v) {
6 json obj({}); 6 json obj({});
7 switch (v->tag) { 7 switch (v->tag) {
8 case ::TypeInfo::tag::TypeInfo: 8 case ::Range::tag::Range:
9 obj["tag"] = "TypeInfo"; 9 obj["tag"] = "Range";
10 { 10 {
11 std::shared_ptr<data::TypeInfo> tv = std::static_pointer_cast<data::TypeInfo>(v); 11 std::shared_ptr<data::Range> tv = std::static_pointer_cast<data::Range>(v);
12 obj["startLine"] = toJSON(tv->startLine); 12 obj["startLine"] = toJSON(tv->startLine);
13 obj["startColumn"] = toJSON(tv->startColumn); 13 obj["startColumn"] = toJSON(tv->startColumn);
14 obj["endLine"] = toJSON(tv->endLine); 14 obj["endLine"] = toJSON(tv->endLine);
15 obj["endColumn"] = toJSON(tv->endColumn); 15 obj["endColumn"] = toJSON(tv->endColumn);
16 }
17 break;
18 }
19 return obj;
20}
21
22template<> std::shared_ptr<Range> fromJSON<std::shared_ptr<Range>>(W<std::shared_ptr<Range>> v, json &obj) {
23 enum ::Range::tag tagType;
24 std::string tag = obj["tag"];
25 if (tag == "Range") {
26 tagType = ::Range::tag::Range;
27 std::shared_ptr<data::Range> tv(new data::Range());
28 tv->startLine = fromJSON(W<Int>(), obj["startLine"]);
29 tv->startColumn = fromJSON(W<Int>(), obj["startColumn"]);
30 tv->endLine = fromJSON(W<Int>(), obj["endLine"]);
31 tv->endColumn = fromJSON(W<Int>(), obj["endColumn"]);
32 return tv;
33 }
34 else throw "unknown constructor: " + tag;
35 std::shared_ptr<::Range> o(new ::Range());
36 o->tag = tagType;
37 return o;
38}
39
40template<> json toJSON<std::shared_ptr<TypeInfo>>(std::shared_ptr<TypeInfo> &v) {
41 json obj({});
42 switch (v->tag) {
43 case ::TypeInfo::tag::TypeInfo:
44 obj["tag"] = "TypeInfo";
45 {
46 std::shared_ptr<data::TypeInfo> tv = std::static_pointer_cast<data::TypeInfo>(v);
47 obj["range"] = toJSON(tv->range);
16 obj["text"] = toJSON(tv->text); 48 obj["text"] = toJSON(tv->text);
17 } 49 }
18 break; 50 break;
@@ -26,10 +58,7 @@ template<> std::shared_ptr<TypeInfo> fromJSON<std::shared_ptr<TypeInfo>>(W<std::
26 if (tag == "TypeInfo") { 58 if (tag == "TypeInfo") {
27 tagType = ::TypeInfo::tag::TypeInfo; 59 tagType = ::TypeInfo::tag::TypeInfo;
28 std::shared_ptr<data::TypeInfo> tv(new data::TypeInfo()); 60 std::shared_ptr<data::TypeInfo> tv(new data::TypeInfo());
29 tv->startLine = fromJSON(W<Int>(), obj["startLine"]); 61 tv->range = fromJSON(W<std::shared_ptr<::Range>>(), obj["range"]);
30 tv->startColumn = fromJSON(W<Int>(), obj["startColumn"]);
31 tv->endLine = fromJSON(W<Int>(), obj["endLine"]);
32 tv->endColumn = fromJSON(W<Int>(), obj["endColumn"]);
33 tv->text = fromJSON(W<String>(), obj["text"]); 62 tv->text = fromJSON(W<String>(), obj["text"]);
34 return tv; 63 return tv;
35 } 64 }