THRIFT-2560 Thrift compiler generator tries to concat ints with strings using +
Client: Compiler
Patch: Jens Geyer
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 @@
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);
}
}
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 @@
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 @@
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);
}
}
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 @@
}
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 @@
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 @@
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 @@
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());
}
}
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 @@
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();
+ }
+
}
}
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 @@
}
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 @@
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 @@
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 @@
// 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 @@
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());
}
}
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 @@
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);
}
}
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 @@
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());
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 @@
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);
}
}