[Test] KT-61360: add tests for the IrFakeOverrideBuilder

Add tests for fake overrides with focus on java interoperability

Co-authored-by: Aleksandra Arsenteva <aleksandra.arsenteva@jetbrains.com>
This commit is contained in:
anzhela.sukhanova
2024-01-19 18:22:17 +02:00
committed by Space Team
parent 30aae741a6
commit 82255d5ee8
853 changed files with 269404 additions and 0 deletions
@@ -0,0 +1,71 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
class A : Java1, Java2 {
// CHECK:
// Mangled name: A#<init>(){}
// Public signature: /A.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: A#foo(){}
// Public signature: /A.foo|-1041209573719867811[0]
// Public signature debug description: foo(){}
/* fake */ override fun foo(): Unit
}
// CHECK:
// Mangled name: B
// Public signature: /B|null[0]
class B : Java1, Java2 {
// CHECK:
// Mangled name: B#<init>(){}
// Public signature: /B.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: B#foo(){}
// Public signature: /B.foo|-1041209573719867811[0]
// Public signature debug description: foo(){}
override fun foo(): Unit
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C : Java1, KotlinInterface {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: C#foo(){}
// Public signature: /C.foo|-1041209573719867811[0]
// Public signature debug description: foo(){}
override fun foo(): Unit
}
// CHECK:
// Mangled name: KotlinInterface
// Public signature: /KotlinInterface|null[0]
interface KotlinInterface {
// CHECK:
// Mangled name: KotlinInterface#foo(){}
// Public signature: /KotlinInterface.foo|-1041209573719867811[0]
// Public signature debug description: foo(){}
abstract fun foo(): Unit
}
// CHECK:
// Mangled name: #test(A;B;C){}
// Public signature: /test|-4981009800298118531[0]
// Public signature debug description: test(A;B;C){}
fun test(a: A, b: B, c: C): Unit