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.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.util.Ref
|
||||
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.resolve.lazy.BodyResolveMode
|
||||
|
||||
class KotlinRunConfigurationProducer : RunConfigurationProducer<KotlinRunConfiguration>(KotlinRunConfigurationType.getInstance()) {
|
||||
class KotlinRunConfigurationProducer : LazyRunConfigurationProducer<KotlinRunConfiguration>() {
|
||||
override fun setupConfigurationFromContext(
|
||||
configuration: KotlinRunConfiguration,
|
||||
context: ConfigurationContext,
|
||||
@@ -111,4 +112,6 @@ class KotlinRunConfigurationProducer : RunConfigurationProducer<KotlinRunConfigu
|
||||
return element as KtDeclarationContainer?
|
||||
}
|
||||
}
|
||||
|
||||
override fun getConfigurationFactory(): ConfigurationFactory = KotlinRunConfigurationType.getInstance()
|
||||
}
|
||||
|
||||
@@ -16,31 +16,31 @@
|
||||
|
||||
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.util.NotNullLazyValue;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.idea.KotlinIcons;
|
||||
import org.jetbrains.kotlin.idea.KotlinLanguage;
|
||||
|
||||
public class KotlinRunConfigurationType extends ConfigurationTypeBase {
|
||||
public class KotlinRunConfigurationType extends SimpleConfigurationType {
|
||||
public static KotlinRunConfigurationType getInstance() {
|
||||
return ConfigurationTypeUtil.findConfigurationType(KotlinRunConfigurationType.class);
|
||||
}
|
||||
|
||||
public KotlinRunConfigurationType() {
|
||||
super("JetRunConfigurationType", KotlinLanguage.NAME, KotlinLanguage.NAME, KotlinIcons.SMALL_LOGO);
|
||||
addFactory(new KotlinRunConfigurationFactory(this));
|
||||
super("JetRunConfigurationType",
|
||||
KotlinLanguage.NAME,
|
||||
KotlinLanguage.NAME,
|
||||
NotNullLazyValue.createValue(() -> KotlinIcons.SMALL_LOGO));
|
||||
}
|
||||
|
||||
private static class KotlinRunConfigurationFactory extends ConfigurationFactory {
|
||||
protected KotlinRunConfigurationFactory(@NotNull ConfigurationType type) {
|
||||
super(type);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
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
|
||||
|
||||
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.psi.PsiElement
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||
|
||||
class KotlinStandaloneScriptRunConfigurationProducer :
|
||||
RunConfigurationProducer<KotlinStandaloneScriptRunConfiguration>(KotlinStandaloneScriptRunConfigurationType.instance) {
|
||||
LazyRunConfigurationProducer<KotlinStandaloneScriptRunConfiguration>() {
|
||||
override fun setupConfigurationFromContext(
|
||||
configuration: KotlinStandaloneScriptRunConfiguration,
|
||||
context: ConfigurationContext,
|
||||
@@ -41,4 +42,6 @@ class KotlinStandaloneScriptRunConfigurationProducer :
|
||||
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
|
||||
|
||||
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.util.NotNullLazyValue
|
||||
import org.jetbrains.kotlin.idea.KotlinIcons
|
||||
|
||||
class KotlinStandaloneScriptRunConfigurationType : ConfigurationTypeBase(
|
||||
class KotlinStandaloneScriptRunConfigurationType : SimpleConfigurationType(
|
||||
"KotlinStandaloneScriptRunConfigurationType",
|
||||
"Kotlin script",
|
||||
"Run Kotlin script",
|
||||
KotlinIcons.SMALL_LOGO
|
||||
NotNullLazyValue.createValue { KotlinIcons.SMALL_LOGO }
|
||||
) {
|
||||
init {
|
||||
addFactory(Factory(this))
|
||||
}
|
||||
|
||||
private class Factory(type: ConfigurationType) : ConfigurationFactory(type) {
|
||||
override fun createTemplateConfiguration(project: Project): RunConfiguration {
|
||||
return KotlinStandaloneScriptRunConfiguration(project, this, "")
|
||||
}
|
||||
override fun createTemplateConfiguration(project: Project): RunConfiguration {
|
||||
return KotlinStandaloneScriptRunConfiguration(project, this, "")
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
Reference in New Issue
Block a user