[FIR] Report inherited java members referencing FunctionN

^KT-60000 Fixed
This commit is contained in:
Nikolay Lunyak
2023-08-07 14:38:22 +03:00
committed by Space Team
parent 0c35e97a8d
commit 70e98c9c2b
12 changed files with 96 additions and 23 deletions
@@ -1,4 +1,3 @@
// FILE: A.java
import kotlin.jvm.functions.FunctionN;
@@ -7,10 +6,16 @@ public class A {
public void foo(FunctionN<?> w) { }
}
public class A2 {
public FunctionN<?> foo() { }
}
// FILE: main.kt
class B : A()
<!UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION!>class B<!> : A()
<!UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION!>class B2<!> : A2()
fun foo() {
object : A() {}
<!UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION!>object<!> : A() {}
<!UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION!>object<!> : A2() {}
}
@@ -1,4 +1,3 @@
// FILE: A.java
import kotlin.jvm.functions.FunctionN;
@@ -7,10 +6,16 @@ public class A {
public void foo(FunctionN<?> w) { }
}
public class A2 {
public FunctionN<?> foo() { }
}
// FILE: main.kt
class <!UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION!>B<!> : A()
class <!UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION!>B2<!> : A2()
fun foo() {
<!UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION!>object<!> : A() {}
<!UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION!>object<!> : A2() {}
}
@@ -1,19 +0,0 @@
package
public fun foo(): kotlin.Unit
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun foo(/*0*/ w: kotlin.jvm.functions.FunctionN<*>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class B : A {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun foo(/*0*/ w: kotlin.jvm.functions.FunctionN<*>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}