From 1361d5e91599bc58ebbe3dd8842bc45dc0f5fb1c Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 27 Jan 2017 13:59:03 +0100 Subject: [PATCH] EA-85853 - (KT-13415) AIOOBE: LightClassUtilsKt.toPsiTypeParameters --- .../org/jetbrains/kotlin/asJava/lightClassUtils.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt index e09686814c7..1876d0900a7 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt @@ -113,14 +113,15 @@ private fun KtParameter.toAnnotationLightMethod(): PsiMethod? { } fun KtTypeParameter.toPsiTypeParameters(): List { - val paramList = getNonStrictParentOfType() - if (paramList == null) return listOf() + val paramList = getNonStrictParentOfType() ?: return listOf() - val paramIndex = paramList.getParameters().indexOf(this) - val jetDeclaration = paramList.getNonStrictParentOfType() ?: return listOf() - val lightOwners = jetDeclaration.toLightElements() + val paramIndex = paramList.parameters.indexOf(this) + val ktDeclaration = paramList.getNonStrictParentOfType() ?: return listOf() + val lightOwners = ktDeclaration.toLightElements() - return lightOwners.mapNotNull { lightOwner -> (lightOwner as? PsiTypeParameterListOwner)?.typeParameters?.get(paramIndex) } + return lightOwners.mapNotNull { lightOwner -> + (lightOwner as? PsiTypeParameterListOwner)?.typeParameters?.getOrNull(paramIndex) + } } // Returns original declaration if given PsiElement is a Kotlin light element, and element itself otherwise