false positive contradictory null annotations since 2024-03 #2226
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes #2178
includes updates to enable using jclMin21.jar + src.zip
Also AbstractJavaModelTests was not ready for use the library stub, but that was needed for the test to trigger this bad path:
java.lang.String
java/lang/String.eea
we decorate a string method with@NonNull
NonNull
annotation typePackageBinding.checkIfAnalysisAnnotationType()
:type.typeBits |= TypeIds.BitNonNullAnnotation;
org.eclipse.jdt.annotation.NonNull
is not known as a null annotation from which various "interesting" effects could follow.I relation to #1513 (comment) I chose the second option:
With that change, disabling null annotations (the "kludge" from #1513) is no longer necessary, the field
STR
is resolved only when needed, which restores proper null analysis.