WIP JAVA PARAM NAME
diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KaFirValueParameterSymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KaFirValueParameterSymbol.kt index 3c1508b..46552df 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KaFirValueParameterSymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KaFirValueParameterSymbol.kt
@@ -6,6 +6,7 @@ package org.jetbrains.kotlin.analysis.api.fir.symbols import com.intellij.psi.PsiElement +import com.intellij.psi.impl.compiled.ClsParameterImpl import org.jetbrains.kotlin.KtFakeSourceElementKind import org.jetbrains.kotlin.analysis.api.annotations.KaAnnotationList import org.jetbrains.kotlin.analysis.api.fir.KaFirSession @@ -29,6 +30,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.isActual import org.jetbrains.kotlin.fir.declarations.utils.isExpect import org.jetbrains.kotlin.fir.declarations.utils.visibility +import org.jetbrains.kotlin.fir.psi import org.jetbrains.kotlin.fir.renderWithType import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.varargElementType @@ -40,7 +42,13 @@ ) : KaValueParameterSymbol(), KaFirSymbol<FirValueParameterSymbol> { override val psi: PsiElement? get() = withValidityAssertion { firSymbol.findPsi() } - override val name: Name get() = withValidityAssertion { firSymbol.name } + override val name: Name + get() = withValidityAssertion { + val psi = firSymbol.fir.psi + if (psi is ClsParameterImpl) return@withValidityAssertion Name.identifier(psi.name) + + firSymbol.name + } override val isVararg: Boolean get() = withValidityAssertion { firSymbol.isVararg }
diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/javaAnnotationsMapping.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/javaAnnotationsMapping.kt index 5cd6811..fcef235 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/javaAnnotationsMapping.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/javaAnnotationsMapping.kt
@@ -158,7 +158,7 @@ isFromSource = this@toFirValueParameter.isFromSource this.moduleData = moduleData containingFunctionSymbol = functionSymbol - name = this@toFirValueParameter.name ?: Name.identifier("p$index") + name = this@toFirValueParameter.nonGeneratedName() ?: Name.identifier("p$index") returnTypeRef = type.toFirJavaTypeRef(session, source) isVararg = this@toFirValueParameter.isVararg annotationBuilder = { convertAnnotationsToFir(session, source) }
diff --git a/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/JavaValueParameterImpl.java b/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/JavaValueParameterImpl.java index cf48617..106b269 100644 --- a/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/JavaValueParameterImpl.java +++ b/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/JavaValueParameterImpl.java
@@ -100,6 +100,14 @@ } @Override + @Nullable + public Name nonGeneratedName() { + PsiParameter psi = getPsi(); + if (psi instanceof ClsParameterImpl) return null; + return getName(); + } + + @Override @NotNull public JavaType getType() { return JavaTypeImpl.create(getPsi().getType(), createVariableReturnTypeSource(psiElementSource));
diff --git a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/structure/javaElements.kt b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/structure/javaElements.kt index cbd0058..d2f9d95 100644 --- a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/structure/javaElements.kt +++ b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/structure/javaElements.kt
@@ -151,6 +151,8 @@ val type: JavaType val isVararg: Boolean val isFromSource: Boolean + + fun nonGeneratedName(): Name? = name } interface JavaRecordComponent : JavaMember {