Confused about discrepancy with null annotation classes [message #1760975] |
Thu, 04 May 2017 19:56 |
David M. Karr Messages: 813 Registered: July 2009 |
Senior Member |
|
|
I'm attempting to start using null annotations.
It appears there are two "common" null annotations artifacts, one at "org.eclipse.jdt:org.eclipse.jdt.annotation" and the other at ""com.google.code.findbugs:jsr305". There are likely others, as they're just marker interfaces. It shouldn't matter which one I use, as supposedly tooling can use whichever you specify.
If I add the first artifact to my project and put a "@NonNull" annotation on a method, then I can verify that Eclipse knows that some code calling this method cannot result in a null value in that variable, so it won't emit "potential null pointer access" on derefs of the variable later.
However, if I also have the findbugs artifact, and I change the annotation to "@Nonnull" (annoying that they spelled it differently), then Eclipse gives me the "pnpa" warning on the code calling this.
I believe I'm supposed to rectify this by going to "Preferences"->"Java"->"Compiler"->"Errors/Warnings", and then on the checked setting for "Use default annotations for null specifications", to click the "Configure" link to get a "Annotations for Null Specifications" subdialog. I would assume that I would then add "javax.annotation.Nonnull" in the "Secondary annotations" list for "NonNull annotations".
I did this, but it appeared to have no effect.
|
|
|
|
Powered by
FUDForum. Page generated in 0.03305 seconds