diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt index b221083ec70..30d5faa8613 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt @@ -574,8 +574,11 @@ internal object KotlinConverter { expectedTypes: Array> ): Sequence = expectedTypes.accommodate( alternative uParam@{ - val ownerFunction = element.ownerFunction as? KtFunction ?: return@uParam null - val lightMethod = LightClassUtil.getLightClassMethod(ownerFunction) ?: return@uParam null + val lightMethod = when (val ownerFunction = element.ownerFunction) { + is KtFunction -> LightClassUtil.getLightClassMethod(ownerFunction) + is KtPropertyAccessor -> LightClassUtil.getLightClassAccessorMethod(ownerFunction) + else -> null + } ?: return@uParam null val lightParameter = lightMethod.parameterList.parameters.find { it.name == element.name } ?: return@uParam null KotlinUParameter(lightParameter, element, givenParent) }, diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.182 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.182 index 543409060e6..44dd123fdd9 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.182 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.182 @@ -474,8 +474,11 @@ internal object KotlinConverter { } is KtParameter -> el { - val ownerFunction = original.ownerFunction as? KtFunction ?: return null - val lightMethod = LightClassUtil.getLightClassMethod(ownerFunction) ?: return null + val lightMethod = when (val ownerFunction = original.ownerFunction) { + is KtFunction -> LightClassUtil.getLightClassMethod(ownerFunction) + is KtPropertyAccessor -> LightClassUtil.getLightClassAccessorMethod(ownerFunction) + else -> null + } ?: return null val lightParameter = lightMethod.parameterList.parameters.find { it.name == original.name } ?: return null KotlinUParameter(lightParameter, original, givenParent) } diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.183 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.183 index 9b9a2daaf54..f81e66c6eff 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.183 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.183 @@ -476,8 +476,11 @@ internal object KotlinConverter { } is KtParameter -> el { - val ownerFunction = original.ownerFunction as? KtFunction ?: return null - val lightMethod = LightClassUtil.getLightClassMethod(ownerFunction) ?: return null + val lightMethod = when (val ownerFunction = original.ownerFunction) { + is KtFunction -> LightClassUtil.getLightClassMethod(ownerFunction) + is KtPropertyAccessor -> LightClassUtil.getLightClassAccessorMethod(ownerFunction) + else -> null + } ?: return null val lightParameter = lightMethod.parameterList.parameters.find { it.name == original.name } ?: return null KotlinUParameter(lightParameter, original, givenParent) }