FIR: Use platform specific overridability rules for platform members

^KT-54570 Fixed
This commit is contained in:
Denis.Zharkov
2022-10-21 17:57:24 +02:00
committed by Space Team
parent 1e368bcd86
commit 52eb535a7d
11 changed files with 154 additions and 8 deletions
@@ -0,0 +1,24 @@
// FIR_IDENTICAL
// SKIP_TXT
// !DIAGNOSTICS: -UNUSED_VARIABLE
// FILE: Key.java
public interface Key<E> {}
// FILE: UserDataHolder.java
public interface UserDataHolder {
<T> T getUserData(@NotNull Key<T> key);
}
// FILE: GenericInterface.java
public abstract class GenericClass<E> extends UserDataHolder {}
// FILE: NonGenericClassWithRawSuperType.java
public abstract class NonGenericClassWithRawSuperType extends GenericClass {}
// FILE: main.kt
fun foo(k: Key<Boolean>, a: NonGenericClassWithRawSuperType, b: GenericClass<*>) {
b.getUserData<Boolean>(k)
if (b is NonGenericClassWithRawSuperType) {
b.getUserData<Boolean>(k)
}
}