use new facade classes in run configurations

#KT-9092 Fixed
This commit is contained in:
Dmitry Jemerov
2015-09-11 16:59:29 +02:00
parent d4d633ea26
commit 4e8d664dfb
2 changed files with 11 additions and 16 deletions
@@ -17,24 +17,19 @@
package org.jetbrains.kotlin.idea.run
import com.intellij.execution.Location
import com.intellij.execution.RunnerAndConfigurationSettings
import com.intellij.execution.actions.ConfigurationContext
import com.intellij.execution.actions.RunConfigurationProducer
import com.intellij.execution.junit.RuntimeConfigurationProducer
import com.intellij.openapi.module.Module
import com.intellij.openapi.project.DumbService
import com.intellij.openapi.util.Comparing
import com.intellij.openapi.util.Ref
import com.intellij.openapi.util.text.StringUtil
import com.intellij.psi.PsiElement
import com.intellij.psi.util.PsiTreeUtil
import com.intellij.util.NotNullFunction
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
import org.jetbrains.kotlin.idea.MainFunctionDetector
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
import org.jetbrains.kotlin.idea.project.ProjectStructureUtil
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
@@ -104,7 +99,7 @@ public class KotlinRunConfigurationProducer : RunConfigurationProducer<JetRunCon
public fun getStartClassFqName(container: JetDeclarationContainer?): FqName? = when(container) {
null -> null
is JetFile -> PackageClassUtils.getPackageClassFqName(container.getPackageFqName())
is JetFile -> JvmFileClassUtil.getFileClassInfoNoResolve(container).facadeClassFqName
is JetClassOrObject -> {
if (container is JetObjectDeclaration && container.isCompanion()) {
val containerClass = container.getParentOfType<JetClass>(true)
+9 -9
View File
@@ -28,9 +28,9 @@ object Foo {
}
}
// RUN: q.QPackage
// RUN: q.TestKt
object Foo2 {
// RUN: q.QPackage
// RUN: q.TestKt
fun main(s: Array<String>) {
println("Foo2")
}
@@ -46,33 +46,33 @@ class Bar {
}
}
// RUN: q.QPackage
// RUN: q.TestKt
class Bar2 {
companion object {
// RUN: q.QPackage
// RUN: q.TestKt
fun main(s: Array<String>) {
println("Bar2")
}
}
}
// RUN: q.QPackage
// RUN: q.TestKt
class Baz {
// RUN: q.QPackage
// RUN: q.TestKt
platformStatic fun main(s: Array<String>) {
println("Baz")
}
}
// RUN: q.QPackage
// RUN: q.TestKt
class Baz2 {
// RUN: q.QPackage
// RUN: q.TestKt
fun main(s: Array<String>) {
println("Baz2")
}
}
// RUN: q.QPackage
// RUN: q.TestKt
fun main(s: Array<String>) {
println("Top-level")
}