use new facade classes in run configurations
#KT-9092 Fixed
This commit is contained in:
@@ -17,24 +17,19 @@
|
|||||||
package org.jetbrains.kotlin.idea.run
|
package org.jetbrains.kotlin.idea.run
|
||||||
|
|
||||||
import com.intellij.execution.Location
|
import com.intellij.execution.Location
|
||||||
import com.intellij.execution.RunnerAndConfigurationSettings
|
|
||||||
import com.intellij.execution.actions.ConfigurationContext
|
import com.intellij.execution.actions.ConfigurationContext
|
||||||
import com.intellij.execution.actions.RunConfigurationProducer
|
import com.intellij.execution.actions.RunConfigurationProducer
|
||||||
import com.intellij.execution.junit.RuntimeConfigurationProducer
|
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.project.DumbService
|
import com.intellij.openapi.project.DumbService
|
||||||
import com.intellij.openapi.util.Comparing
|
|
||||||
import com.intellij.openapi.util.Ref
|
import com.intellij.openapi.util.Ref
|
||||||
import com.intellij.openapi.util.text.StringUtil
|
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import com.intellij.util.NotNullFunction
|
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
|
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||||
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.project.ProjectStructureUtil
|
import org.jetbrains.kotlin.idea.project.ProjectStructureUtil
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
@@ -104,7 +99,7 @@ public class KotlinRunConfigurationProducer : RunConfigurationProducer<JetRunCon
|
|||||||
|
|
||||||
public fun getStartClassFqName(container: JetDeclarationContainer?): FqName? = when(container) {
|
public fun getStartClassFqName(container: JetDeclarationContainer?): FqName? = when(container) {
|
||||||
null -> null
|
null -> null
|
||||||
is JetFile -> PackageClassUtils.getPackageClassFqName(container.getPackageFqName())
|
is JetFile -> JvmFileClassUtil.getFileClassInfoNoResolve(container).facadeClassFqName
|
||||||
is JetClassOrObject -> {
|
is JetClassOrObject -> {
|
||||||
if (container is JetObjectDeclaration && container.isCompanion()) {
|
if (container is JetObjectDeclaration && container.isCompanion()) {
|
||||||
val containerClass = container.getParentOfType<JetClass>(true)
|
val containerClass = container.getParentOfType<JetClass>(true)
|
||||||
|
|||||||
+9
-9
@@ -28,9 +28,9 @@ object Foo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// RUN: q.QPackage
|
// RUN: q.TestKt
|
||||||
object Foo2 {
|
object Foo2 {
|
||||||
// RUN: q.QPackage
|
// RUN: q.TestKt
|
||||||
fun main(s: Array<String>) {
|
fun main(s: Array<String>) {
|
||||||
println("Foo2")
|
println("Foo2")
|
||||||
}
|
}
|
||||||
@@ -46,33 +46,33 @@ class Bar {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// RUN: q.QPackage
|
// RUN: q.TestKt
|
||||||
class Bar2 {
|
class Bar2 {
|
||||||
companion object {
|
companion object {
|
||||||
// RUN: q.QPackage
|
// RUN: q.TestKt
|
||||||
fun main(s: Array<String>) {
|
fun main(s: Array<String>) {
|
||||||
println("Bar2")
|
println("Bar2")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// RUN: q.QPackage
|
// RUN: q.TestKt
|
||||||
class Baz {
|
class Baz {
|
||||||
// RUN: q.QPackage
|
// RUN: q.TestKt
|
||||||
platformStatic fun main(s: Array<String>) {
|
platformStatic fun main(s: Array<String>) {
|
||||||
println("Baz")
|
println("Baz")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// RUN: q.QPackage
|
// RUN: q.TestKt
|
||||||
class Baz2 {
|
class Baz2 {
|
||||||
// RUN: q.QPackage
|
// RUN: q.TestKt
|
||||||
fun main(s: Array<String>) {
|
fun main(s: Array<String>) {
|
||||||
println("Baz2")
|
println("Baz2")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// RUN: q.QPackage
|
// RUN: q.TestKt
|
||||||
fun main(s: Array<String>) {
|
fun main(s: Array<String>) {
|
||||||
println("Top-level")
|
println("Top-level")
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user