Repository: thrift Updated Branches: refs/heads/master 76150722a -> a3350b48e
THRIFT-2560 Thrift compiler generator tries to concat ints with strings using + Client: Compiler Patch: Jens Geyer Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/a3350b48 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/a3350b48 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/a3350b48 Branch: refs/heads/master Commit: a3350b48eade40903b4cb7986301fafa8297fb16 Parents: 7615072 Author: Jens Geyer <[email protected]> Authored: Fri May 30 18:37:24 2014 +0200 Committer: Jens Geyer <[email protected]> Committed: Sat May 31 22:32:18 2014 +0200 ---------------------------------------------------------------------- compiler/cpp/src/generate/t_as3_generator.cc | 2 +- compiler/cpp/src/generate/t_cocoa_generator.cc | 4 ++-- compiler/cpp/src/generate/t_csharp_generator.cc | 24 ++++---------------- compiler/cpp/src/generate/t_d_generator.cc | 7 +++++- compiler/cpp/src/generate/t_delphi_generator.cc | 10 ++++---- compiler/cpp/src/generate/t_javame_generator.cc | 2 +- compiler/cpp/src/generate/t_ocaml_generator.cc | 2 +- compiler/cpp/src/generate/t_xsd_generator.cc | 2 +- 8 files changed, 21 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/a3350b48/compiler/cpp/src/generate/t_as3_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_as3_generator.cc b/compiler/cpp/src/generate/t_as3_generator.cc index c673845..a965aab 100644 --- a/compiler/cpp/src/generate/t_as3_generator.cc +++ b/compiler/cpp/src/generate/t_as3_generator.cc @@ -2499,7 +2499,7 @@ string t_as3_generator::base_type_name(t_base_type* type, case t_base_type::TYPE_DOUBLE: return "Number"; default: - throw "compiler error: no C++ name for base type " + t_base_type::t_base_name(tbase); + throw "compiler error: no As3 name for base type " + t_base_type::t_base_name(tbase); } } http://git-wip-us.apache.org/repos/asf/thrift/blob/a3350b48/compiler/cpp/src/generate/t_cocoa_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_cocoa_generator.cc b/compiler/cpp/src/generate/t_cocoa_generator.cc index e498032..558d82e 100644 --- a/compiler/cpp/src/generate/t_cocoa_generator.cc +++ b/compiler/cpp/src/generate/t_cocoa_generator.cc @@ -2029,7 +2029,7 @@ void t_cocoa_generator::generate_serialize_field(ofstream& out, out << "writeDouble: " << fieldName << "];"; break; default: - throw "compiler error: no Java name for base type " + t_base_type::t_base_name(tbase); + throw "compiler error: no Objective-C name for base type " + t_base_type::t_base_name(tbase); } } else if (type->is_enum()) { out << "writeI32: " << fieldName << "];"; @@ -2271,7 +2271,7 @@ string t_cocoa_generator::base_type_name(t_base_type* type) { case t_base_type::TYPE_DOUBLE: return "double"; default: - throw "compiler error: no objective-c name for base type " + t_base_type::t_base_name(tbase); + throw "compiler error: no Objective-C name for base type " + t_base_type::t_base_name(tbase); } } http://git-wip-us.apache.org/repos/asf/thrift/blob/a3350b48/compiler/cpp/src/generate/t_csharp_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_csharp_generator.cc b/compiler/cpp/src/generate/t_csharp_generator.cc index 8e477e4..84e3674 100644 --- a/compiler/cpp/src/generate/t_csharp_generator.cc +++ b/compiler/cpp/src/generate/t_csharp_generator.cc @@ -464,11 +464,7 @@ std::string t_csharp_generator::render_const_value(ofstream& out, string name, t } break; default: - { - std::stringstream ss; - ss << "compiler error: no const of base type " << tbase; - throw ss.str(); - } + throw "compiler error: no const of base type " + t_base_type::t_base_name(tbase); } } else if (type->is_enum()) { render << type->get_name() << "." << value->get_identifier_name(); @@ -2038,11 +2034,7 @@ void t_csharp_generator::generate_deserialize_field(ofstream& out, t_field* tfie out << "ReadDouble();"; break; default: - { - std::stringstream ss; - ss << "compiler error: no C# name for base type " << tbase; - throw ss.str(); - } + throw "compiler error: no C# name for base type " + t_base_type::t_base_name(tbase); } } else if (type->is_enum()) { out << "ReadI32();"; @@ -2217,11 +2209,7 @@ void t_csharp_generator::generate_deserialize_list_element(ofstream& out, t_list out << "WriteDouble(" << nullable_name << ");"; break; default: - { - std::stringstream ss; - ss << "compiler error: no C# name for base type " << tbase; - throw ss.str(); - } + throw "compiler error: no C# name for base type " + t_base_type::t_base_name(tbase); } } else if (type->is_enum()) { out << "WriteI32((int)" << nullable_name << ");"; @@ -2465,11 +2453,7 @@ string t_csharp_generator::base_type_name(t_base_type* tbase, bool in_container, case t_base_type::TYPE_DOUBLE: return "double" + postfix; default: - { - std::stringstream ss; - ss << "compiler error: no C# name for base type " << tbase->get_base(); - throw ss.str(); - } + throw "compiler error: no C# name for base type " + t_base_type::t_base_name(tbase->get_base()); } } http://git-wip-us.apache.org/repos/asf/thrift/blob/a3350b48/compiler/cpp/src/generate/t_d_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_d_generator.cc b/compiler/cpp/src/generate/t_d_generator.cc index 58dbb9a..706506a 100644 --- a/compiler/cpp/src/generate/t_d_generator.cc +++ b/compiler/cpp/src/generate/t_d_generator.cc @@ -740,7 +740,12 @@ class t_d_generator : public t_oop_generator { case t_field::T_REQUIRED: return "TReq.REQUIRED"; default: - throw "Compiler error: Invalid requirement level: " + req; + { + std::stringstream ss; + ss << "Compiler error: Invalid requirement level " << req; + throw ss.str(); + } + } } http://git-wip-us.apache.org/repos/asf/thrift/blob/a3350b48/compiler/cpp/src/generate/t_delphi_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_delphi_generator.cc b/compiler/cpp/src/generate/t_delphi_generator.cc index 4ecc269..b877e86 100644 --- a/compiler/cpp/src/generate/t_delphi_generator.cc +++ b/compiler/cpp/src/generate/t_delphi_generator.cc @@ -1127,7 +1127,7 @@ string t_delphi_generator::render_const_value(ostream& vars, ostream& out, strin } break; default: - render << ""; + throw "compiler error: no const of base type " + t_base_type::t_base_name(tbase); } } else if (truetype->is_enum()) { render << type_name( type, false) << "." << value->get_identifier_name(); @@ -2232,7 +2232,7 @@ void t_delphi_generator::generate_deserialize_field(ostream& out, bool is_xcepti out << "ReadDouble();"; break; default: - throw "compiler error: no C# name for base type " + tbase; + throw "compiler error: no Delphi name for base type " + t_base_type::t_base_name(tbase); } } else if (type->is_enum()) { out << "ReadI32()"; @@ -2415,7 +2415,7 @@ void t_delphi_generator::generate_serialize_field(ostream& out, bool is_xception out << "WriteDouble(" << name << ");"; break; default: - throw "compiler error: no Delphi name for base type " + tbase; + throw "compiler error: no Delphi name for base type " + t_base_type::t_base_name(tbase); } } else if (type->is_enum()) { out << "WriteI32(Integer(" << name << "));"; @@ -2662,7 +2662,7 @@ string t_delphi_generator::input_arg_prefix( t_type* ttype) { // we better always report any unknown types default: - throw "compiler error: no input_arg_prefix() for base type " + (((t_base_type*)ttype)->get_base()); + throw "compiler error: no input_arg_prefix() for base type " + t_base_type::t_base_name(((t_base_type*)ttype)->get_base()); } // enums @@ -2713,7 +2713,7 @@ string t_delphi_generator::base_type_name(t_base_type* tbase) { case t_base_type::TYPE_DOUBLE: return "Double"; default: - throw "compiler error: no Delphi name for base type " + tbase->get_base(); + throw "compiler error: no Delphi name for base type " + t_base_type::t_base_name(tbase->get_base()); } } http://git-wip-us.apache.org/repos/asf/thrift/blob/a3350b48/compiler/cpp/src/generate/t_javame_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_javame_generator.cc b/compiler/cpp/src/generate/t_javame_generator.cc index a2a31a5..6d02979 100644 --- a/compiler/cpp/src/generate/t_javame_generator.cc +++ b/compiler/cpp/src/generate/t_javame_generator.cc @@ -2953,7 +2953,7 @@ string t_javame_generator::base_type_name(t_base_type* type, case t_base_type::TYPE_DOUBLE: return (in_container ? "Double" : "double"); default: - throw "compiler error: no C++ name for base type " + t_base_type::t_base_name(tbase); + throw "compiler error: no Java name for base type " + t_base_type::t_base_name(tbase); } } http://git-wip-us.apache.org/repos/asf/thrift/blob/a3350b48/compiler/cpp/src/generate/t_ocaml_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_ocaml_generator.cc b/compiler/cpp/src/generate/t_ocaml_generator.cc index 8ee870f..f3df4e3 100644 --- a/compiler/cpp/src/generate/t_ocaml_generator.cc +++ b/compiler/cpp/src/generate/t_ocaml_generator.cc @@ -1462,7 +1462,7 @@ void t_ocaml_generator::generate_deserialize_type(ofstream &out, out << "readDouble"; break; default: - throw "compiler error: no PHP name for base type " + t_base_type::t_base_name(tbase); + throw "compiler error: no ocaml name for base type " + t_base_type::t_base_name(tbase); } } else if (type->is_enum()) { string ename = capitalize(type->get_name()); http://git-wip-us.apache.org/repos/asf/thrift/blob/a3350b48/compiler/cpp/src/generate/t_xsd_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_xsd_generator.cc b/compiler/cpp/src/generate/t_xsd_generator.cc index ef00e51..7135f6a 100644 --- a/compiler/cpp/src/generate/t_xsd_generator.cc +++ b/compiler/cpp/src/generate/t_xsd_generator.cc @@ -359,7 +359,7 @@ string t_xsd_generator::base_type_name(t_base_type::t_base tbase) { case t_base_type::TYPE_DOUBLE: return "decimal"; default: - throw "compiler error: no C++ base type name for base type " + t_base_type::t_base_name(tbase); + throw "compiler error: no XSD base type name for base type " + t_base_type::t_base_name(tbase); } }
