From 70a5762736eaa3511ca5e4f02461bf1ca22453a4 Mon Sep 17 00:00:00 2001 From: Jens Geyer Date: Fri, 14 Jun 2013 18:48:15 +0200 Subject: [PATCH] THRIFT-2030 Thrift allows for inconsistent use of "oneway" Patch: Jens Geyer --- compiler/cpp/src/parse/t_function.h | 6 ++++++ 1 file changed, 6 insertions(+) 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() {} -- 2.17.1