Clashing trait methods
Reports classes which implement two or more traits that contain methods with same signatures.
The result of calling such methods might be unexpected.
The quick-fix adds an explicit overriding method.
Example:
trait T1 {
def foo() {}
}
trait T2 {
def foo() {}
}
class X implements T1, T2 {}
// T2.foo() will be called
new X().foo()
After the quick-fix is applied:
class X implements T1, T2 {
@Override
Object foo() {
return T2.super.foo()
}
}
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Groovy, 233.SNAPSHOT |
Last modified: 13 July 2023