9dd8eda1c9
Library methods such as 'listOf' are resolved to have the package fragments as their parents, but JVM expects their containing file classes as parents. This fix generates those file classes and uses them as parent replacements for such library methods.
26 lines
655 B
Kotlin
Vendored
26 lines
655 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
|
|
// WITH_RUNTIME
|
|
// FULL_JDK
|
|
|
|
import java.io.*
|
|
import java.util.*
|
|
|
|
fun sample() : Reader {
|
|
return StringReader("""Hello
|
|
World""");
|
|
}
|
|
|
|
fun box() : String {
|
|
// NOTE: Also tested in stdlib: LineIteratorTest.useLines
|
|
|
|
// TODO compiler error
|
|
// both these expressions causes java.lang.NoClassDefFoundError: collections/CollectionPackage
|
|
val list1 = sample().useLines { it.toList() }
|
|
val list2 = sample().useLines<ArrayList<String>>{ it.toCollection(arrayListOf()) }
|
|
|
|
if(arrayListOf("Hello", "World") != list1) return "fail"
|
|
if(arrayListOf("Hello", "World") != list2) return "fail"
|
|
return "OK"
|
|
}
|