diff --git a/idea/src/META-INF/junit.xml b/idea/src/META-INF/junit.xml
index fe8cea18191..099716d030a 100644
--- a/idea/src/META-INF/junit.xml
+++ b/idea/src/META-INF/junit.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/idea/src/org/jetbrains/kotlin/idea/run/JetTestNgConfigurationProducer.java b/idea/src/org/jetbrains/kotlin/idea/run/JetTestNgConfigurationProducer.java
index 8ee7a4ec3ec..a2662807dc6 100644
--- a/idea/src/org/jetbrains/kotlin/idea/run/JetTestNgConfigurationProducer.java
+++ b/idea/src/org/jetbrains/kotlin/idea/run/JetTestNgConfigurationProducer.java
@@ -90,7 +90,7 @@ public class JetTestNgConfigurationProducer extends TestNGConfigurationProducer
JetClass jetClass = PsiTreeUtil.getParentOfType(leaf, JetClass.class, false);
if (jetClass == null) {
- jetClass = JetJUnitConfigurationProducer.getClassDeclarationInFile(jetFile);
+ jetClass = KotlinJUnitRunConfigurationProducer.Companion.getClassDeclarationInFile(jetFile);
}
if (jetClass == null) {
diff --git a/idea/src/org/jetbrains/kotlin/idea/run/KotlinJUnitRunConfigurationProducer.kt b/idea/src/org/jetbrains/kotlin/idea/run/KotlinJUnitRunConfigurationProducer.kt
index 480f8c8db3b..dc6d8d021ec 100644
--- a/idea/src/org/jetbrains/kotlin/idea/run/KotlinJUnitRunConfigurationProducer.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/run/KotlinJUnitRunConfigurationProducer.kt
@@ -14,142 +14,134 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.idea.run;
+package org.jetbrains.kotlin.idea.run
-import com.intellij.execution.JavaRunConfigurationExtensionManager;
-import com.intellij.execution.Location;
-import com.intellij.execution.PsiLocation;
-import com.intellij.execution.RunnerAndConfigurationSettings;
-import com.intellij.execution.actions.ConfigurationContext;
-import com.intellij.execution.junit.JUnitConfiguration;
-import com.intellij.execution.junit.JUnitConfigurationType;
-import com.intellij.execution.junit.JUnitUtil;
-import com.intellij.execution.junit.RuntimeConfigurationProducer;
-import com.intellij.openapi.module.Module;
-import com.intellij.openapi.project.DumbService;
-import com.intellij.psi.PsiClass;
-import com.intellij.psi.PsiElement;
-import com.intellij.psi.PsiMethod;
-import com.intellij.psi.util.PsiTreeUtil;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.jetbrains.kotlin.asJava.LightClassUtil;
-import org.jetbrains.kotlin.idea.project.ProjectStructureUtil;
-import org.jetbrains.kotlin.idea.util.ProjectRootsUtil;
-import org.jetbrains.kotlin.psi.*;
+import com.intellij.execution.JavaRunConfigurationExtensionManager
+import com.intellij.execution.Location
+import com.intellij.execution.PsiLocation
+import com.intellij.execution.RunnerAndConfigurationSettings
+import com.intellij.execution.actions.ConfigurationContext
+import com.intellij.execution.junit.JUnitConfiguration
+import com.intellij.execution.junit.JUnitConfigurationType
+import com.intellij.execution.junit.JUnitUtil
+import com.intellij.execution.junit.RuntimeConfigurationProducer
+import com.intellij.openapi.module.Module
+import com.intellij.openapi.project.DumbService
+import com.intellij.psi.PsiClass
+import com.intellij.psi.PsiElement
+import com.intellij.psi.PsiMethod
+import com.intellij.psi.util.PsiTreeUtil
+import org.jetbrains.kotlin.asJava.LightClassUtil
+import org.jetbrains.kotlin.idea.project.ProjectStructureUtil
+import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
+import org.jetbrains.kotlin.psi.*
-public class JetJUnitConfigurationProducer extends RuntimeConfigurationProducer {
- private JetElement myElement;
+public class KotlinJUnitRunConfigurationProducer : RuntimeConfigurationProducer(JUnitConfigurationType.getInstance()) {
+ private var myElement: JetElement? = null
- public JetJUnitConfigurationProducer() {
- super(JUnitConfigurationType.getInstance());
+ override fun getSourceElement(): PsiElement? {
+ return myElement
}
- @Override
- public PsiElement getSourceElement() {
- return myElement;
- }
+ override fun createConfigurationByElement(location: Location<*>, context: ConfigurationContext): RunnerAndConfigurationSettings? {
+ if (DumbService.getInstance(location.getProject()).isDumb()) return null
- @Override
- protected RunnerAndConfigurationSettings createConfigurationByElement(Location location, ConfigurationContext context) {
- if (DumbService.getInstance(location.getProject()).isDumb()) return null;
-
- PsiElement leaf = location.getPsiElement();
+ val leaf = location.getPsiElement()
if (!ProjectRootsUtil.isInProjectOrLibSource(leaf)) {
- return null;
+ return null
}
- if (!(leaf.getContainingFile() instanceof JetFile)) {
- return null;
+ if (leaf.getContainingFile() !is JetFile) {
+ return null
}
- JetFile jetFile = (JetFile) leaf.getContainingFile();
+ val jetFile = leaf.getContainingFile() as JetFile
if (ProjectStructureUtil.isJsKotlinModule(jetFile)) {
- return null;
+ return null
}
- JetNamedFunction function = PsiTreeUtil.getParentOfType(leaf, JetNamedFunction.class, false);
+ val function = PsiTreeUtil.getParentOfType(leaf, javaClass(), false)
if (function != null) {
- myElement = function;
+ myElement = function
@SuppressWarnings("unchecked")
- JetElement owner = PsiTreeUtil.getParentOfType(function, JetFunction.class, JetClass.class);
+ val owner = PsiTreeUtil.getParentOfType(function, javaClass(), javaClass())
- if (owner instanceof JetClass) {
- PsiClass delegate = LightClassUtil.getPsiClass((JetClass) owner);
+ if (owner is JetClass) {
+ val delegate = LightClassUtil.getPsiClass(owner)
if (delegate != null) {
- for (PsiMethod method : delegate.getMethods()) {
- if (method.getNavigationElement() == function) {
- Location methodLocation = PsiLocation.fromPsiElement(method);
+ for (method in delegate.getMethods()) {
+ if (method.getNavigationElement() === function) {
+ val methodLocation = PsiLocation.fromPsiElement(method)
if (JUnitUtil.isTestMethod(methodLocation, false)) {
- RunnerAndConfigurationSettings settings = cloneTemplateConfiguration(context.getProject(), context);
- JUnitConfiguration configuration = (JUnitConfiguration) settings.getConfiguration();
+ val settings = cloneTemplateConfiguration(context.getProject(), context)
+ val configuration = settings.getConfiguration() as JUnitConfiguration
- Module originalModule = configuration.getConfigurationModule().getModule();
- configuration.beMethodConfiguration(methodLocation);
- configuration.restoreOriginalModule(originalModule);
- JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
+ val originalModule = configuration.getConfigurationModule().getModule()
+ configuration.beMethodConfiguration(methodLocation)
+ configuration.restoreOriginalModule(originalModule)
+ JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location)
- return settings;
+ return settings
}
- break;
+ break
}
}
}
}
}
- JetClass jetClass = PsiTreeUtil.getParentOfType(leaf, JetClass.class, false);
+ var jetClass = PsiTreeUtil.getParentOfType(leaf, javaClass(), false)
if (jetClass == null) {
- jetClass = getClassDeclarationInFile(jetFile);
+ jetClass = getClassDeclarationInFile(jetFile)
}
if (jetClass != null) {
- myElement = jetClass;
- PsiClass delegate = LightClassUtil.getPsiClass(jetClass);
+ myElement = jetClass
+ val delegate = LightClassUtil.getPsiClass(jetClass)
if (delegate != null && JUnitUtil.isTestClass(delegate)) {
- RunnerAndConfigurationSettings settings = cloneTemplateConfiguration(context.getProject(), context);
- JUnitConfiguration configuration = (JUnitConfiguration) settings.getConfiguration();
+ val settings = cloneTemplateConfiguration(context.getProject(), context)
+ val configuration = settings.getConfiguration() as JUnitConfiguration
- Module originalModule = configuration.getConfigurationModule().getModule();
- configuration.beClassConfiguration(delegate);
- configuration.restoreOriginalModule(originalModule);
- JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
+ val originalModule = configuration.getConfigurationModule().getModule()
+ configuration.beClassConfiguration(delegate)
+ configuration.restoreOriginalModule(originalModule)
+ JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location)
- return settings;
+ return settings
}
}
- return null;
+ return null
}
- @Nullable
- static JetClass getClassDeclarationInFile(JetFile jetFile) {
- JetClass tempSingleDeclaration = null;
+ override fun compareTo(o: Any?): Int {
+ return 0
+ }
- for (JetDeclaration jetDeclaration : jetFile.getDeclarations()) {
- if (jetDeclaration instanceof JetClass) {
- JetClass declaration = (JetClass) jetDeclaration;
+ companion object {
- if (tempSingleDeclaration == null) {
- tempSingleDeclaration = declaration;
- }
- else {
- // There are several class declarations in file
- return null;
+ fun getClassDeclarationInFile(jetFile: JetFile): JetClass? {
+ var tempSingleDeclaration: JetClass? = null
+
+ for (jetDeclaration in jetFile.getDeclarations()) {
+ if (jetDeclaration is JetClass) {
+
+ if (tempSingleDeclaration == null) {
+ tempSingleDeclaration = jetDeclaration
+ }
+ else {
+ // There are several class declarations in file
+ return null
+ }
}
}
+
+ return tempSingleDeclaration
}
-
- return tempSingleDeclaration;
- }
-
- @Override
- public int compareTo(@NotNull Object o) {
- return 0;
}
}