diff options
author | Jens Geyer <jensg@apache.org> | 2022-06-05 11:36:40 +0200 |
---|---|---|
committer | Jens Geyer <jensg@apache.org> | 2022-09-05 22:04:21 +0200 |
commit | 18564d29cf804e5ab6440c781c99889520656886 (patch) | |
tree | 9f0fb5ad2b97a7b967a91264b76bfb81a500cc0f /compiler | |
parent | 4a147ad9db5040b574fd62f7eb1a59e034b8c8ca (diff) | |
download | thrift-18564d29cf804e5ab6440c781c99889520656886.tar.gz |
THRIFT-5593 Implement uuid for Haxe
Client: hx
Patch: Jens Geyer
Relies on https://github.com/flashultra/uuid/issues/4 being fixed, thus may require using the most recent uuid package from Github instead of the Haxelib package.
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/cpp/src/thrift/generate/t_haxe_generator.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/compiler/cpp/src/thrift/generate/t_haxe_generator.cc b/compiler/cpp/src/thrift/generate/t_haxe_generator.cc index fdd21f2a3..8893742d4 100644 --- a/compiler/cpp/src/thrift/generate/t_haxe_generator.cc +++ b/compiler/cpp/src/thrift/generate/t_haxe_generator.cc @@ -544,6 +544,9 @@ void t_haxe_generator::render_const_value(std::ostream& out, case t_base_type::TYPE_STRING: out << '"' << get_escaped_string(value) << '"'; break; + case t_base_type::TYPE_UUID: + out << '"' << get_escaped_string(value) << '"'; + break; case t_base_type::TYPE_BOOL: out << ((value->get_integer() > 0) ? "true" : "false"); break; @@ -1443,6 +1446,9 @@ std::string t_haxe_generator::get_haxe_type_string(t_type* type) { case t_base_type::TYPE_STRING: return "TType.STRING"; break; + case t_base_type::TYPE_UUID: + return "TType.UUID"; + break; case t_base_type::TYPE_BOOL: return "TType.BOOL"; break; @@ -2222,6 +2228,9 @@ void t_haxe_generator::generate_deserialize_field(ostream& out, t_field* tfield, out << "readString();"; } break; + case t_base_type::TYPE_UUID: + out << "readUuid();"; + break; case t_base_type::TYPE_BOOL: out << "readBool();"; break; @@ -2406,6 +2415,9 @@ void t_haxe_generator::generate_serialize_field(ostream& out, t_field* tfield, s out << "writeString(" << name << ");"; } break; + case t_base_type::TYPE_UUID: + out << "writeUuid(" << name << ");"; + break; case t_base_type::TYPE_BOOL: out << "writeBool(" << name << ");"; break; @@ -2651,6 +2663,8 @@ string t_haxe_generator::base_type_name(t_base_type* type, bool in_container) { } else { return "String"; } + case t_base_type::TYPE_UUID: + return "String"; case t_base_type::TYPE_BOOL: return "Bool"; case t_base_type::TYPE_I8: @@ -2686,6 +2700,9 @@ string t_haxe_generator::declare_field(t_field* tfield, bool init) { case t_base_type::TYPE_STRING: result += " = null"; break; + case t_base_type::TYPE_UUID: + result += " = uuid.Uuid.NIL"; + break; case t_base_type::TYPE_BOOL: result += " = false"; break; @@ -2795,6 +2812,8 @@ string t_haxe_generator::type_to_enum(t_type* type) { throw "NO T_VOID CONSTRUCT"; case t_base_type::TYPE_STRING: return "TType.STRING"; + case t_base_type::TYPE_UUID: + return "TType.UUID"; case t_base_type::TYPE_BOOL: return "TType.BOOL"; case t_base_type::TYPE_I8: |