diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/renderer/ConeTypeIdeRenderer.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/renderer/ConeTypeIdeRenderer.kt index 7e47b87ab18..1dd27679eaa 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/renderer/ConeTypeIdeRenderer.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/renderer/ConeTypeIdeRenderer.kt @@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.containingClassForLocal import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.isInner import org.jetbrains.kotlin.fir.declarations.utils.isLocal -import org.jetbrains.kotlin.fir.expressions.FirAnnotation import org.jetbrains.kotlin.fir.renderWithType import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeUnresolvedError import org.jetbrains.kotlin.fir.resolve.toFirRegularClass @@ -22,7 +21,6 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.LookupTagInternals import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.renderer.render import org.jetbrains.kotlin.utils.addToStdlib.applyIf @@ -257,6 +255,14 @@ internal class ConeTypeIdeRenderer( (designation[index + 1] as? FirRegularClass)?.isInner == true } + val classParentFqName = classId.relativeClassName.parent() + if (!classParentFqName.isRoot && designation.size == 1) { + // This code is added for a case we can't build designation (e.g. nested Java class), + // but still wish to render full class name + append(classParentFqName) + append(".") + } + designation.filterIsInstance().forEachIndexed { index, currentClass -> if (index != 0) append(".") append(currentClass.name) diff --git a/analysis/analysis-api/testData/referenceResolve/ReferenceToSam.txt b/analysis/analysis-api/testData/referenceResolve/ReferenceToSam.txt index 3721bcf02f4..3c09b0a2fc8 100644 --- a/analysis/analysis-api/testData/referenceResolve/ReferenceToSam.txt +++ b/analysis/analysis-api/testData/referenceResolve/ReferenceToSam.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in JavaTest.SomeJavaClass) open fun setListener(listener: SAMInterface!) +0: (in JavaTest.SomeJavaClass) open fun setListener(listener: JavaTest.SAMInterface!) \ No newline at end of file