Fix overly restrictive cast to allow running multiplatform tests for objects
^KT-35480 Fixed
This commit is contained in:
@@ -8,10 +8,9 @@ package org.jetbrains.kotlin.idea.run
|
|||||||
import com.intellij.execution.Location
|
import com.intellij.execution.Location
|
||||||
import com.intellij.psi.PsiClass
|
import com.intellij.psi.PsiClass
|
||||||
import com.intellij.psi.PsiMethod
|
import com.intellij.psi.PsiMethod
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
|
||||||
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightClass
|
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightClass
|
||||||
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightMethod
|
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightMethod
|
||||||
import org.jetbrains.kotlin.psi.KtClass
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||||
import org.jetbrains.kotlin.psi.KtNamedFunction
|
import org.jetbrains.kotlin.psi.KtNamedFunction
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
@@ -24,6 +23,6 @@ internal fun getTestMethodForKotlinTest(location: Location<*>): PsiMethod? {
|
|||||||
|
|
||||||
internal fun getTestClassForKotlinTest(location: Location<*>): PsiClass? {
|
internal fun getTestClassForKotlinTest(location: Location<*>): PsiClass? {
|
||||||
val leaf = location.psiElement
|
val leaf = location.psiElement
|
||||||
val owner = leaf?.getParentOfType<KtDeclaration>(true) as? KtClass ?: return null
|
val owner = leaf?.getParentOfType<KtDeclaration>(true) as? KtClassOrObject ?: return null
|
||||||
return KtFakeLightClass(owner)
|
return KtFakeLightClass(owner)
|
||||||
}
|
}
|
||||||
+1
-1
@@ -3,7 +3,7 @@ package sample
|
|||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
object <lineMarker descr="Run Test" settings="Nothing here">Obj</lineMarker> {
|
object <lineMarker descr="Run Test" settings=" cleanJsBrowserTest jsBrowserTest --tests \"sample.Obj\" cleanJsNodeTest jsNodeTest --tests \"sample.Obj\" cleanJvmTest jvmTest --tests \"sample.Obj\" --continue">Obj</lineMarker> {
|
||||||
@Test
|
@Test
|
||||||
fun <lineMarker descr="Run Test" settings=" cleanJsBrowserTest jsBrowserTest --tests \"sample.Obj.myTest\" cleanJsNodeTest jsNodeTest --tests \"sample.Obj.myTest\" cleanJvmTest jvmTest --tests \"sample.Obj.myTest\" --continue">myTest</lineMarker>() {}
|
fun <lineMarker descr="Run Test" settings=" cleanJsBrowserTest jsBrowserTest --tests \"sample.Obj.myTest\" cleanJsNodeTest jsNodeTest --tests \"sample.Obj.myTest\" cleanJvmTest jvmTest --tests \"sample.Obj.myTest\" --continue">myTest</lineMarker>() {}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user