Replace ConfigurationFactory with SimpleConfigurationType
#KT-36781 Fixed
This commit is contained in:
@@ -18,7 +18,8 @@ package org.jetbrains.kotlin.idea.run
|
|||||||
|
|
||||||
import com.intellij.execution.Location
|
import com.intellij.execution.Location
|
||||||
import com.intellij.execution.actions.ConfigurationContext
|
import com.intellij.execution.actions.ConfigurationContext
|
||||||
import com.intellij.execution.actions.RunConfigurationProducer
|
import com.intellij.execution.actions.LazyRunConfigurationProducer
|
||||||
|
import com.intellij.execution.configurations.ConfigurationFactory
|
||||||
import com.intellij.openapi.project.DumbService
|
import com.intellij.openapi.project.DumbService
|
||||||
import com.intellij.openapi.util.Ref
|
import com.intellij.openapi.util.Ref
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
@@ -34,7 +35,7 @@ import org.jetbrains.kotlin.psi.*
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||||
|
|
||||||
class KotlinRunConfigurationProducer : RunConfigurationProducer<KotlinRunConfiguration>(KotlinRunConfigurationType.getInstance()) {
|
class KotlinRunConfigurationProducer : LazyRunConfigurationProducer<KotlinRunConfiguration>() {
|
||||||
override fun setupConfigurationFromContext(
|
override fun setupConfigurationFromContext(
|
||||||
configuration: KotlinRunConfiguration,
|
configuration: KotlinRunConfiguration,
|
||||||
context: ConfigurationContext,
|
context: ConfigurationContext,
|
||||||
@@ -111,4 +112,6 @@ class KotlinRunConfigurationProducer : RunConfigurationProducer<KotlinRunConfigu
|
|||||||
return element as KtDeclarationContainer?
|
return element as KtDeclarationContainer?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getConfigurationFactory(): ConfigurationFactory = KotlinRunConfigurationType.getInstance()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,31 +16,31 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.run;
|
package org.jetbrains.kotlin.idea.run;
|
||||||
|
|
||||||
import com.intellij.execution.configurations.*;
|
import com.intellij.execution.configurations.ConfigurationTypeUtil;
|
||||||
|
import com.intellij.execution.configurations.JavaRunConfigurationModule;
|
||||||
|
import com.intellij.execution.configurations.RunConfiguration;
|
||||||
|
import com.intellij.execution.configurations.SimpleConfigurationType;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
|
import com.intellij.openapi.util.NotNullLazyValue;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.idea.KotlinIcons;
|
import org.jetbrains.kotlin.idea.KotlinIcons;
|
||||||
import org.jetbrains.kotlin.idea.KotlinLanguage;
|
import org.jetbrains.kotlin.idea.KotlinLanguage;
|
||||||
|
|
||||||
public class KotlinRunConfigurationType extends ConfigurationTypeBase {
|
public class KotlinRunConfigurationType extends SimpleConfigurationType {
|
||||||
public static KotlinRunConfigurationType getInstance() {
|
public static KotlinRunConfigurationType getInstance() {
|
||||||
return ConfigurationTypeUtil.findConfigurationType(KotlinRunConfigurationType.class);
|
return ConfigurationTypeUtil.findConfigurationType(KotlinRunConfigurationType.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public KotlinRunConfigurationType() {
|
public KotlinRunConfigurationType() {
|
||||||
super("JetRunConfigurationType", KotlinLanguage.NAME, KotlinLanguage.NAME, KotlinIcons.SMALL_LOGO);
|
super("JetRunConfigurationType",
|
||||||
addFactory(new KotlinRunConfigurationFactory(this));
|
KotlinLanguage.NAME,
|
||||||
|
KotlinLanguage.NAME,
|
||||||
|
NotNullLazyValue.createValue(() -> KotlinIcons.SMALL_LOGO));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class KotlinRunConfigurationFactory extends ConfigurationFactory {
|
@NotNull
|
||||||
protected KotlinRunConfigurationFactory(@NotNull ConfigurationType type) {
|
@Override
|
||||||
super(type);
|
public RunConfiguration createTemplateConfiguration(@NotNull Project project) {
|
||||||
}
|
return new KotlinRunConfiguration("", new JavaRunConfigurationModule(project, true), this);
|
||||||
|
|
||||||
@NotNull
|
|
||||||
@Override
|
|
||||||
public RunConfiguration createTemplateConfiguration(@NotNull Project project) {
|
|
||||||
return new KotlinRunConfiguration("", new JavaRunConfigurationModule(project, true), this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-2
@@ -6,14 +6,15 @@
|
|||||||
package org.jetbrains.kotlin.idea.run.script.standalone
|
package org.jetbrains.kotlin.idea.run.script.standalone
|
||||||
|
|
||||||
import com.intellij.execution.actions.ConfigurationContext
|
import com.intellij.execution.actions.ConfigurationContext
|
||||||
import com.intellij.execution.actions.RunConfigurationProducer
|
import com.intellij.execution.actions.LazyRunConfigurationProducer
|
||||||
|
import com.intellij.execution.configurations.ConfigurationFactory
|
||||||
import com.intellij.openapi.util.Ref
|
import com.intellij.openapi.util.Ref
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
|
|
||||||
class KotlinStandaloneScriptRunConfigurationProducer :
|
class KotlinStandaloneScriptRunConfigurationProducer :
|
||||||
RunConfigurationProducer<KotlinStandaloneScriptRunConfiguration>(KotlinStandaloneScriptRunConfigurationType.instance) {
|
LazyRunConfigurationProducer<KotlinStandaloneScriptRunConfiguration>() {
|
||||||
override fun setupConfigurationFromContext(
|
override fun setupConfigurationFromContext(
|
||||||
configuration: KotlinStandaloneScriptRunConfiguration,
|
configuration: KotlinStandaloneScriptRunConfiguration,
|
||||||
context: ConfigurationContext,
|
context: ConfigurationContext,
|
||||||
@@ -41,4 +42,6 @@ class KotlinStandaloneScriptRunConfigurationProducer :
|
|||||||
return script.containingKtFile.virtualFile.canonicalPath
|
return script.containingKtFile.virtualFile.canonicalPath
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getConfigurationFactory(): ConfigurationFactory = KotlinStandaloneScriptRunConfigurationType.instance
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-11
@@ -5,24 +5,21 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.run.script.standalone
|
package org.jetbrains.kotlin.idea.run.script.standalone
|
||||||
|
|
||||||
import com.intellij.execution.configurations.*
|
import com.intellij.execution.configurations.ConfigurationTypeUtil
|
||||||
|
import com.intellij.execution.configurations.RunConfiguration
|
||||||
|
import com.intellij.execution.configurations.SimpleConfigurationType
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.openapi.util.NotNullLazyValue
|
||||||
import org.jetbrains.kotlin.idea.KotlinIcons
|
import org.jetbrains.kotlin.idea.KotlinIcons
|
||||||
|
|
||||||
class KotlinStandaloneScriptRunConfigurationType : ConfigurationTypeBase(
|
class KotlinStandaloneScriptRunConfigurationType : SimpleConfigurationType(
|
||||||
"KotlinStandaloneScriptRunConfigurationType",
|
"KotlinStandaloneScriptRunConfigurationType",
|
||||||
"Kotlin script",
|
"Kotlin script",
|
||||||
"Run Kotlin script",
|
"Run Kotlin script",
|
||||||
KotlinIcons.SMALL_LOGO
|
NotNullLazyValue.createValue { KotlinIcons.SMALL_LOGO }
|
||||||
) {
|
) {
|
||||||
init {
|
override fun createTemplateConfiguration(project: Project): RunConfiguration {
|
||||||
addFactory(Factory(this))
|
return KotlinStandaloneScriptRunConfiguration(project, this, "")
|
||||||
}
|
|
||||||
|
|
||||||
private class Factory(type: ConfigurationType) : ConfigurationFactory(type) {
|
|
||||||
override fun createTemplateConfiguration(project: Project): RunConfiguration {
|
|
||||||
return KotlinStandaloneScriptRunConfiguration(project, this, "")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
Reference in New Issue
Block a user