From: Jens Geyer Date: Fri, 14 Jun 2013 16:48:15 +0000 (+0200) Subject: THRIFT-2030 Thrift allows for inconsistent use of "oneway" X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=70a5762736eaa3511ca5e4f02461bf1ca22453a4;p=common%2Fthrift.git 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 0da2fd6a..ae8c2f60 100644 --- a/compiler/cpp/src/parse/t_function.h +++ b/compiler/cpp/src/parse/t_function.h @@ -42,6 +42,9 @@ class t_function : public t_doc { 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 @@ class t_function : public t_doc { 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() {}