This is a bug report.
Versions
- SonarQube Server: v24.12.0.100206
- Scanner: 4.0.0.4121
How is SonarQube deployed
zip
Checked code
import java.util.Optional;
import org.jspecify.annotations.Nullable;
public record Foo(@Nullable String attribute) {
@Nullable
public String bar() {
return Optional.ofNullable(attribute).filter("bar"::equals).orElse(null);
}
}
Observed behaviour
Sonar raises a java:S2259 violation. The given explanation is A "NullPointerException" could be thrown; "ofNullable()" can return null
.
Expected behaviour
Sonar should not raises a java:S2259 violation because Optional#ofNullable
can’t return null.