K1/K2: add a test for KT-62866

This commit is contained in:
Mikhail Glukhikh
2024-03-11 11:13:20 +01:00
committed by Space Team
parent 3b9e08d6b8
commit d6e67e43f9
8 changed files with 118 additions and 0 deletions
@@ -0,0 +1,40 @@
FILE: companionVsStaticScope.kt
public final class Foo : R|kotlin/Any| {
public constructor(): R|Foo| {
super<R|kotlin/Any|>()
}
public final object Bar : R|kotlin/Any| {
private constructor(): R|Foo.Bar| {
super<R|kotlin/Any|>()
}
public open override fun toString(): R|kotlin/String| {
^toString String(object Bar)
}
}
public final companion object Companion : R|kotlin/Any| {
private constructor(): R|Foo.Companion| {
super<R|kotlin/Any|>()
}
public final val Bar: R|kotlin/Int| = Int(10)
public get(): R|kotlin/Int|
}
}
public final fun <T> take(it: R|T|): R|T| {
^take R|<local>/it|
}
public final val x: R|Foo.Bar| = Q|Foo.Bar|
public get(): R|Foo.Bar|
public final val y: R|Foo.Bar| = R|/take|<R|Foo.Bar|>(Q|Foo.Bar|)
public get(): R|Foo.Bar|
public final val z: R|Foo.Bar| = Q|Foo.Bar|.R|kotlin/let|<R|Foo.Bar|, R|Foo.Bar|>(<L> = let@fun <anonymous>(it: R|Foo.Bar|): R|Foo.Bar| <inline=Inline, kind=EXACTLY_ONCE> {
^ R|<local>/it|
}
)
public get(): R|Foo.Bar|
@@ -0,0 +1,20 @@
// FIR_IDENTICAL
// ISSUE: KT-62866
// WITH_STDLIB
// FIR_DUMP
class Foo {
object Bar {
override fun toString(): String = "object Bar"
}
companion object {
val Bar = 10
}
}
fun <T> take(it: T): T = it
val x = Foo.Bar // K1: val Bar, K2: object Bar
val y = take(Foo.Bar) // K1: val Bar, K2: object Bar
val z = Foo.Bar.let { it } // K1 & K2: object Bar
@@ -0,0 +1,28 @@
package
public val x: kotlin.Int = 10
public val y: kotlin.Int
public val z: Foo.Bar
public fun </*0*/ T> take(/*0*/ it: T): T
public final class Foo {
public constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public object Bar {
private constructor Bar()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun toString(): kotlin.String
}
public companion object Companion {
private constructor Companion()
public final val Bar: kotlin.Int = 10
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}