Fix incorrect handling of mixed named/positional arguments

^KT-40404 Fixed
This commit is contained in:
Denis Zharkov
2020-07-23 16:12:34 +03:00
parent d083297366
commit dc6efa5a61
9 changed files with 63 additions and 7 deletions
@@ -0,0 +1,18 @@
// !LANGUAGE: +NewInference +MixedNamedArgumentsInTheirOwnPosition
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
fun foo(a: String, b: String) {}
fun reformat(
str: String,
normalizeCase: String = "default",
upperCaseFirstLetter: Boolean = true,
divideByCamelHumps: Boolean = false,
wordSeparator: Char = ' '
) {}
fun main() {
<!INAPPLICABLE_CANDIDATE!>foo<!>(b = "first", a = "a", "second") // prints "a, second"
<!INAPPLICABLE_CANDIDATE!>reformat<!>(normalizeCase = "first",str = "","second",false,true, 's' )
}
@@ -0,0 +1,19 @@
// !LANGUAGE: +NewInference +MixedNamedArgumentsInTheirOwnPosition
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
fun foo(a: String, b: String) {}
fun reformat(
str: String,
normalizeCase: String = "default",
upperCaseFirstLetter: Boolean = true,
divideByCamelHumps: Boolean = false,
wordSeparator: Char = ' '
) {}
fun main() {
foo(b = "first", a = "a", <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"second"<!>) // prints "a, second"
reformat(normalizeCase = "first",str = "",<!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"second"<!>,<!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>false<!>,<!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>true<!>, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>'s'<!> )
}