Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/SubsignatureCheckWhen2DifferentMethodsBecomeOverrideEquivalent.java
Tagir Valeev 96bc4480b1 [java-highlighting] Unrelated defaults checks moved to MethodChecker
GenericsHighlightUtil.java is removed completely
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: de2bddb49469c21efe1088e86f6a1ec5b9d35b4a
2025-02-21 10:35:05 +00:00

85 lines
1.6 KiB
Java

class Test1 {
interface A {
void foo(String x);
}
interface C<T> extends A {
default void foo(T x) { }
}
<error descr="Class 'D' must either be declared abstract or implement abstract method 'foo(String)' in 'A'">class D implements C<String></error> { }
interface E extends C<String> { }
}
class Test2 {
interface A {
default void foo(String x) {}
}
interface C<T> extends A {
void foo(T x);
}
<error descr="Class 'D' must either be declared abstract or implement abstract method 'foo(T)' in 'C'">class D implements C<String></error> {}
interface E extends C<String> {}
}
class Test3 {
interface A {
default void foo(String x) {}
}
interface C<T> extends A {
default void foo(T x) {}
}
class D implements C<String> { }
interface E extends C<String> { }
}
class Test4 {
interface A {
void foo(String x);
}
interface C<T> extends A {
void foo(T x);
}
abstract class D implements C<String>, A { }
interface E extends C<String>, A {}
}
class Test5 {
interface A {
void foo(String x);
}
abstract class B implements A { }
interface C<T> extends A {
default void foo(T x) { }
}
<error descr="Class 'D' must either be declared abstract or implement abstract method 'foo(String)' in 'A'">class D extends B implements C<String></error> { }
}
class Test6 {
interface A {
default void foo(String s) { }
}
interface B extends A {}
interface C<T> extends A {
default void foo(T t) {}
}
abstract static class D implements C<String>, B { }
static class E extends D {}
}