Many rules rely on @Nullable, @CheckForNull and @Nonnull annotations in their implementation, to either find new issues or remove false positives. These annotations can come from different dependencies. Currently, many rules define on their side different lists of annotations. It makes the situation inconsistent, and hard to maintain.
We already have a NullableAnnotationUtils, we should use it in all rules relying on such annotations.
- Many rules only support the 3 annotations coming from javax.annotation package. We should improve them to support more well-known packages. This change will remove:
- Symbolic execution rules already rely on the common helper
In addition, it would make sense to add the support for more annotations commonly used: