f47b67781d
In addition to fixing getContainingDeclaration, change origin of multifile facades to FILE_CLASS since the corresponding class descriptor should also be skipped when computing containing declaration. This fixes the problem with internal function calls in -Xmultifile-parts-inherit mode (previously we incorrectly mangled the function name in MethodSignatureMapper), and also fixes coroutine intrinsic calls when compiling kotlin-stdlib with JVM IR. In the latter case, all intrinsics (such as isBuiltInSuspendCoroutineUninterceptedOrReturn) are present in sources, and were previously not detected as intrinsics by the code in `generateInlineIntrinsic` because the FQ name didn't match: it had an additional component for the file class name.
20 lines
304 B
Kotlin
Vendored
20 lines
304 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
// IGNORE_LIGHT_ANALYSIS
|
|
// WITH_RUNTIME
|
|
// !INHERIT_MULTIFILE_PARTS
|
|
|
|
// FILE: test.kt
|
|
|
|
@file:JvmMultifileClass
|
|
@file:JvmName("Test")
|
|
|
|
internal fun <T> List<T>.first(): T = get(0)
|
|
|
|
fun test(): String {
|
|
return listOf("OK").first()
|
|
}
|
|
|
|
// FILE: box.kt
|
|
|
|
fun box(): String = test()
|