diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewElement.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewElement.kt index 920bb1fe935..7364eaaa299 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewElement.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewElement.kt @@ -88,7 +88,7 @@ class KotlinStructureViewElement(val element: NavigatablePsiElement, private val childrenDeclarations: List get() = when (element) { is KtFile -> element.declarations - is KtClass -> element.getPrimaryConstructorParameters().filter { it.hasValOrVar() } + element.declarations + is KtClass -> element.getStructureDeclarations() is KtClassOrObject -> element.declarations is KtFunction, is KtClassInitializer -> element.collectLocalDeclarations() else -> emptyList() @@ -110,3 +110,6 @@ class KotlinStructureViewElement(val element: NavigatablePsiElement, return result } } + +fun KtClassOrObject.getStructureDeclarations() = getPrimaryConstructorParameters().filter { it.hasValOrVar() } + declarations + diff --git a/idea/src/org/jetbrains/kotlin/idea/projectView/KtClassOrObjectTreeNode.kt b/idea/src/org/jetbrains/kotlin/idea/projectView/KtClassOrObjectTreeNode.kt index 1b0a131beba..afce0829e01 100644 --- a/idea/src/org/jetbrains/kotlin/idea/projectView/KtClassOrObjectTreeNode.kt +++ b/idea/src/org/jetbrains/kotlin/idea/projectView/KtClassOrObjectTreeNode.kt @@ -24,6 +24,7 @@ import com.intellij.ide.util.treeView.AbstractTreeNode import com.intellij.openapi.project.Project import com.intellij.psi.PsiElement import org.jetbrains.kotlin.idea.KotlinIconProvider +import org.jetbrains.kotlin.idea.structureView.getStructureDeclarations import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtPsiUtil @@ -34,7 +35,7 @@ class KtClassOrObjectTreeNode(project: Project?, ktClassOrObject: KtClassOrObjec override fun getChildrenImpl(): Collection>? { if (value != null && settings.isShowMembers) { - return value.declarations.map { declaration -> + return value.getStructureDeclarations().map { declaration -> if (declaration is KtClassOrObject) KtClassOrObjectTreeNode(project, declaration, settings) else