[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,96 @@
// !WITH_NEW_INFERENCE
// !CHECK_TYPE
// !LANGUAGE: +ProhibitAssigningSingleElementsToVarargsInNamedForm
fun <T> array1(vararg a : T) = a
fun main() {
val a = array1("a", "b")
val b = array1(1, 1)
join(1)
join(1, "2")
join(1, "2", "3")
join(*1, "2")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, *"2")
join(x = 1, a = "2")
<!INAPPLICABLE_CANDIDATE!>join<!>(x = *1, a = *"2")
join(x = 1, a = *a)
<!INAPPLICABLE_CANDIDATE!>join<!>(x = 1, a = *b)
join(1, *a)
<!INAPPLICABLE_CANDIDATE!>join<!>(1, *b)
<!INAPPLICABLE_CANDIDATE!>join<!>(1, *a, "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, *b, "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, "4", *a, "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, "4", *b, "3")
join(1, "4", *a)
<!INAPPLICABLE_CANDIDATE!>join<!>(1, "4", *a, *a, "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, "4", *a, *b, "3")
join(a = *a, x = 1)
<!INAPPLICABLE_CANDIDATE!>join<!>(a = *b, x = 1)
<!INAPPLICABLE_CANDIDATE!>join<!>(a = a, x = 1)
joinG<String>(1, "2")
joinG<String>(*1, "2")
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(1, *"2")
joinG<String>(x = 1, a = *a)
joinG<String>(x = 1, a = "2")
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(x = *1, a = *"2")
joinG<String>(1, *a)
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(1, *a, "3")
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(1, "4", *a, "3")
joinG<String>(1, "4", *a)
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(1, "4", *a, *a, "3")
joinG<String>(a = *a, x = 1)
joinG(1, "2")
joinG(*1, "2")
<!INAPPLICABLE_CANDIDATE!>joinG<!>(1, *"2")
joinG(x = 1, a = *a)
joinG(x = 1, a = "2")
<!INAPPLICABLE_CANDIDATE!>joinG<!>(x = *1, a = *"2")
joinG(1, *a)
<!INAPPLICABLE_CANDIDATE!>joinG<!>(1, *a, "3")
<!INAPPLICABLE_CANDIDATE!>joinG<!>(1, "4", *a, "3")
joinG(1, "4", *a)
<!INAPPLICABLE_CANDIDATE!>joinG<!>(1, "4", *a, *a, "3")
joinG(a = *a, x = 1)
val x1 = joinT(1, "2")
checkSubtype<String?>(x1)
val x2 = joinT(*1, "2")
checkSubtype<String?>(x2)
val x6 = joinT(1, *a)
checkSubtype<String?>(x6)
val x7 = <!INAPPLICABLE_CANDIDATE!>joinT<!>(1, *a, "3")
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><String?>(x7)
val x8 = <!INAPPLICABLE_CANDIDATE!>joinT<!>(1, "4", *a, "3")
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><String?>(x8)
val x9 = joinT(1, "4", *a)
checkSubtype<String?>(x9)
val x10 = <!INAPPLICABLE_CANDIDATE!>joinT<!>(1, "4", *a, *a, "3")
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><String?>(x10)
val x11 = joinT(a = *a, x = 1)
checkSubtype<String?>(x11)
val x12 = joinT(x = 1, a = *a)
checkSubtype<String?>(x12)
}
fun join(x : Int, vararg a : String) : String {
val b = StringBuilder(x.toString())
for (s in a) {
b.append(s)
}
return b.toString()
}
fun <T> joinG(x : Int, vararg a : T) : String {
val b = StringBuilder(x.toString())
for (s in a) {
b.append(s)
}
return b.toString()
}
fun <T: Any> joinT(x : Int, vararg a : T) : T? {
return null
}
@@ -0,0 +1,35 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
object A {
operator fun set(x: Int, y: String = "y", z: Double) {
}
}
object B {
operator fun set(x: Int, y: String = "y", z: Double = 3.14, w: Char = 'w', v: Boolean) {
}
}
object D {
operator fun set(x: Int, vararg y: String, z: Double) {
}
}
object Z {
operator fun set() {
}
}
fun test() {
<!INAPPLICABLE_CANDIDATE!>A[0] = ""<!>
<!INAPPLICABLE_CANDIDATE!>A[0] = 2.72<!>
<!INAPPLICABLE_CANDIDATE!>B[0] = ""<!>
<!INAPPLICABLE_CANDIDATE!>B[0] = 2.72<!>
<!INAPPLICABLE_CANDIDATE!>B[0] = true<!>
<!INAPPLICABLE_CANDIDATE!>D[0] = ""<!>
<!INAPPLICABLE_CANDIDATE!>D[0] = 2.72<!>
<!INAPPLICABLE_CANDIDATE!>Z[0] = ""<!>
}
@@ -0,0 +1,11 @@
// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A {
operator fun get(x: Int) {}
operator fun set(x: String, value: Int) {}
fun d(x: Int) {
<!INAPPLICABLE_CANDIDATE!>this["", 1] = 1<!>
}
}
@@ -0,0 +1,7 @@
// !WITH_NEW_INFERENCE
fun foo1(b: Boolean, c: Int) {
if (b && c) {}
if (b || c) {}
if (c && b) {}
if (c || b) {}
}
@@ -0,0 +1,29 @@
// !WITH_NEW_INFERENCE
//KT-1897 When call cannot be resolved to any function, save information about types of arguments
package a
fun bar() {}
fun foo(i: Int, s: String) {}
fun test() {
<!INAPPLICABLE_CANDIDATE!>bar<!>(<!UNRESOLVED_REFERENCE!>xx<!>)
<!INAPPLICABLE_CANDIDATE!>bar<!> { }
<!INAPPLICABLE_CANDIDATE!>foo<!>("", 1, <!UNRESOLVED_REFERENCE!>xx<!>)
<!INAPPLICABLE_CANDIDATE!>foo<!>(r = <!UNRESOLVED_REFERENCE!>xx<!>, i = "", s = "")
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = 1, i = 1, s = 11)
<!INAPPLICABLE_CANDIDATE!>foo<!>("", s = 2)
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = "", s = 2, 33)
<!INAPPLICABLE_CANDIDATE!>foo<!>("", 1) {}
<!INAPPLICABLE_CANDIDATE!>foo<!>("", 1) {} {}
}
@@ -0,0 +1,9 @@
//KT-1940 Exception while repeating named parameters
package kt1940
fun foo(i: Int) {}
fun test() {
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, i = 2) //exception
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = 1, i = 2) //exception
}
@@ -0,0 +1,17 @@
// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE
fun foo() {}
fun foo(s: Int) {}
fun bar(a: Any) {}
fun bar(a: Int) {}
fun test() {
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, 2)
<!INAPPLICABLE_CANDIDATE!>foo<!>("")
<!INAPPLICABLE_CANDIDATE!>bar<!>(1, 2)
<!INAPPLICABLE_CANDIDATE!>bar<!>()
}
@@ -0,0 +1,14 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER
// !WITH_NEW_INFERENCE
fun test(x: () -> Unit, y: () -> Unit) {
}
fun main() {
<!INAPPLICABLE_CANDIDATE!>test<!> {
1
} {
2
}
}