diff --git a/java/java-structure-view/src/com/intellij/ide/structureView/impl/java/JavaFileTreeElement.java b/java/java-structure-view/src/com/intellij/ide/structureView/impl/java/JavaFileTreeElement.java index 38202e626701..f8aaef249109 100644 --- a/java/java-structure-view/src/com/intellij/ide/structureView/impl/java/JavaFileTreeElement.java +++ b/java/java-structure-view/src/com/intellij/ide/structureView/impl/java/JavaFileTreeElement.java @@ -20,6 +20,8 @@ import com.intellij.ide.structureView.impl.common.PsiTreeElementBase; import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiClassOwner; +import com.intellij.psi.PsiUnnamedClass; +import com.intellij.psi.util.JavaUnnamedClassUtil; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -43,6 +45,12 @@ public class JavaFileTreeElement extends PsiTreeElementBase imple PsiClassOwner element = getElement(); if (element == null) return Collections.emptyList(); PsiClass[] classes = element.getClasses(); + + PsiUnnamedClass unnamedClass = JavaUnnamedClassUtil.getUnnamedClassFor(element); + if (unnamedClass != null) { + return JavaClassTreeElement.getClassChildren(unnamedClass); + } + ArrayList result = new ArrayList<>(); for (PsiClass aClass : classes) { result.add(new JavaClassTreeElement(aClass, false)); diff --git a/java/java-tests/testSrc/com/intellij/java/structureView/JavaStructureViewTest.java b/java/java-tests/testSrc/com/intellij/java/structureView/JavaStructureViewTest.java index 40b319c486f3..b94e78f3c6f4 100644 --- a/java/java-tests/testSrc/com/intellij/java/structureView/JavaStructureViewTest.java +++ b/java/java-tests/testSrc/com/intellij/java/structureView/JavaStructureViewTest.java @@ -363,8 +363,7 @@ public class JavaStructureViewTest extends LightJavaStructureViewTestCaseBase { """ -Test.java - -PsiUnnamedClass - foo(): void""" + foo(): void""" ); }