Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolveWithStdlib/multiModule/FakeOverrides.ll.txt
T
Nikita Bobko 4120d6a8aa [FIR] Search expect for actual only in dependsOn dependencies
Before this commit, the expect-actual resolver could find expects in
regular dependencies

Note: The appeared `VIRTUAL_MEMBER_HIDDEN` in
compiler/fir/analysis-tests/testData/resolveWithStdlib/multiModule/FakeOverrides.kt
isn't caused by my change. It's caused by fixing the testData dependency
syntax notation.

The testData improperly used regular dependency syntax notation, while
it should have been using dependsOn

Before:
    Regular dependency syntax notation

    // MODULE: androidMain(commonMain)

After:
    dependsOn dependency syntax notation

    // MODULE: androidMain()()(commonMain)
2024-02-22 16:06:35 +00:00

117 lines
3.0 KiB
Plaintext
Vendored

Module: m1-common
FILE: common.kt
public open expect class A<T> : R|kotlin/Any| {
public expect constructor<T>(): R|A<T>|
public open expect fun foo(arg: R|T|): R|kotlin/Unit|
}
public open class B : R|A<kotlin/String>| {
public constructor(): R|B| {
super<R|A<kotlin/String>|>()
}
}
public open class C : R|B| {
public constructor(): R|C| {
super<R|B|>()
}
public open fun bar(arg: R|kotlin/String|): R|kotlin/String| {
^bar R|<local>/arg|
}
public open fun baz(arg: R|kotlin/CharSequence|): R|kotlin/String| {
^baz R|<local>/arg|.R|kotlin/Any.toString|()
}
}
FILE: jvm.kt
public open actual class A<T> : R|kotlin/Any| {
public constructor<T>(): R|A<T>| {
super<R|kotlin/Any|>()
}
public open actual fun foo(arg: R|T|): R|kotlin/Unit| {
}
public open fun bar(arg: R|T|): R|T| {
^bar R|<local>/arg|
}
public open fun baz(arg: R|T|): R|T| {
^baz R|<local>/arg|
}
}
public final class D : R|C| {
public constructor(): R|D| {
super<R|C|>()
}
public final fun test(): R|kotlin/Unit| {
this@R|/D|.R|SubstitutionOverride</B.foo: R|kotlin/Unit|>|(String())
this@R|/D|.R|/C.bar|(String())
this@R|/D|.R|SubstitutionOverride</B.baz: R|kotlin/String|>|(String())
}
}
Module: m1-jvm
FILE: common.kt
public open expect class A<T> : R|kotlin/Any| {
public expect constructor<T>(): R|A<T>|
public open expect fun foo(arg: R|T|): R|kotlin/Unit|
}
public open class B : R|A<kotlin/String>| {
public constructor(): R|B| {
super<R|A<kotlin/String>|>()
}
}
public open class C : R|B| {
public constructor(): R|C| {
super<R|B|>()
}
public open fun bar(arg: R|kotlin/String|): R|kotlin/String| {
^bar R|<local>/arg|
}
public open fun baz(arg: R|kotlin/CharSequence|): R|kotlin/String| {
^baz R|<local>/arg|.R|kotlin/Any.toString|()
}
}
FILE: jvm.kt
public open actual class A<T> : R|kotlin/Any| {
public constructor<T>(): R|A<T>| {
super<R|kotlin/Any|>()
}
public open actual fun foo(arg: R|T|): R|kotlin/Unit| {
}
public open fun bar(arg: R|T|): R|T| {
^bar R|<local>/arg|
}
public open fun baz(arg: R|T|): R|T| {
^baz R|<local>/arg|
}
}
public final class D : R|C| {
public constructor(): R|D| {
super<R|C|>()
}
public final fun test(): R|kotlin/Unit| {
this@R|/D|.R|SubstitutionOverride</B.foo: R|kotlin/Unit|>|(String())
this@R|/D|.R|/C.bar|(String())
this@R|/D|.R|SubstitutionOverride</B.baz: R|kotlin/String|>|(String())
}
}