diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt index b5b2ae6e4e8..aae494edff1 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt @@ -223,9 +223,9 @@ class JavaSymbolProvider( ).apply { this.typeParameters += javaMethod.typeParameters.convertTypeParameters(javaTypeParameterStack) addAnnotationsFrom(this@JavaSymbolProvider.session, javaMethod, javaTypeParameterStack) - for (valueParameter in javaMethod.valueParameters) { - valueParameters += valueParameter.toFirValueParameters( - this@JavaSymbolProvider.session, javaTypeParameterStack + for ((index, valueParameter) in javaMethod.valueParameters.withIndex()) { + valueParameters += valueParameter.toFirValueParameter( + this@JavaSymbolProvider.session, index, javaTypeParameterStack ) } } @@ -271,9 +271,9 @@ class JavaSymbolProvider( ).apply { this.typeParameters += javaConstructor.typeParameters.convertTypeParameters(javaTypeParameterStack) addAnnotationsFrom(this@JavaSymbolProvider.session, javaConstructor, javaTypeParameterStack) - for (valueParameter in javaConstructor.valueParameters) { - valueParameters += valueParameter.toFirValueParameters( - this@JavaSymbolProvider.session, javaTypeParameterStack + for ((index, valueParameter) in javaConstructor.valueParameters.withIndex()) { + valueParameters += valueParameter.toFirValueParameter( + this@JavaSymbolProvider.session, index, javaTypeParameterStack ) } } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt index d0bb5e1e4a8..15b0907abb3 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt @@ -197,15 +197,15 @@ internal fun FirAbstractAnnotatedElement.addAnnotationsFrom( } } -internal fun JavaValueParameter.toFirValueParameters( - session: FirSession, javaTypeParameterStack: JavaTypeParameterStack +internal fun JavaValueParameter.toFirValueParameter( + session: FirSession, index: Int, javaTypeParameterStack: JavaTypeParameterStack ): FirValueParameter { return FirJavaValueParameter( - session, (this as? JavaElementImpl<*>)?.psi?.toFirSourceElement(), name ?: Name.special(""), + session, (this as? JavaElementImpl<*>)?.psi?.toFirSourceElement(), name ?: Name.identifier("p$index"), returnTypeRef = type.toFirJavaTypeRef(session, javaTypeParameterStack), isVararg = isVararg ).apply { - addAnnotationsFrom(session, this@toFirValueParameters, javaTypeParameterStack) + addAnnotationsFrom(session, this@toFirValueParameter, javaTypeParameterStack) } } diff --git a/compiler/testData/ir/irText/stubs/builtinMap.fir.txt b/compiler/testData/ir/irText/stubs/builtinMap.fir.txt index ed9674160a1..fa0465a7f06 100644 --- a/compiler/testData/ir/irText/stubs/builtinMap.fir.txt +++ b/compiler/testData/ir/irText/stubs/builtinMap.fir.txt @@ -15,16 +15,16 @@ FILE fqName: fileName:/builtinMap.kt BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CALL 'public final fun apply (block: kotlin.Function1, kotlin.Unit>): T of [inline] declared in kotlin' type=java.util.LinkedHashMap.plus, V1 of .plus> origin=null - $receiver: CONSTRUCTOR_CALL 'public constructor (: kotlin.collections.Map?) declared in java.util.LinkedHashMap' type=java.util.LinkedHashMap.plus, V1 of .plus> origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor (p0: kotlin.collections.Map?) declared in java.util.LinkedHashMap' type=java.util.LinkedHashMap.plus, V1 of .plus> origin=null : : - : GET_VAR ': kotlin.collections.Map.plus, V1 of .plus> declared in .plus' type=kotlin.collections.Map.plus, V1 of .plus> origin=null + p0: GET_VAR ': kotlin.collections.Map.plus, V1 of .plus> declared in .plus' type=kotlin.collections.Map.plus, V1 of .plus> origin=null block: FUN_EXPR type=kotlin.Function1.plus, V1 of .plus>, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'public open fun put (: K1 of .plus, : V1 of .plus): V1 of .plus declared in java.util.HashMap' type=V1 of .plus origin=null + CALL 'public open fun put (p0: K1 of .plus, p1: V1 of .plus): V1 of .plus declared in java.util.HashMap' type=V1 of .plus origin=null $this: GET_VAR ': java.util.HashMap declared in java.util.HashMap' type=java.util.HashMap<*, *> origin=null - : CALL 'public final fun (): K1 of .plus declared in kotlin.Pair' type=K1 of .plus origin=null + p0: CALL 'public final fun (): K1 of .plus declared in kotlin.Pair' type=K1 of .plus origin=null $this: GET_VAR 'pair: kotlin.Pair.plus, V1 of .plus> declared in .plus' type=kotlin.Pair.plus, V1 of .plus> origin=null - : CALL 'public final fun (): V1 of .plus declared in kotlin.Pair' type=V1 of .plus origin=null + p1: CALL 'public final fun (): V1 of .plus declared in kotlin.Pair' type=V1 of .plus origin=null $this: GET_VAR 'pair: kotlin.Pair.plus, V1 of .plus> declared in .plus' type=kotlin.Pair.plus, V1 of .plus> origin=null