From 264671134bcf22657328b2c704fe37e2b2f47c7e Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Thu, 25 Feb 2021 13:40:34 +0300 Subject: [PATCH] IDEA-261718 Application run configuration: inner class is prefixed with dollar and is reported invalid GitOrigin-RevId: d7076e6fa90fd24c3943290f2e8b8880407bec68 --- .../JavaApplicationSettingsEditor.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/java/execution/impl/src/com/intellij/execution/application/JavaApplicationSettingsEditor.java b/java/execution/impl/src/com/intellij/execution/application/JavaApplicationSettingsEditor.java index ad3e11e30ec4..49b7fdaffbf5 100644 --- a/java/execution/impl/src/com/intellij/execution/application/JavaApplicationSettingsEditor.java +++ b/java/execution/impl/src/com/intellij/execution/application/JavaApplicationSettingsEditor.java @@ -2,14 +2,22 @@ package com.intellij.execution.application; import com.intellij.execution.ExecutionBundle; +import com.intellij.execution.JavaExecutionUtil; import com.intellij.execution.configurations.RuntimeConfigurationException; import com.intellij.execution.ui.*; import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.util.text.StringUtil; +import com.intellij.psi.JavaPsiFacade; +import com.intellij.psi.PsiClass; +import com.intellij.psi.PsiManager; +import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.util.ClassUtil; import com.intellij.ui.EditorTextField; +import com.intellij.util.indexing.DumbModeAccessType; +import com.intellij.util.indexing.FileBasedIndex; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.Collections; import java.util.List; @@ -74,4 +82,13 @@ public final class JavaApplicationSettingsEditor extends JavaSettingsEditorBase< Collections.singletonList(RuntimeConfigurationException.validate(mainClass, () -> ReadAction.run(() -> configuration.checkClass())))); return mainClassFragment; } + + @Nullable + private String getJvmName(@Nullable String className) { + if (className == null) return null; + return FileBasedIndex.getInstance().ignoreDumbMode(DumbModeAccessType.RELIABLE_DATA_ONLY, () -> { + PsiClass aClass = JavaPsiFacade.getInstance(getProject()).findClass(className, GlobalSearchScope.allScope(getProject())); + return aClass != null ? JavaExecutionUtil.getRuntimeQualifiedName(aClass) : className; + }); + } }