public class Parent {
public void foo() { }
void qix();
public static void staticMethod(){};
}
public class Outer {
public static void staticMethod(){};
public void foo() { }
public void plop() { }
public class Inner extends Parent {
public void doTheThing() {
foo(); // Noncompliant {{Prefix this call to "foo" with "super.".}}
super.foo(); //Compliant: unambiguous
Outer.this.foo(); //Compliant: unambiguous
bar();//Compliant : symbol is unresolved.
qix(); //Compliant: No ambiguity, not defined in outer class
doTheThing();//Compliant not from super type
staticMethod(); //Compliant: static method.
}
}
public interface I extends I2{
default void toto() {
plop();// Noncompliant [[sc=7;ec=11]] {{Prefix this call to "plop" with "super.".}}
}
}
public interface I2 {
void plop();
}
}
public class Child extends Parent {
void fun() {
foo();
}
}
class OuterClass {
void foo() {}
class innerClass extends OuterClass {
void fun() {
foo();
}
}
}
class Foo extends OuterClass2 {}
class OuterClass2 {
void foo() {}
class innerClass extends Foo {
void fun() {
foo();
}
}
}
class OuterClass3 {
void foo(){}
class innerClass {
void foo() {}
void fun() {
foo();
}
}
}
class GenericParent<T> {
T foo(){}
}
class OuterClass4 {
Object foo();
class innerClass<T> extends GenericParent<T> {
void bar() {
foo(); // Noncompliant {{Prefix this call to "foo" with "super.".}}
}
}
}
public abstract class BaseEncoding {
BaseEncoding() {}
public static final class DecodingException extends java.io.IOException {
DecodingException(String message) {
super(message); // Compliant
}
DecodingException(Throwable cause) {
super(cause); // Compliant
}
}
}