blob: eddb4e3ec742808fcd1a2c2208aba0895bea6cd1 [file]
// RUN_PIPELINE_TILL: BACKEND
// SCOPE_DUMP: ImplDerived:foo, DerivedImpl:foo
// FILE: Base.java
import org.jetbrains.annotations.NotNull;
public interface Base {
Base foo(@NotNull String name);
}
// FILE: Derived.java
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public interface Derived extends Base {
@Override
@NotNull Derived foo(@Nullable String name);
}
// FILE: Impl.kt
abstract class Impl : Base {
override fun foo(name: String): Base {
return this
}
}
// FILE: test.kt
abstract class ImplDerived : Impl(), Derived {
abstract override fun foo(name: String?): Derived
}
abstract class DerivedImpl : Derived, Impl() {
abstract override fun foo(name: String?): Derived
}
/* GENERATED_FIR_TAGS: classDeclaration, functionDeclaration, javaType, nullableType, override, thisExpression */