blob: 9d1d7853549e7c736550cac669485c60e65a7d67 [file] [log] [blame]
// abstract methods
class a {
<error descr="Missing method body, or declare abstract">void f();</error>
}
abstract class c1 {
abstract void f1();
<error descr="Missing method body, or declare abstract">int f2();</error>
}
interface ff {
abstract void f1();
void f2();
}
class x {
void f() {
<error descr="Method call expected">RuntimeException()</error>;
throw <error descr="Method call expected">RuntimeException()</error>;
}
}
// -------------------------------------------------------------
<error descr="Class 'c2' must either be declared abstract or implement abstract method 'f()' in 'c2'">class c2</error> {
<error descr="Abstract method in non-abstract class">abstract</error> void f();
}
<error descr="Class 'c3' must either be declared abstract or implement abstract method 'iif()' in 'c4'">class c3 extends c4</error> {
}
abstract class c4 {
abstract void iif();
}
class c5 extends c6 implements i7 { public void ff(){} }
abstract class c6 {}
interface i7 { void ff(); }
<error descr="Class 'c7' must either be declared abstract or implement abstract method 'ff()' in 'i7'">class c7 implements i7</error> {
}
class callabstract extends c4 {
void iif() {
<error descr="Abstract method 'iif()' cannot be accessed directly">super.iif()</error>;
}
}
abstract class c8 {
public abstract boolean equals(Object other);
}
<error descr="Class 'c9' must either be declared abstract or implement abstract method 'equals(Object)' in 'c8'">final class c9 extends c8</error> {
}
//------- if only Bottom were in other package, it should have been abstract --------------------------
abstract class AbstractTest {
abstract String getName();
abstract static class Middle extends AbstractTest {
}
static class Bottom extends Middle {
String getName() {
return null;
}
}
}
///////////
abstract class cc1 {
abstract void f(int i);
}
abstract class cc2 extends cc1 {
abstract protected void f(int i);
}
class cc3 extends cc2 {
public void f(int i) {}
}
///////////////
interface MyComparator {
int compare(Object t, Object t1);
boolean equals(java.lang.Object object);
}
class MyComparatorImpl implements MyComparator {
public int compare(Object o, Object o1) {
new MyComparator() {
public int compare(Object o, Object o1) {
return 0;
}
};
return 0;
}
}
//////////////// IDEADEV-6050
interface Comparable {}
interface PublicCloneable extends Cloneable {
Object clone() throws CloneNotSupportedException;
}
interface PublicCloneableExtension extends Comparable, PublicCloneable {
}