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.DefaultJDOMExternalizer;
|
||||||
import com.intellij.openapi.util.InvalidDataException;
|
import com.intellij.openapi.util.InvalidDataException;
|
||||||
import com.intellij.openapi.util.WriteExternalException;
|
import com.intellij.openapi.util.WriteExternalException;
|
||||||
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.openapi.vfs.VirtualFile;
|
import com.intellij.openapi.vfs.VirtualFile;
|
||||||
import com.intellij.psi.PsiClass;
|
import com.intellij.psi.PsiClass;
|
||||||
import com.intellij.psi.PsiElement;
|
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.MainFunctionDetector;
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage;
|
import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage;
|
||||||
import org.jetbrains.kotlin.idea.stubindex.JetTopLevelFunctionFqnNameIndex;
|
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.FqName;
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
import org.jetbrains.kotlin.psi.JetDeclaration;
|
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 static class MyJavaCommandLineState extends JavaCommandLineState {
|
||||||
|
|
||||||
private final JetRunConfiguration myConfiguration;
|
private final JetRunConfiguration myConfiguration;
|
||||||
|
|||||||
@@ -70,8 +70,8 @@ public class KotlinRunConfigurationProducer : RunConfigurationProducer<JetRunCon
|
|||||||
configuration: JetRunConfiguration,
|
configuration: JetRunConfiguration,
|
||||||
fqName: FqName) {
|
fqName: FqName) {
|
||||||
configuration.setModule(module)
|
configuration.setModule(module)
|
||||||
configuration.setName(StringUtil.trimEnd(fqName.asString(), "." + PackageClassUtils.getPackageClassName(fqName)))
|
|
||||||
configuration.setRunClass(fqName.asString())
|
configuration.setRunClass(fqName.asString())
|
||||||
|
configuration.setGeneratedName()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun isConfigurationFromContext(configuration: JetRunConfiguration, context: ConfigurationContext): Boolean {
|
override fun isConfigurationFromContext(configuration: JetRunConfiguration, context: ConfigurationContext): Boolean {
|
||||||
|
|||||||
Reference in New Issue
Block a user