From 4ccc24f6214f3041af5e564322382df1d84bf935 Mon Sep 17 00:00:00 2001 From: Jens Geyer Date: Mon, 11 Nov 2013 22:43:45 +0100 Subject: [PATCH] THRIFT-2227 Thrift compiler generates spurious warnings with Xlint Patch: Andrew Gaul --- compiler/cpp/src/generate/t_java_generator.cc | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc index 9b48df04..e77202e0 100644 --- a/compiler/cpp/src/generate/t_java_generator.cc +++ b/compiler/cpp/src/generate/t_java_generator.cc @@ -266,6 +266,7 @@ public: std::string java_package(); std::string java_type_imports(); + std::string java_suppressions(); std::string type_name(t_type* ttype, bool in_container=false, bool in_init=false, bool skip_generic=false); std::string base_type_name(t_base_type* tbase, bool in_container=false); std::string declare_field(t_field* tfield, bool init=false, bool comment=false); @@ -403,6 +404,10 @@ string t_java_generator::java_type_imports() { "import org.slf4j.LoggerFactory;\n\n"; } +string t_java_generator::java_suppressions() { + return "@SuppressWarnings({\"cast\", \"rawtypes\", \"serial\", \"unchecked\"})\n"; +} + /** * Nothing in Java */ @@ -526,7 +531,8 @@ void t_java_generator::generate_consts(std::vector consts) { f_consts << autogen_comment() << java_package() << - java_type_imports(); + java_type_imports() << + java_suppressions(); f_consts << "public class " << make_valid_java_identifier(program_name_) << "Constants {" << endl << @@ -729,7 +735,8 @@ void t_java_generator::generate_java_struct(t_struct* tstruct, f_struct << autogen_comment() << java_package() << - java_type_imports(); + java_type_imports() << + java_suppressions(); generate_java_struct_definition(f_struct, tstruct, @@ -751,7 +758,8 @@ void t_java_generator::generate_java_union(t_struct* tstruct) { f_struct << autogen_comment() << java_package() << - java_type_imports(); + java_type_imports() << + java_suppressions(); generate_java_doc(f_struct, tstruct); @@ -2246,7 +2254,8 @@ void t_java_generator::generate_service(t_service* tservice) { f_service_ << autogen_comment() << java_package() << - java_type_imports(); + java_type_imports() << + java_suppressions(); generate_javax_generated_annotation(f_service_); f_service_ << "public class " << service_name_ << " {" << endl << endl; -- 2.17.1