@@ -86,9 +86,6 @@ void SetMessageVariables(
8686 (*variables)[" set_has_field_bit_to_local" ] =
8787 GenerateSetBitToLocal (messageBitIndex);
8888
89- // We use `x.getClass()` as a null check because it generates less bytecode
90- // than an `if (x == null) { throw ... }` statement.
91- (*variables)[" null_check" ] = " value.getClass();\n " ;
9289 // Annotations often use { and } to determine ranges.
9390 (*variables)[" {" ] = " " ;
9491 (*variables)[" }" ] = " " ;
@@ -178,8 +175,9 @@ void ImmutableMessageFieldLiteGenerator::GenerateMembers(
178175 // Field.Builder setField(Field value)
179176 WriteFieldDocComment (printer, descriptor_, context_->options ());
180177 printer->Print (variables_,
178+ " @java.lang.SuppressWarnings(\" ReturnValueIgnored\" )\n "
181179 " private void set$capitalized_name$($type$ value) {\n "
182- " $null_check$ "
180+ " value.getClass(); // minimal bytecode null check \n "
183181 " $name$_ = value;\n "
184182 " $set_has_field_bit_message$\n "
185183 " }\n " );
@@ -188,9 +186,10 @@ void ImmutableMessageFieldLiteGenerator::GenerateMembers(
188186 WriteFieldDocComment (printer, descriptor_, context_->options ());
189187 printer->Print (
190188 variables_,
191- " @java.lang.SuppressWarnings({\" ReferenceEquality\" })\n "
189+ " @java.lang.SuppressWarnings({\" ReferenceEquality\" , "
190+ " \" ReturnValueIgnored\" })\n "
192191 " private void merge$capitalized_name$($type$ value) {\n "
193- " $null_check$ "
192+ " value.getClass(); // minimal bytecode null check \n "
194193 " if ($name$_ != null &&\n "
195194 " $name$_ != $type$.getDefaultInstance()) {\n "
196195 " $name$_ =\n "
@@ -384,8 +383,9 @@ void ImmutableMessageOneofFieldLiteGenerator::GenerateMembers(
384383 // Field.Builder setField(Field value)
385384 WriteFieldDocComment (printer, descriptor_, context_->options ());
386385 printer->Print (variables_,
386+ " @java.lang.SuppressWarnings(\" ReturnValueIgnored\" )\n "
387387 " private void set$capitalized_name$($type$ value) {\n "
388- " $null_check$ "
388+ " value.getClass(); // minimal bytecode null check \n "
389389 " $oneof_name$_ = value;\n "
390390 " $set_oneof_case_message$;\n "
391391 " }\n " );
@@ -394,8 +394,9 @@ void ImmutableMessageOneofFieldLiteGenerator::GenerateMembers(
394394 WriteFieldDocComment (printer, descriptor_, context_->options ());
395395 printer->Print (
396396 variables_,
397+ " @java.lang.SuppressWarnings(\" ReturnValueIgnored\" )\n "
397398 " private void merge$capitalized_name$($type$ value) {\n "
398- " $null_check$ "
399+ " value.getClass(); // minimal bytecode null check \n "
399400 " if ($has_oneof_case_message$ &&\n "
400401 " $oneof_name$_ != $type$.getDefaultInstance()) {\n "
401402 " $oneof_name$_ = $type$.newBuilder(($type$) $oneof_name$_)\n "
@@ -599,28 +600,31 @@ void RepeatedImmutableMessageFieldLiteGenerator::GenerateMembers(
599600 // Builder setRepeatedField(int index, Field value)
600601 WriteFieldDocComment (printer, descriptor_, context_->options ());
601602 printer->Print (variables_,
603+ " @java.lang.SuppressWarnings(\" ReturnValueIgnored\" )\n "
602604 " private void set$capitalized_name$(\n "
603605 " int index, $type$ value) {\n "
604- " $null_check$ "
606+ " value.getClass(); // minimal bytecode null check \n "
605607 " ensure$capitalized_name$IsMutable();\n "
606608 " $name$_.set(index, value);\n "
607609 " }\n " );
608610
609611 // Builder addRepeatedField(Field value)
610612 WriteFieldDocComment (printer, descriptor_, context_->options ());
611613 printer->Print (variables_,
614+ " @java.lang.SuppressWarnings(\" ReturnValueIgnored\" )\n "
612615 " private void add$capitalized_name$($type$ value) {\n "
613- " $null_check$ "
616+ " value.getClass(); // minimal bytecode null check \n "
614617 " ensure$capitalized_name$IsMutable();\n "
615618 " $name$_.add(value);\n "
616619 " }\n " );
617620
618621 // Builder addRepeatedField(int index, Field value)
619622 WriteFieldDocComment (printer, descriptor_, context_->options ());
620623 printer->Print (variables_,
624+ " @java.lang.SuppressWarnings(\" ReturnValueIgnored\" )\n "
621625 " private void add$capitalized_name$(\n "
622626 " int index, $type$ value) {\n "
623- " $null_check$ "
627+ " value.getClass(); // minimal bytecode null check \n "
624628 " ensure$capitalized_name$IsMutable();\n "
625629 " $name$_.add(index, value);\n "
626630 " }\n " );
0 commit comments