[FIR-TEST] Add new testdata generated after changes in previous commit

This commit is contained in:
Dmitriy Novozhilov
2019-12-11 16:16:22 +03:00
parent e9c02a1cca
commit 2536fa0cd5
4578 changed files with 104067 additions and 1 deletions
@@ -0,0 +1,46 @@
// !CHECK_TYPE
//KT-2179 Nested function literal breaks compiler
package i
//+JDK
import java.util.*
fun test() {
val sample1: List<List<Int?>> = arrayList(arrayList<Int?>(1, 7, null, 8))
//breaks compiler
val sample2 = sample1.map({it.map({it})})
checkSubtype<List<List<Int?>>>(sample2)
//breaks compiler
val sample3 = sample1.map({row -> row.map({column -> column})})
checkSubtype<List<List<Int?>>>(sample3)
//doesn't break compiler
val identity: (Int?) -> Int? = {column -> column}
val sample4 = sample1.map({row -> row.map(identity)})
checkSubtype<List<List<Int?>>>(sample4)
}
//------------
fun <T> arrayList(vararg values: T) : ArrayList<T> = values.toCollection(ArrayList<T>(values.size))
fun <T, R> Collection<T>.map(transform : (T) -> R) : List<R> {
return <!INAPPLICABLE_CANDIDATE!>mapTo<!>(java.util.<!UNRESOLVED_REFERENCE!>ArrayList<!><R>(this.size), transform)
}
fun <T, R, C: MutableCollection<in R>> Collection<T>.mapTo(result: C, transform : (T) -> R) : C {
for (item in this)
result.add(transform(item))
return result
}
fun <T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
for (element in this) result.add(element)
return result
}
val Collection<*>.size : Int
get() = size