A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/pmd/pmd/issues/4493 below:

false-positive about @Inject · Issue #4493 · pmd/pmd · GitHub

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