aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2018-01-09 18:56:58 +0300
committerlevlam <levlam@telegram.org>2018-01-09 18:56:58 +0300
commit8c45a032442d80e42981bd943e20eeeab2ea774f (patch)
tree455375389f0fa9b7ce658d58250d511662a6d12e
parented54c461aea7b0aaeced06d43f7c7a030b45b43f (diff)
tdtl: pass class_name to constructor generators.
GitOrigin-RevId: 217c0cbd9eb99777f8970879d9b3da42cd6c8a02
-rw-r--r--td/generate/tl_writer_c.h6
-rw-r--r--td/generate/tl_writer_cpp.cpp3
-rw-r--r--td/generate/tl_writer_cpp.h3
-rw-r--r--td/generate/tl_writer_h.cpp3
-rw-r--r--td/generate/tl_writer_h.h3
-rw-r--r--td/generate/tl_writer_hpp.cpp6
-rw-r--r--td/generate/tl_writer_hpp.h6
-rw-r--r--td/generate/tl_writer_java.cpp6
-rw-r--r--td/generate/tl_writer_java.h6
-rw-r--r--td/generate/tl_writer_td.cpp3
-rw-r--r--td/generate/tl_writer_td.h3
-rw-r--r--tdtl/td/tl/tl_generate.cpp6
-rw-r--r--tdtl/td/tl/tl_writer.h6
13 files changed, 39 insertions, 21 deletions
diff --git a/td/generate/tl_writer_c.h b/td/generate/tl_writer_c.h
index 2e1ff4a7d..9402bae72 100644
--- a/td/generate/tl_writer_c.h
+++ b/td/generate/tl_writer_c.h
@@ -346,7 +346,8 @@ class TlWriterCCommon : public tl::TL_writer {
(fields_num ? "" : "void");
return ss.str();
}
- std::string gen_constructor_parameter(int field_num, const tl::arg &a, bool is_default) const override {
+ std::string gen_constructor_parameter(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const override {
if (!is_default || is_header_ == -1) {
return "";
}
@@ -356,7 +357,8 @@ class TlWriterCCommon : public tl::TL_writer {
ss << field_type << gen_field_name(a.name);
return ss.str();
}
- std::string gen_constructor_field_init(int field_num, const tl::arg &a, bool is_default) const override {
+ std::string gen_constructor_field_init(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const override {
return "";
}
std::string gen_constructor_end(const tl::tl_combinator *t, int fields_num, bool is_default) const override {
diff --git a/td/generate/tl_writer_cpp.cpp b/td/generate/tl_writer_cpp.cpp
index a9589c217..56a682c64 100644
--- a/td/generate/tl_writer_cpp.cpp
+++ b/td/generate/tl_writer_cpp.cpp
@@ -636,7 +636,8 @@ std::string TD_TL_writer_cpp::gen_constructor_begin(int fields_num, const std::s
return "\n" + class_name + "::" + class_name + "(";
}
-std::string TD_TL_writer_cpp::gen_constructor_field_init(int field_num, const tl::arg &a, bool is_default) const {
+std::string TD_TL_writer_cpp::gen_constructor_field_init(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const {
std::string field_type = gen_field_type(a);
if (field_type.empty()) {
return "";
diff --git a/td/generate/tl_writer_cpp.h b/td/generate/tl_writer_cpp.h
index 7d3d7ef32..eb64d18a8 100644
--- a/td/generate/tl_writer_cpp.h
+++ b/td/generate/tl_writer_cpp.h
@@ -97,7 +97,8 @@ class TD_TL_writer_cpp : public TD_TL_writer {
std::string gen_fetch_switch_end() const override;
std::string gen_constructor_begin(int fields_num, const std::string &class_name, bool is_default) const override;
- std::string gen_constructor_field_init(int field_num, const tl::arg &a, bool is_default) const override;
+ std::string gen_constructor_field_init(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const override;
std::string gen_constructor_end(const tl::tl_combinator *t, int fields_num, bool is_default) const override;
};
diff --git a/td/generate/tl_writer_h.cpp b/td/generate/tl_writer_h.cpp
index 4d83022b3..49eaf4982 100644
--- a/td/generate/tl_writer_h.cpp
+++ b/td/generate/tl_writer_h.cpp
@@ -338,7 +338,8 @@ std::string TD_TL_writer_h::gen_constructor_begin(int fields_num, const std::str
std::string(fields_num == 1 ? "explicit " : "") + class_name + "(";
}
-std::string TD_TL_writer_h::gen_constructor_field_init(int field_num, const tl::arg &a, bool is_default) const {
+std::string TD_TL_writer_h::gen_constructor_field_init(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const {
return "";
}
diff --git a/td/generate/tl_writer_h.h b/td/generate/tl_writer_h.h
index cad902504..e763ea47e 100644
--- a/td/generate/tl_writer_h.h
+++ b/td/generate/tl_writer_h.h
@@ -83,7 +83,8 @@ class TD_TL_writer_h : public TD_TL_writer {
std::string gen_fetch_switch_end() const override;
std::string gen_constructor_begin(int fields_num, const std::string &class_name, bool is_default) const override;
- std::string gen_constructor_field_init(int field_num, const tl::arg &a, bool is_default) const override;
+ std::string gen_constructor_field_init(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const override;
std::string gen_constructor_end(const tl::tl_combinator *t, int fields_num, bool is_default) const override;
};
diff --git a/td/generate/tl_writer_hpp.cpp b/td/generate/tl_writer_hpp.cpp
index d4f2af550..ed3aaa769 100644
--- a/td/generate/tl_writer_hpp.cpp
+++ b/td/generate/tl_writer_hpp.cpp
@@ -242,11 +242,13 @@ std::string TD_TL_writer_hpp::gen_constructor_begin(int fields_num, const std::s
return "";
}
-std::string TD_TL_writer_hpp::gen_constructor_parameter(int field_num, const tl::arg &a, bool is_default) const {
+std::string TD_TL_writer_hpp::gen_constructor_parameter(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const {
return "";
}
-std::string TD_TL_writer_hpp::gen_constructor_field_init(int field_num, const tl::arg &a, bool is_default) const {
+std::string TD_TL_writer_hpp::gen_constructor_field_init(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const {
return "";
}
diff --git a/td/generate/tl_writer_hpp.h b/td/generate/tl_writer_hpp.h
index 2370ba5fb..119fa87a5 100644
--- a/td/generate/tl_writer_hpp.h
+++ b/td/generate/tl_writer_hpp.h
@@ -84,8 +84,10 @@ class TD_TL_writer_hpp : public TD_TL_writer {
std::string gen_fetch_switch_end() const override;
std::string gen_constructor_begin(int fields_num, const std::string &class_name, bool is_default) const override;
- std::string gen_constructor_parameter(int field_num, const tl::arg &a, bool is_default) const override;
- std::string gen_constructor_field_init(int field_num, const tl::arg &a, bool is_default) const override;
+ std::string gen_constructor_parameter(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const override;
+ std::string gen_constructor_field_init(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const override;
std::string gen_constructor_end(const tl::tl_combinator *t, int fields_num, bool is_default) const override;
std::string gen_additional_function(const std::string &function_name, const tl::tl_combinator *t,
diff --git a/td/generate/tl_writer_java.cpp b/td/generate/tl_writer_java.cpp
index 2ab35fcc0..0a681ca8b 100644
--- a/td/generate/tl_writer_java.cpp
+++ b/td/generate/tl_writer_java.cpp
@@ -500,7 +500,8 @@ std::string TD_TL_writer_java::gen_constructor_begin(int fields_num, const std::
class_name + "(";
}
-std::string TD_TL_writer_java::gen_constructor_parameter(int field_num, const tl::arg &a, bool is_default) const {
+std::string TD_TL_writer_java::gen_constructor_parameter(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const {
if (is_default) {
return "";
}
@@ -517,7 +518,8 @@ std::string TD_TL_writer_java::gen_constructor_parameter(int field_num, const tl
return (field_num == 0 ? "" : ", ") + field_type + gen_field_name(a.name);
}
-std::string TD_TL_writer_java::gen_constructor_field_init(int field_num, const tl::arg &a, bool is_default) const {
+std::string TD_TL_writer_java::gen_constructor_field_init(int field_num, const std::string &class_name,
+ const tl::arg &a, bool is_default) const {
std::string field_type = gen_field_type(a);
if (field_type.empty()) {
return "";
diff --git a/td/generate/tl_writer_java.h b/td/generate/tl_writer_java.h
index 6dabf4c56..cb8a161f0 100644
--- a/td/generate/tl_writer_java.h
+++ b/td/generate/tl_writer_java.h
@@ -108,8 +108,10 @@ class TD_TL_writer_java : public tl::TL_writer {
std::string gen_fetch_switch_end() const override;
std::string gen_constructor_begin(int fields_num, const std::string &class_name, bool is_default) const override;
- std::string gen_constructor_parameter(int field_num, const tl::arg &a, bool is_default) const override;
- std::string gen_constructor_field_init(int field_num, const tl::arg &a, bool is_default) const override;
+ std::string gen_constructor_parameter(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const override;
+ std::string gen_constructor_field_init(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const override;
std::string gen_constructor_end(const tl::tl_combinator *t, int fields_num, bool is_default) const override;
};
diff --git a/td/generate/tl_writer_td.cpp b/td/generate/tl_writer_td.cpp
index f147ad4f9..fab140095 100644
--- a/td/generate/tl_writer_td.cpp
+++ b/td/generate/tl_writer_td.cpp
@@ -217,7 +217,8 @@ std::string TD_TL_writer::gen_int_const(const tl::tl_tree *tree_c, const std::ve
return std::string();
}
-std::string TD_TL_writer::gen_constructor_parameter(int field_num, const tl::arg &a, bool is_default) const {
+std::string TD_TL_writer::gen_constructor_parameter(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const {
if (is_default) {
return "";
}
diff --git a/td/generate/tl_writer_td.h b/td/generate/tl_writer_td.h
index c59689b20..b9f4d11b0 100644
--- a/td/generate/tl_writer_td.h
+++ b/td/generate/tl_writer_td.h
@@ -55,7 +55,8 @@ class TD_TL_writer : public tl::TL_writer {
std::string gen_int_const(const tl::tl_tree *tree_c, const std::vector<tl::var_description> &vars) const override;
- std::string gen_constructor_parameter(int field_num, const tl::arg &a, bool is_default) const override;
+ std::string gen_constructor_parameter(int field_num, const std::string &class_name, const tl::arg &a,
+ bool is_default) const override;
};
} // namespace td
diff --git a/tdtl/td/tl/tl_generate.cpp b/tdtl/td/tl/tl_generate.cpp
index b861dcb99..7d1e563cf 100644
--- a/tdtl/td/tl/tl_generate.cpp
+++ b/tdtl/td/tl/tl_generate.cpp
@@ -54,13 +54,13 @@ static void write_class_constructor(tl_outputer &out, const tl_combinator *t, co
// std::fprintf(stderr, "Gen constructor %s\n", class_name.c_str());
int fields_num = 0;
for (std::size_t i = 0; i < t->args.size(); i++) {
- fields_num += !w.gen_constructor_parameter(0, t->args[i], is_default).empty();
+ fields_num += !w.gen_constructor_parameter(0, class_name, t->args[i], is_default).empty();
}
out.append(w.gen_constructor_begin(fields_num, class_name, is_default));
int field_num = 0;
for (std::size_t i = 0; i < t->args.size(); i++) {
- std::string parameter_init = w.gen_constructor_parameter(field_num, t->args[i], is_default);
+ std::string parameter_init = w.gen_constructor_parameter(field_num, class_name, t->args[i], is_default);
if (parameter_init.size()) {
out.append(parameter_init);
field_num++;
@@ -70,7 +70,7 @@ static void write_class_constructor(tl_outputer &out, const tl_combinator *t, co
field_num = 0;
for (std::size_t i = 0; i < t->args.size(); i++) {
- std::string field_init = w.gen_constructor_field_init(field_num, t->args[i], is_default);
+ std::string field_init = w.gen_constructor_field_init(field_num, class_name, t->args[i], is_default);
if (field_init.size()) {
out.append(field_init);
field_num++;
diff --git a/tdtl/td/tl/tl_writer.h b/tdtl/td/tl/tl_writer.h
index 790ac9f47..3c3847516 100644
--- a/tdtl/td/tl/tl_writer.h
+++ b/tdtl/td/tl/tl_writer.h
@@ -139,8 +139,10 @@ class TL_writer {
virtual std::string gen_fetch_switch_end() const = 0;
virtual std::string gen_constructor_begin(int fields_num, const std::string &class_name, bool is_default) const = 0;
- virtual std::string gen_constructor_parameter(int field_num, const arg &a, bool is_default) const = 0;
- virtual std::string gen_constructor_field_init(int field_num, const arg &a, bool is_default) const = 0;
+ virtual std::string gen_constructor_parameter(int field_num, const std::string &class_name, const arg &a,
+ bool is_default) const = 0;
+ virtual std::string gen_constructor_field_init(int field_num, const std::string &class_name, const arg &a,
+ bool is_default) const = 0;
virtual std::string gen_constructor_end(const tl_combinator *t, int fields_num, bool is_default) const = 0;
virtual std::string gen_additional_function(const std::string &function_name, const tl_combinator *t,