| A `@Qualifier` or a `@BindingAnnotation` has no effect here, and can be removed. | |
| Its presence may be misleading. | |
| For example: | |
| ```java | |
| final class MyInjectableClass { | |
| @Username private final String username; | |
| @Inject | |
| MyInjectableClass(@Username String username) { | |
| this.username = username; | |
| } | |
| } | |
| ``` | |
| The annotation on the constructor parameter is important, but the field | |
| annotation is redundant. | |
| ```java | |
| final class MyInjectableClass { | |
| private final String username; | |
| @Inject | |
| MyInjectableClass(@Username String username) { | |
| this.username = username; | |
| } | |
| } | |
| ``` | |
| There are a couple of ways this check can lead to false positives: | |
| * You're using a custom framework we don't know about which makes the location | |
| of the finding an injection point. File a bug, and we'll happily incorporate | |
| it. | |
| * Your annotation is annotated with `@Qualifier` or `@BindingAnnotation` but | |
| isn't actually used as a qualifier (perhaps you have a framework that just | |
| uses it reflectively). Try removing those annotations from the *annotation*. |