blob: 7fa62b8aa01ef25114a5f8266761d7a0dd8949a6 [file] [log] [blame]
// access level clashes
interface i {
void ff();
}
public class a implements i {
void <error descr="'ff()' in 'a' clashes with 'ff()' in 'i'; attempting to assign weaker access privileges ('packageLocal'); was 'public'">ff</error>() {}
}
class ai implements i {
public <error descr="'ff()' in 'ai' clashes with 'ff()' in 'i'; attempting to use incompatible return type">int</error> ff() { return 0;}
}
class c2 implements i {
public c2() {}
public void ff() {}
protected void g() {}
private int fff(String s) { return 0; }
}
class c3 extends c2 {
protected c3() {}
private int g(int k) { return 2;}
private char fff(String s) { return 0; }
}
class c4 extends c3 {
private c4() {}
<error descr="'g()' in 'c4' clashes with 'g()' in 'c2'; attempting to assign weaker access privileges ('private'); was 'protected'">private</error> void g() {}
private String fff(String s) throws java.io.IOException { return null; }
}
class c4i extends c3 {
protected <error descr="'g()' in 'c4i' clashes with 'g()' in 'c2'; attempting to use incompatible return type">Object</error> g() {return null;}
}
// sibling inheritance
abstract class c5 { abstract public int ff(); }
interface i5 { void ff(); }
<error descr="'ff()' in 'i5' clashes with 'ff()' in 'c5'; methods have unrelated return types">abstract class c6 extends c5 implements i5</error> {
}
class c7 { public String ff() { return null;} }
<error descr="'ff()' in 'c7' clashes with 'ff()' in 'i5'; attempting to use incompatible return type">class c8 extends c7 implements i5</error> {
}
// interface should not clash with Object
interface A {
Object clone() throws CloneNotSupportedException;
void finalize();
<error descr="'hashCode()' in 'A' clashes with 'hashCode()' in 'java.lang.Object'; attempting to use incompatible return type">void</error> hashCode();
<error descr="'equals(Object)' in 'A' clashes with 'equals(Object)' in 'java.lang.Object'; attempting to use incompatible return type">void</error> equals(Object o);
<error descr="'toString()' in 'A' clashes with 'toString()' in 'java.lang.Object'; attempting to use incompatible return type">void</error> toString();
}
interface ConflictWithObject {
Object clone() throws CloneNotSupportedException;
}
<error descr="'clone()' in 'java.lang.Object' clashes with 'clone()' in 'ConflictWithObject'; attempting to assign weaker access privileges ('protected'); was 'public'">class s implements ConflictWithObject</error> {
}
// parallel overriding methods from Object
interface InderFace {
Object clone() throws CloneNotSupportedException;
}
interface SubInderFace extends InderFace {
}
<error descr="'clone()' in 'java.lang.Object' clashes with 'clone()' in 'InderFace'; attempting to assign weaker access privileges ('protected'); was 'public'">class Implementation implements SubInderFace</error> {
}
//SCR20002
abstract class SCR20002A extends Object implements Runnable {
protected abstract int getSome();
private final Inner getInner() { return null; }
private class Inner { }
}
abstract class SCR20002B extends SCR20002A implements Runnable {
private final Inner getInner() { return null; }
private class Inner { }
}
abstract class SCR20002C extends SCR20002B implements Runnable {
}