FIR2IR: support static fake overrides (functions) #KT-53441 Fixed

This commit is contained in:
Mikhail Glukhikh
2022-10-26 17:14:09 +02:00
committed by Space Team
parent ec77e1896c
commit 3a81174a4c
8 changed files with 124 additions and 26 deletions
@@ -0,0 +1,31 @@
// TARGET_BACKEND: JVM_IR
// FILE: AbstractBlackBoxCodegenTest.java
public abstract class AbstractBlackBoxCodegenTest extends CodegenTestCase {}
// FILE: CodegenTestCase.java
public abstract class CodegenTestCase extends KotlinBaseTest<CharSequence> {}
// FILE: KotlinBaseTest.kt
abstract class KotlinBaseTest<F : CharSequence> : KtUsefulTestCase() {}
// FILE: KtUsefulTestCase.java
public abstract class KtUsefulTestCase extends TestCase {}
// FILE: TestCase.java
public abstract class TestCase {
public static void assertEquals(int expected, int actual) {
}
}
// FILE: test.kt
fun box(): String {
AbstractBlackBoxCodegenTest.assertEquals(42, 42)
return "OK"
}
@@ -0,0 +1,20 @@
// TARGET_BACKEND: JVM_IR
// ISSUE: KT-53441
// MODULE: lib
// FILE: test/J.java
package test;
class I {
public static String foo() { return "O"; }
public static String bar() { return "K"; }
}
public class J extends I {}
// MODULE: main(lib)
// FILE: k.kt
import test.J
import test.J.bar
fun box() = J.foo() + bar()