[FIR] Improve mapping arguments to parameters

This commit is contained in:
Dmitriy Novozhilov
2020-02-14 11:10:46 +03:00
parent 2e597a3a32
commit e696d1d06a
43 changed files with 498 additions and 241 deletions
@@ -12,47 +12,47 @@ fun main() {
join(1, "2", "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(*1, "2")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, *"2")
join(x = 1, a = "2")
<!INAPPLICABLE_CANDIDATE!>join<!>(x = 1, a = "2")
<!INAPPLICABLE_CANDIDATE!>join<!>(x = *1, a = *"2")
<!INAPPLICABLE_CANDIDATE!>join<!>(x = 1, a = a)
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")
join(1, *a, "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, *b, "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, "4", *a, "3")
join(1, "4", *a, "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, "4", *b, "3")
join(1, "4", *a)
<!INAPPLICABLE_CANDIDATE!>join<!>(1, "4", *a, *a, "3")
join(1, "4", *a, *a, "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(1, "4", *a, *b, "3")
<!INAPPLICABLE_CANDIDATE!>join<!>(a = a, x = 1)
join(a = a, x = 1)
<!INAPPLICABLE_CANDIDATE!>join<!>(a = b, x = 1)
<!INAPPLICABLE_CANDIDATE!>join<!>(a = a, x = 1)
join(a = a, x = 1)
joinG<String>(1, "2")
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(*1, "2")
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(1, *"2")
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(x = 1, a = a)
joinG<String>(x = 1, a = "2")
joinG<String>(x = 1, a = a)
<!INAPPLICABLE_CANDIDATE!>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, *a, "3")
joinG<String>(1, "4", *a, "3")
joinG<String>(1, "4", *a)
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(1, "4", *a, *a, "3")
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(a = a, x = 1)
joinG<String>(1, "4", *a, *a, "3")
joinG<String>(a = a, x = 1)
joinG(1, "2")
<!INAPPLICABLE_CANDIDATE!>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")
<!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, *a, "3")
joinG(1, "4", *a, "3")
joinG(1, "4", *a)
<!INAPPLICABLE_CANDIDATE!>joinG<!>(1, "4", *a, *a, "3")
joinG(1, "4", *a, *a, "3")
joinG(a = a, x = 1)
val x1 = joinT(1, "2")
@@ -61,18 +61,18 @@ fun main() {
<!INAPPLICABLE_CANDIDATE!>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 x7 = joinT(1, *a, "3")
checkSubtype<String?>(x7)
val x8 = joinT(1, "4", *a, "3")
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 x10 = joinT(1, "4", *a, *a, "3")
checkSubtype<String?>(x10)
val x11 = joinT(a = a, x = 1)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><String?>(x11)
checkSubtype<String?>(x11)
val x12 = joinT(x = 1, a = a)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><String?>(x12)
checkSubtype<String?>(x12)
}
fun join(x : Int, vararg a : String) : String {
@@ -6,7 +6,7 @@ fun test(x: () -> Unit, y: () -> Unit) {
}
fun main() {
<!INAPPLICABLE_CANDIDATE!>test<!> {
test {
1
} {
2