diff options
Diffstat (limited to 'ddl/out/LambdaCube.TypeInfo.cpp')
-rw-r--r-- | ddl/out/LambdaCube.TypeInfo.cpp | 47 |
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" |
5 | template<> json toJSON<std::shared_ptr<TypeInfo>>(std::shared_ptr<TypeInfo> &v) { | 5 | template<> 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 | |||
22 | template<> 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 | |||
40 | template<> 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 | } |