don't represent Kotlin project view nodes as light classes (KT-10703)
This commit is contained in:
@@ -24,6 +24,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.openapi.roots.ProjectRootManager
|
import com.intellij.openapi.roots.ProjectRootManager
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
|
import org.jetbrains.kotlin.asJava.KtLightClass
|
||||||
import org.jetbrains.kotlin.idea.KotlinIconProvider
|
import org.jetbrains.kotlin.idea.KotlinIconProvider
|
||||||
import org.jetbrains.kotlin.psi.KtClassBody
|
import org.jetbrains.kotlin.psi.KtClassBody
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
@@ -39,9 +40,9 @@ class KotlinProjectViewProvider(private val myProject: Project) : SelectableTree
|
|||||||
val result = ArrayList<AbstractTreeNode<out Any>>()
|
val result = ArrayList<AbstractTreeNode<out Any>>()
|
||||||
|
|
||||||
for (child in children) {
|
for (child in children) {
|
||||||
val childValue = child.value
|
val childValue = child.value.asKtFile()
|
||||||
|
|
||||||
if (childValue is KtFile) {
|
if (childValue != null) {
|
||||||
val declarations = childValue.declarations
|
val declarations = childValue.declarations
|
||||||
|
|
||||||
val mainClass = KotlinIconProvider.getMainClass(childValue)
|
val mainClass = KotlinIconProvider.getMainClass(childValue)
|
||||||
@@ -61,6 +62,12 @@ class KotlinProjectViewProvider(private val myProject: Project) : SelectableTree
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun Any.asKtFile(): KtFile? = when(this) {
|
||||||
|
is KtFile -> this
|
||||||
|
is KtLightClass -> getOrigin()?.containingFile as? KtFile
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
|
||||||
override fun getData(selected: Collection<AbstractTreeNode<Any>>, dataName: String): Any? {
|
override fun getData(selected: Collection<AbstractTreeNode<Any>>, dataName: String): Any? {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user