[Analysis API FE10] fix CallableId for synthetic java property descriptors
This commit is contained in:
+11
@@ -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<String>()
|
||||
@@ -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) {
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
Resolved to:
|
||||
0: (in JavaClass) open fun setSomething(value: kotlin.Int)
|
||||
1: var JavaClass.something: kotlin.Int
|
||||
1: (in JavaClass) var JavaClass.something: kotlin.Int
|
||||
Reference in New Issue
Block a user