Reports calls to any super method from an inner or anonymous class if a method with the same signature exists in the containing class.

In this case it's easy to miss the super method and suggest that the call is referenced to the method in the containing class. To clarify the intent it is recommended to add an explicit super qualifier to the method call.

Example:


  class Parent {
    void ambiguous(){}
  }

  class Example {
    void ambiguous(){}

    class Inner extends Parent {
      void example(){
        ambiguous(); //warning
      }
    }
  }
  

After the quick-fix is applied:


  class Parent {
    void ambiguous(){}
  }

  class Example {
    void ambiguous(){}

    class Inner extends Parent {
      void example(){
        super.ambiguous();
      }
    }
  }