diff --git a/plugins/kotlin/run-configurations/jvm/src/org/jetbrains/kotlin/idea/run/KotlinRunConfigurationEditor.java b/plugins/kotlin/run-configurations/jvm/src/org/jetbrains/kotlin/idea/run/KotlinRunConfigurationEditor.java index 6b1bad6abe9f..fb44d6469dc3 100644 --- a/plugins/kotlin/run-configurations/jvm/src/org/jetbrains/kotlin/idea/run/KotlinRunConfigurationEditor.java +++ b/plugins/kotlin/run-configurations/jvm/src/org/jetbrains/kotlin/idea/run/KotlinRunConfigurationEditor.java @@ -128,16 +128,8 @@ public final class KotlinRunConfigurationEditor extends SettingsEditor(); - mainClass.setComponent(ClassEditorField.createClassField(project, () -> moduleSelector.getModule(), (declaration, place) -> { - if (declaration instanceof KtLightClass aClass) { - if (ConfigurationUtil.MAIN_CLASS.value(aClass) - && (PsiMethodUtil.findMainMethod(aClass) != null || place.getParent() != null) - && moduleSelector.findClass(((PsiClass)declaration).getQualifiedName()) != null) { - return JavaCodeFragment.VisibilityChecker.Visibility.VISIBLE; - } - } - return JavaCodeFragment.VisibilityChecker.Visibility.NOT_VISIBLE; - }, createApplicationClassBrowser(project, () -> moduleSelector.getModule(), moduleChooser))); + mainClass.setComponent(ClassEditorField.createClassField(project, () -> moduleSelector.getModule(), VISIBILITY_CHECKER, + createApplicationClassBrowser(project, () -> moduleSelector.getModule(), moduleChooser))); } @Override @@ -154,4 +146,15 @@ public final class KotlinRunConfigurationEditor extends SettingsEditor { + if (declaration instanceof KtLightClass aClass) { + if (ConfigurationUtil.MAIN_CLASS.value(aClass) + && (PsiMethodUtil.findMainMethod(aClass) != null || place.getParent() != null) + && ModuleUtilCore.findModuleForPsiElement(declaration) != null) { + return JavaCodeFragment.VisibilityChecker.Visibility.VISIBLE; + } + } + return JavaCodeFragment.VisibilityChecker.Visibility.NOT_VISIBLE; + }; +} \ No newline at end of file