correctly update name of run configuration on class rename
This commit is contained in:
committed by
Nikolay Krasko
parent
247ffdccbe
commit
9cfc6b3905
@@ -34,6 +34,7 @@ import com.intellij.openapi.roots.*;
|
||||
import com.intellij.openapi.util.DefaultJDOMExternalizer;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
import com.intellij.openapi.util.WriteExternalException;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -51,6 +52,7 @@ import org.jetbrains.kotlin.asJava.KotlinLightMethod;
|
||||
import org.jetbrains.kotlin.idea.MainFunctionDetector;
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage;
|
||||
import org.jetbrains.kotlin.idea.stubindex.JetTopLevelFunctionFqnNameIndex;
|
||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.psi.JetDeclaration;
|
||||
@@ -252,6 +254,14 @@ public class JetRunConfiguration extends ModuleBasedConfiguration<RunConfigurati
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String suggestedName() {
|
||||
if (MAIN_CLASS_NAME == null) {
|
||||
return null;
|
||||
}
|
||||
return StringUtil.trimEnd(MAIN_CLASS_NAME, "." + PackageClassUtils.getPackageClassName(new FqName(MAIN_CLASS_NAME)));
|
||||
}
|
||||
|
||||
private static class MyJavaCommandLineState extends JavaCommandLineState {
|
||||
|
||||
private final JetRunConfiguration myConfiguration;
|
||||
|
||||
@@ -70,8 +70,8 @@ public class KotlinRunConfigurationProducer : RunConfigurationProducer<JetRunCon
|
||||
configuration: JetRunConfiguration,
|
||||
fqName: FqName) {
|
||||
configuration.setModule(module)
|
||||
configuration.setName(StringUtil.trimEnd(fqName.asString(), "." + PackageClassUtils.getPackageClassName(fqName)))
|
||||
configuration.setRunClass(fqName.asString())
|
||||
configuration.setGeneratedName()
|
||||
}
|
||||
|
||||
override fun isConfigurationFromContext(configuration: JetRunConfiguration, context: ConfigurationContext): Boolean {
|
||||
|
||||
Reference in New Issue
Block a user