From 5e8e60a39904525c62ff1814a144c565028cf337 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Mon, 10 Aug 2020 04:26:41 +0900 Subject: [PATCH] Move back the 'KotlinStructureViewElement.isPublic' property used externally Reasoning: Method com.gmail.blueboxware.extsee.kotlin.ExtSeeKotlinStructureViewModel.Companion.PublicElementsFilter.isVisible(com.intellij.ide.util.treeView.smartTree.TreeElement treeNode) : boolean contains an *invokevirtual* instruction referencing an unresolved method org.jetbrains.kotlin.idea.structureView.KotlinStructureViewElement.isPublic() --- .../idea/structureView/KotlinStructureViewElement.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 3a0f625a027..7c3eb189aa9 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 @@ -44,6 +44,13 @@ class KotlinStructureViewElement( KotlinStructureElementPresentation(isInherited, element, countDescriptor()) } + @Deprecated("Use 'visibility' instead.", level = DeprecationLevel.ERROR) + var isPublic + by AssignableLazyProperty { + isPublic(countDescriptor()) + } + private set + var visibility by AssignableLazyProperty { Visibility(countDescriptor()) @@ -103,6 +110,9 @@ class KotlinStructureViewElement( return result } + private fun isPublic(descriptor: DeclarationDescriptor?) = + (descriptor as? DeclarationDescriptorWithVisibility)?.visibility == Visibilities.PUBLIC + private fun countDescriptor(): DeclarationDescriptor? { val element = element return when {