Reports classes which implement two or more traits which 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()
      }
  }