Remove anonymous declarations from Structure View

This commit is contained in:
Igor Yakovlev
2020-04-09 20:28:40 +03:00
parent d4e043c3e8
commit ca10c40e05
@@ -10,22 +10,26 @@ import com.intellij.ide.structureView.StructureViewModelBase
import com.intellij.ide.structureView.StructureViewTreeElement
import com.intellij.ide.util.treeView.smartTree.*
import com.intellij.openapi.editor.Editor
import com.intellij.psi.PsiElement
import com.intellij.util.PlatformIcons
import org.jetbrains.kotlin.idea.KotlinIdeaAnalysisBundle
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtEnumEntry
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
class KotlinStructureViewModel(ktFile: KtFile, editor: Editor?) :
StructureViewModelBase(ktFile, editor, KotlinStructureViewElement(ktFile, false)),
StructureViewModel.ElementInfoProvider {
init {
withSuitableClasses(KtDeclaration::class.java)
withSorters(Sorter.ALPHA_SORTER)
}
override fun isSuitable(element: PsiElement?): Boolean = element is KtDeclaration &&
element !is KtPropertyAccessor &&
element !is KtFunctionLiteral &&
!(element is KtProperty && element.containingClassOrObject !is KtNamedDeclaration) &&
!(element is KtFunction && element.containingClassOrObject !is KtNamedDeclaration)
override fun getNodeProviders() = NODE_PROVIDERS
override fun getFilters() = FILTERS