blob: 2eddf6fa77dc14bb469321b8949b45d402a186fc [file]
FILE: kt56283.fir.kt
public open class Base : R|kotlin/Any| {
public constructor(): R|Base| {
super<R|kotlin/Any|>()
}
}
public final class Derived : R|Base| {
public constructor(): R|Derived| {
super<R|Base|>()
}
}
public open class A : R|kotlin/Any| {
public constructor(foo: R|Base|): R|A| {
super<R|kotlin/Any|>()
}
protected open val foo: R|Base| = R|<local>/foo|
protected get(): R|Base|
protected open fun bar(): R|Base| {
^bar R|/Base.Base|()
}
public final fun f(other: R|A|): R|kotlin/Unit| {
R|<local>/other|.R|/A.foo|
R|<local>/other|.R|/A.bar|()
when (R|<local>/other|) {
($subj$ is R|B|) -> {
R|<local>/other|.R|/A.foo|
R|<local>/other|.R|/A.bar|()
}
}
}
}
public final class B : R|A| {
public constructor(foo: R|Derived|): R|B| {
super<R|A|>(R|<local>/foo|)
}
protected open override val foo: R|Derived| = R|<local>/foo|
protected get(): R|Derived|
protected open override fun bar(): R|Derived| {
^bar R|/Derived.Derived|()
}
}