diff options
| author | levlam <levlam@telegram.org> | 2021-11-01 20:48:06 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2021-11-01 20:48:06 +0300 |
| commit | 4533f79338ef53dd120a78af12ee01ab994a774b (patch) | |
| tree | 61f78b83944a9e528659c94b21f7127e753f6626 /tdtl/td | |
| parent | 0522ba178a3b0bef456ffc2d1549b810a0086513 (diff) | |
Don't generate MASK for parsed object/vector fields.
Diffstat (limited to 'tdtl/td')
| -rw-r--r-- | tdtl/td/tl/tl_generate.cpp | 4 | ||||
| -rw-r--r-- | tdtl/td/tl/tl_writer.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/tdtl/td/tl/tl_generate.cpp b/tdtl/td/tl/tl_generate.cpp index 1747bc5f0..6fe1cedae 100644 --- a/tdtl/td/tl/tl_generate.cpp +++ b/tdtl/td/tl/tl_generate.cpp @@ -248,7 +248,7 @@ static void write_function(tl_outputer &out, const tl_combinator *t, const std:: out.append(w.gen_class_begin(class_name, w.gen_base_function_class_name(), false)); int required_args = gen_field_definitions(out, t, class_name, w); - out.append(w.gen_flags_definitions(t)); + out.append(w.gen_flags_definitions(t, true)); std::vector<var_description> vars(t->var_count); out.append(w.gen_function_vars(t, vars)); @@ -304,7 +304,6 @@ static void write_constructor(tl_outputer &out, const tl_combinator *t, const st out.append(w.gen_class_begin(class_name, base_class, is_proxy)); int required_args = gen_field_definitions(out, t, class_name, w); - out.append(w.gen_flags_definitions(t)); bool can_be_parsed = false; bool is_can_be_parsed_inited = false; @@ -334,6 +333,7 @@ static void write_constructor(tl_outputer &out, const tl_combinator *t, const st can_be_stored = true; } + out.append(w.gen_flags_definitions(t, can_be_stored)); if (w.is_default_constructor_generated(t, can_be_parsed, can_be_stored)) { write_class_constructor(out, t, class_name, true, w); } diff --git a/tdtl/td/tl/tl_writer.h b/tdtl/td/tl/tl_writer.h index 06dd9640f..f8724851f 100644 --- a/tdtl/td/tl/tl_writer.h +++ b/tdtl/td/tl/tl_writer.h @@ -96,7 +96,7 @@ class TL_writer { virtual std::string gen_field_definition(const std::string &class_name, const std::string &type_name, const std::string &field_name) const = 0; - virtual std::string gen_flags_definitions(const tl_combinator *t) const { + virtual std::string gen_flags_definitions(const tl_combinator *t, bool can_be_stored) const { return ""; } |
