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 eec912339c1..29825404594 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/lightClassUtils.kt @@ -104,7 +104,7 @@ fun KtTypeParameter.toPsiTypeParameters(): List { val jetDeclaration = paramList.getNonStrictParentOfType() ?: return listOf() val lightOwners = jetDeclaration.toLightElements() - return lightOwners.map { lightOwner -> (lightOwner as PsiTypeParameterListOwner).typeParameters[paramIndex] } + return lightOwners.mapNotNull { lightOwner -> (lightOwner as? PsiTypeParameterListOwner)?.typeParameters?.get(paramIndex) } } // Returns original declaration if given PsiElement is a Kotlin light element, and element itself otherwise diff --git a/idea/testData/findUsages/kotlin/findTypeParameterUsages/propertyWithTypeParameter.0.kt b/idea/testData/findUsages/kotlin/findTypeParameterUsages/propertyWithTypeParameter.0.kt new file mode 100644 index 00000000000..1b09848820c --- /dev/null +++ b/idea/testData/findUsages/kotlin/findTypeParameterUsages/propertyWithTypeParameter.0.kt @@ -0,0 +1,2 @@ +// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtTypeParameter +val > foo: T \ No newline at end of file diff --git a/idea/testData/findUsages/kotlin/findTypeParameterUsages/propertyWithTypeParameter.results.txt b/idea/testData/findUsages/kotlin/findTypeParameterUsages/propertyWithTypeParameter.results.txt new file mode 100644 index 00000000000..a28b33fd20f --- /dev/null +++ b/idea/testData/findUsages/kotlin/findTypeParameterUsages/propertyWithTypeParameter.results.txt @@ -0,0 +1 @@ +Class/object property type 2 val foo: T \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java b/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java index 63df840e580..4148c226f46 100644 --- a/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/findUsages/FindUsagesTestGenerated.java @@ -1079,6 +1079,12 @@ public class FindUsagesTestGenerated extends AbstractFindUsagesTest { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/findTypeParameterUsages/kotlinFunctionTypeParameterUsages.0.kt"); doTest(fileName); } + + @TestMetadata("propertyWithTypeParameter.0.kt") + public void testPropertyWithTypeParameter() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/findTypeParameterUsages/propertyWithTypeParameter.0.kt"); + doTest(fileName); + } } @TestMetadata("idea/testData/findUsages/kotlin/findWithFilteringImports")