THRIFT-2227 Thrift compiler generates spurious warnings with Xlint
Patch: Andrew Gaul
diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index 9b48df0..e77202e 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -266,6 +266,7 @@
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 @@
"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 @@
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 @@
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 @@
f_struct <<
autogen_comment() <<
java_package() <<
- java_type_imports();
+ java_type_imports() <<
+ java_suppressions();
generate_java_doc(f_struct, tstruct);
@@ -2246,7 +2254,8 @@
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;