diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java index 41347685827..10f25d684b1 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java @@ -223,6 +223,9 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport @Nullable private static PsiClass getLightClassForDecompiledClassOrObject(@NotNull JetClassOrObject decompiledClassOrObject) { + if (decompiledClassOrObject instanceof JetEnumEntry) { + return null; + } JetFile containingJetFile = decompiledClassOrObject.getContainingJetFile(); if (!containingJetFile.isCompiled()) { return null; @@ -248,7 +251,7 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport while (iterator.hasNext()) { Name name = iterator.next(); PsiClass innerClass = current.findInnerClassByName(name.asString(), false); - assert innerClass != null : "Could not find corresponding inner/nested class " + relativeFqName + "in class " + decompiledClassOrObject.getName() + "\n" + + assert innerClass != null : "Could not find corresponding inner/nested class " + relativeFqName + " in class " + decompiledClassOrObject.getFqName() + "\n" + "File: " + decompiledClassOrObject.getContainingJetFile().getVirtualFile().getName(); current = innerClass; } diff --git a/idea/testData/findUsages/libraryUsages/_library/library/library.kt b/idea/testData/findUsages/libraryUsages/_library/library/library.kt index be51210073e..4ed6654ffce 100644 --- a/idea/testData/findUsages/libraryUsages/_library/library/library.kt +++ b/idea/testData/findUsages/libraryUsages/_library/library/library.kt @@ -69,4 +69,9 @@ fun test() { } LocalClass(localClassProperty = 1).localClassProperty +} + +enum class E { + ONE, + TWO } \ No newline at end of file diff --git a/idea/testData/findUsages/libraryUsages/kotlinLibrary/LibraryEnumEntryUsages.0.kt b/idea/testData/findUsages/libraryUsages/kotlinLibrary/LibraryEnumEntryUsages.0.kt new file mode 100644 index 00000000000..36d9a2e7111 --- /dev/null +++ b/idea/testData/findUsages/libraryUsages/kotlinLibrary/LibraryEnumEntryUsages.0.kt @@ -0,0 +1,10 @@ +// PSI_ELEMENT: org.jetbrains.kotlin.psi.JetEnumEntry +// FIND_BY_REF + +package usages + +import library.E + +fun main(args: Array) { + E.ONE +} \ No newline at end of file diff --git a/idea/testData/findUsages/libraryUsages/kotlinLibrary/LibraryEnumEntryUsages.results.txt b/idea/testData/findUsages/libraryUsages/kotlinLibrary/LibraryEnumEntryUsages.results.txt new file mode 100644 index 00000000000..237ad8beb3c --- /dev/null +++ b/idea/testData/findUsages/libraryUsages/kotlinLibrary/LibraryEnumEntryUsages.results.txt @@ -0,0 +1 @@ +Value read (9: 7) E.ONE \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/findUsages/KotlinFindUsagesWithLibraryTestGenerated.java b/idea/tests/org/jetbrains/kotlin/findUsages/KotlinFindUsagesWithLibraryTestGenerated.java index 0d5287af40e..f5419e83230 100644 --- a/idea/tests/org/jetbrains/kotlin/findUsages/KotlinFindUsagesWithLibraryTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/findUsages/KotlinFindUsagesWithLibraryTestGenerated.java @@ -100,6 +100,12 @@ public class KotlinFindUsagesWithLibraryTestGenerated extends AbstractKotlinFind doTest(fileName); } + @TestMetadata("LibraryEnumEntryUsages.0.kt") + public void testLibraryEnumEntryUsages() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/findUsages/libraryUsages/kotlinLibrary/LibraryEnumEntryUsages.0.kt"); + doTest(fileName); + } + @TestMetadata("LibraryFunctionUsages.0.kt") public void testLibraryFunctionUsages() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/findUsages/libraryUsages/kotlinLibrary/LibraryFunctionUsages.0.kt");