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()
}
}
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
ClashingTraitMethods- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
Availability
- By default bundled with
- Can be installed with plugin
Groovy, 241.18072
Last modified: 18 June 2024