diff options
author | Christian Westberg <cwe@dixa.com> | 2022-12-22 09:39:48 +0100 |
---|---|---|
committer | Jens Geyer <Jens-G@users.noreply.github.com> | 2023-01-16 22:37:17 +0100 |
commit | f223bd3b54d04c21289d806c7f51b115757703e7 (patch) | |
tree | c7161d8e1dbc3be3434b0844cac96e3e749e1e32 /compiler | |
parent | b39370ec3bc96d201bbc82fbde136f98ae605ed1 (diff) | |
download | thrift-f223bd3b54d04c21289d806c7f51b115757703e7.tar.gz |
Improve enum support for json generator
Client: [json]
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/cpp/src/thrift/generate/t_json_generator.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/cpp/src/thrift/generate/t_json_generator.cc b/compiler/cpp/src/thrift/generate/t_json_generator.cc index b94e81c08..e91d65ad5 100644 --- a/compiler/cpp/src/thrift/generate/t_json_generator.cc +++ b/compiler/cpp/src/thrift/generate/t_json_generator.cc @@ -245,7 +245,7 @@ void t_json_generator::end_array() { void t_json_generator::write_type_spec_object(const char* name, t_type* ttype) { ttype = ttype->get_true_type(); - if (ttype->is_struct() || ttype->is_xception() || ttype->is_container()) { + if (ttype->is_struct() || ttype->is_xception() || ttype->is_container() || ttype->is_enum()) { write_key_and(name); start_object(NO_INDENT); write_key_and("typeId"); @@ -275,7 +275,7 @@ void t_json_generator::write_type_spec(t_type* ttype) { end_object(); } - if (ttype->is_struct() || ttype->is_xception()) { + if (ttype->is_struct() || ttype->is_xception() || ttype->is_enum()) { write_key_and_string("class", get_qualified_name(ttype)); } else if (ttype->is_map()) { t_type* ktype = ((t_map*)ttype)->get_key_type(); @@ -780,7 +780,7 @@ string t_json_generator::get_type_name(t_type* ttype) { return "map"; } if (ttype->is_enum()) { - return "i32"; + return "enum"; } if (ttype->is_struct()) { return ((t_struct*)ttype)->is_union() ? "union" : "struct"; |