diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.191 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.191 index 33a852a37f9..b221083ec70 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.191 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt.191 @@ -143,6 +143,7 @@ class KotlinUastLanguagePlugin : UastLanguagePlugin { @Suppress("UNCHECKED_CAST") fun convertElement(element: PsiElement, parent: UElement?, expectedTypes: Array>): T? { + if (!element.isJvmElement) return null val nonEmptyExpectedTypes = expectedTypes.nonEmptyOr(DEFAULT_TYPES_LIST) return (convertDeclaration(element, parent, nonEmptyExpectedTypes) ?: KotlinConverter.convertPsiElement(element, parent, nonEmptyExpectedTypes)) as? T @@ -153,13 +154,15 @@ class KotlinUastLanguagePlugin : UastLanguagePlugin { } @Suppress("UNCHECKED_CAST") - override fun convertToAlternatives(element: PsiElement, requiredTypes: Array>): Sequence = when { - element is KtFile -> KotlinConverter.convertKtFile(element, null, requiredTypes) as Sequence - (element is KtProperty && !element.isLocal) -> KotlinConverter.convertNonLocalProperty(element, null, requiredTypes) as Sequence - element is KtParameter -> KotlinConverter.convertParameter(element, null, requiredTypes) as Sequence - element is KtClassOrObject -> KotlinConverter.convertClassOrObject(element, null, requiredTypes) as Sequence - else -> sequenceOf(convertElementWithParent(element, requiredTypes.nonEmptyOr(DEFAULT_TYPES_LIST)) as? T).filterNotNull() - } + override fun convertToAlternatives(element: PsiElement, requiredTypes: Array>): Sequence = + if (!element.isJvmElement) emptySequence() else when { + element is KtFile -> KotlinConverter.convertKtFile(element, null, requiredTypes) as Sequence + (element is KtProperty && !element.isLocal) -> + KotlinConverter.convertNonLocalProperty(element, null, requiredTypes) as Sequence + element is KtParameter -> KotlinConverter.convertParameter(element, null, requiredTypes) as Sequence + element is KtClassOrObject -> KotlinConverter.convertClassOrObject(element, null, requiredTypes) as Sequence + else -> sequenceOf(convertElementWithParent(element, requiredTypes.nonEmptyOr(DEFAULT_TYPES_LIST)) as? T).filterNotNull() + } } internal inline fun Class<*>?.el(f: () -> UElement?): UElement? {