FIR: check NAMED_ARGUMENTS_NOT_ALLOWED

The check has already been partially implemented in
org.jetbrains.kotlin.fir.resolve.calls.FirCallArgumentsProcessor. This
change completes the missing piece that determines if a `FirFunction`
has stable parameter names.
This commit is contained in:
Tianyu Geng
2021-03-05 00:12:36 +03:00
committed by Mikhail Glukhikh
parent 0d4e9ca0b9
commit be0dd84a06
19 changed files with 133 additions and 25 deletions
@@ -8,11 +8,11 @@ public class JavaSuperClass {
// FILE: 1.kt
fun directInvocation() = JavaSuperClass().foo(javaName = 1)
fun directInvocation() = JavaSuperClass().foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>javaName = 1<!>)
open class KotlinSubClass : JavaSuperClass()
fun viaFakeOverride() = KotlinSubClass().foo(javaName = 2)
fun viaFakeOverride() = KotlinSubClass().foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>javaName = 2<!>)
class KotlinSubSubClass : KotlinSubClass() {
override fun foo(kotlinName: Int) {}
@@ -24,4 +24,4 @@ fun viaRealOverride() = KotlinSubSubClass().foo(kotlinName = 3)
fun unresolvedParameter() = JavaSuperClass().<!INAPPLICABLE_CANDIDATE!>foo<!>(nonexistentName = 4)
fun multipleParameters() = JavaSuperClass().multipleParameters(first = 1, second = 2L, third = "3")
fun multipleParameters() = JavaSuperClass().multipleParameters(<!NAMED_ARGUMENTS_NOT_ALLOWED!>first = 1<!>, <!NAMED_ARGUMENTS_NOT_ALLOWED!>second = 2L<!>, <!NAMED_ARGUMENTS_NOT_ALLOWED!>third = "3"<!>)