diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt index c690a1a6b23..ac881a71f0f 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt @@ -412,6 +412,9 @@ internal val CallableMemberDescriptor.callableIdIfNotLocal: CallableId? get() = calculateCallableId(allowLocal = false) internal fun CallableMemberDescriptor.calculateCallableId(allowLocal: Boolean): CallableId? { + if (this is SyntheticJavaPropertyDescriptor) { + return getMethod.calculateCallableId(allowLocal)?.copy(callableName = name) + } var current: DeclarationDescriptor = containingDeclaration val localName = mutableListOf() @@ -427,6 +430,14 @@ internal fun CallableMemberDescriptor.calculateCallableId(allowLocal: Boolean): pathToLocal = if (localName.isNotEmpty()) FqName.fromSegments(localName.asReversed()) else null ) } + is ModuleDescriptor -> { + return CallableId( + packageName = FqName.ROOT, + className = if (className.isNotEmpty()) FqName.fromSegments(className.asReversed()) else null, + callableName = name, + pathToLocal = if (localName.isNotEmpty()) FqName.fromSegments(localName.asReversed()) else null + ) + } is ClassDescriptor -> { if (current.kind == ClassKind.ENUM_ENTRY) { if (!allowLocal) { diff --git a/analysis/analysis-api/testData/referenceResolve/SyntheticProperty.descriptors.txt b/analysis/analysis-api/testData/referenceResolve/SyntheticProperty.descriptors.txt index ddef9f37661..231213935a1 100644 --- a/analysis/analysis-api/testData/referenceResolve/SyntheticProperty.descriptors.txt +++ b/analysis/analysis-api/testData/referenceResolve/SyntheticProperty.descriptors.txt @@ -1,3 +1,3 @@ Resolved to: 0: (in JavaClass) open fun setSomething(value: kotlin.Int) -1: var JavaClass.something: kotlin.Int \ No newline at end of file +1: (in JavaClass) var JavaClass.something: kotlin.Int \ No newline at end of file