K2: generate implicit dispatch receivers for static members called

#KT-55371 Fixed
#KT-55372 Fixed
This commit is contained in:
Mikhail Glukhikh
2023-01-16 16:59:33 +01:00
committed by Space Team
parent 9cfcf057ef
commit 4167a69e30
17 changed files with 328 additions and 27 deletions
@@ -0,0 +1,28 @@
// FIR_IDENTICAL
// FILE: javapackage/PackagePrivateGrandparentAbstractClass.java
package javapackage;
/*package-private*/ interface PackagePrivateGrandparentInterface {
static void publicStaticMethod() {}
String publicStaticField = "OK";
}
// FILE: javapackage/PublicParentClass.java
package javapackage;
public class PublicParentClass implements PackagePrivateGrandparentInterface {}
// FILE: Child.kt
import javapackage.PublicParentClass
class Child : PublicParentClass() {
fun foo(): String {
<!UNRESOLVED_REFERENCE!>publicStaticMethod<!>() // Error!
PublicParentClass.<!UNRESOLVED_REFERENCE!>publicStaticMethod<!>() // Error!
return publicStaticField // Ok!
}
}