Inspectopedia Help

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()
class X implements T1, T2 { @Override Object foo() { return T2.super.foo() } }

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Groovy, 241.14841

Last modified: 12 March 2024