Affects PMD Version:7.0.0-rc1
Rule: MissingStaticMethodInNonInstantiatableClass
Please provide the rule name and a link to the rule documentation:
https://docs.pmd-code.org/latest/pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass
Description:
The first code sample uses the annotation javax.inject.Inject
, and the second one uses com.google.inject.Inject
. The analysis results of the two cases should be equivalent because these two annotations are equivalent. However, PMD reports a warning in the second sample and no warnings in the first one. Actually, PMD should not report a warning in Case 2
like the Case 1
because it has a injection here.
Code Sample demonstrating the issue:
Case 1
import javax.inject.Inject; public class Foo { // report no warnning @Inject private Foo() {} } public class Bar extends Foo { public Bar() {} }
Case 2
import com.google.inject.Inject; public class Foo { // report a warning @Inject private Foo() {} } public class Bar extends Foo { public Bar() {} }
Expected outcome: The analysis results of the two classes should be the same and report no violation.
PMD reports a violation at line 2 in the second case, but that's wrong. That's a false positive. PMD should report no violation if PMD sees com.google.inject.Inject
.
Running PMD through: CLI
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4