FIR checker: fix NON_VARARG_SPREAD
This commit is contained in:
committed by
teamcityserver
parent
ef80a8ebf6
commit
3708290ca3
+2
-5
@@ -10,10 +10,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFunction
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.isOperator
|
import org.jetbrains.kotlin.fir.declarations.utils.isOperator
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirLambdaArgumentExpression
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirNamedArgumentExpression
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirSpreadArgumentExpression
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildNamedArgumentExpression
|
import org.jetbrains.kotlin.fir.expressions.builder.buildNamedArgumentExpression
|
||||||
import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents
|
import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents
|
||||||
import org.jetbrains.kotlin.fir.resolve.defaultParameterResolver
|
import org.jetbrains.kotlin.fir.resolve.defaultParameterResolver
|
||||||
@@ -330,7 +327,7 @@ private class FirCallArgumentsProcessor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val FirExpression.isSpread: Boolean
|
private val FirExpression.isSpread: Boolean
|
||||||
get() = this is FirSpreadArgumentExpression && isSpread
|
get() = this is FirWrappedArgumentExpression && isSpread
|
||||||
|
|
||||||
private val parameters: List<FirValueParameter>
|
private val parameters: List<FirValueParameter>
|
||||||
get() = function.valueParameters
|
get() = function.valueParameters
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ fun main() {
|
|||||||
join(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
join(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
||||||
join(1, *<!ARGUMENT_TYPE_MISMATCH!>"2"<!>)
|
join(1, *<!ARGUMENT_TYPE_MISMATCH!>"2"<!>)
|
||||||
join(x = 1, a = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION_ERROR!>"2"<!>)
|
join(x = 1, a = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION_ERROR!>"2"<!>)
|
||||||
join(x = *1, a = *"2")
|
join(x = <!NON_VARARG_SPREAD!>*<!>1, a = *"2")
|
||||||
join(x = 1, a = a)
|
join(x = 1, a = a)
|
||||||
join(x = 1, a = <!ARGUMENT_TYPE_MISMATCH!>b<!>)
|
join(x = 1, a = <!ARGUMENT_TYPE_MISMATCH!>b<!>)
|
||||||
join(1, *a)
|
join(1, *a)
|
||||||
@@ -33,7 +33,7 @@ fun main() {
|
|||||||
joinG<String>(1, *<!ARGUMENT_TYPE_MISMATCH!>"2"<!>)
|
joinG<String>(1, *<!ARGUMENT_TYPE_MISMATCH!>"2"<!>)
|
||||||
joinG<String>(x = 1, a = a)
|
joinG<String>(x = 1, a = a)
|
||||||
joinG<String>(x = 1, a = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION_ERROR!>"2"<!>)
|
joinG<String>(x = 1, a = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION_ERROR!>"2"<!>)
|
||||||
joinG<String>(x = *1, a = *"2")
|
joinG<String>(x = <!NON_VARARG_SPREAD!>*<!>1, a = *"2")
|
||||||
joinG<String>(1, *a)
|
joinG<String>(1, *a)
|
||||||
joinG<String>(1, *a, "3")
|
joinG<String>(1, *a, "3")
|
||||||
joinG<String>(1, "4", *a, "3")
|
joinG<String>(1, "4", *a, "3")
|
||||||
@@ -46,7 +46,7 @@ fun main() {
|
|||||||
joinG(1, *<!ARGUMENT_TYPE_MISMATCH!>"2"<!>)
|
joinG(1, *<!ARGUMENT_TYPE_MISMATCH!>"2"<!>)
|
||||||
joinG(x = 1, a = a)
|
joinG(x = 1, a = a)
|
||||||
joinG(x = 1, a = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION_ERROR!>"2"<!>)
|
joinG(x = 1, a = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION_ERROR!>"2"<!>)
|
||||||
joinG(x = *1, a = *"2")
|
joinG(x = <!NON_VARARG_SPREAD!>*<!>1, a = *"2")
|
||||||
joinG(1, *a)
|
joinG(1, *a)
|
||||||
joinG(1, *a, "3")
|
joinG(1, *a, "3")
|
||||||
joinG(1, "4", *a, "3")
|
joinG(1, "4", *a, "3")
|
||||||
|
|||||||
Reference in New Issue
Block a user