diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinIconProvider.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinIconProvider.kt index 0a2179d560d..356f42aa51e 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinIconProvider.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinIconProvider.kt @@ -50,6 +50,8 @@ class KotlinIconProvider : IconProvider(), DumbAware { companion object { var INSTANCE = KotlinIconProvider() + fun isSingleClassFile(file: KtFile) = getSingleClass(file) != null + fun getSingleClass(file: KtFile): KtClassOrObject? { val mainClass = getMainClass(file) return if (mainClass != null && file.declarations.size == 1) mainClass else null diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewFactory.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewFactory.java index 72e2c2675be..ca92efc62d3 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewFactory.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewFactory.java @@ -24,6 +24,7 @@ import com.intellij.openapi.editor.Editor; import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.kotlin.idea.KotlinIconProvider; import org.jetbrains.kotlin.psi.KtFile; public class KotlinStructureViewFactory implements PsiStructureViewFactory { @@ -40,6 +41,11 @@ public class KotlinStructureViewFactory implements PsiStructureViewFactory { public StructureViewModel createStructureViewModel(@Nullable Editor editor) { return new KotlinStructureViewModel(file, editor); } + + @Override + public boolean isRootNodeShown() { + return !KotlinIconProvider.Companion.isSingleClassFile(file); + } }; } }