THRIFT-2030 Thrift allows for inconsistent use of "oneway"
Patch: Jens Geyer
diff --git a/compiler/cpp/src/parse/t_function.h b/compiler/cpp/src/parse/t_function.h
index 0da2fd6..ae8c2f6 100644
--- a/compiler/cpp/src/parse/t_function.h
+++ b/compiler/cpp/src/parse/t_function.h
@@ -42,6 +42,9 @@
arglist_(arglist),
oneway_(oneway) {
xceptions_ = new t_struct(NULL);
+ if (oneway_ && (! returntype_->is_void())) {
+ pwarning(1, "Oneway methods should return void.\n");
+ }
}
t_function(t_type* returntype,
@@ -58,6 +61,9 @@
if (oneway_ && !xceptions_->get_members().empty()) {
throw std::string("Oneway methods can't throw exceptions.");
}
+ if (oneway_ && (! returntype_->is_void())) {
+ pwarning(1, "Oneway methods should return void.\n");
+ }
}
~t_function() {}