Meaningless record annotation
Reports annotations used on record components that have no effect.
This can happen in two cases:
The reported annotation has the METHOD target, but the corresponding accessor is explicitly defined.
The reported annotation has the PARAMETER target, but the canonical constructor is explicitly defined.
Example:
@Target(ElementType.METHOD)
@interface A { }
// The annotation will not appear in bytecode at all,
// as it should be propagated to the accessor but accessor is explicitly defined
record R(@A int x) {
public int x() { return x; }
}
New in 2021.1
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023