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 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
View File
@@ -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")
} }