Unit Test Tooling: Support Go to Test/Create Test actions for top-level declarations

#KT-10133 Fixed
This commit is contained in:
Alexey Sedunov
2015-12-01 22:22:35 +03:00
parent ecac0f177b
commit 8fcda32287
18 changed files with 165 additions and 28 deletions
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.asJava
import com.intellij.psi.*
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.load.java.JvmAbi
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -29,6 +30,12 @@ import java.util.*
public fun KtClassOrObject.toLightClass(): KtLightClass? = LightClassUtil.getPsiClass(this) as KtLightClass?
public fun KtFile.findFacadeClass(): KtLightClass? {
return LightClassGenerationSupport.getInstance(project)
.getFacadeClassesInPackage(packageFqName, this.useScope as? GlobalSearchScope ?: GlobalSearchScope.projectScope(project))
.firstOrNull { it is KtLightClassForFacade && this in it.files } as? KtLightClass
}
public fun KtDeclaration.toLightElements(): List<PsiNamedElement> =
when (this) {
is KtClassOrObject -> LightClassUtil.getPsiClass(this).singletonOrEmptyList()