IDEA-261718 Application run configuration: inner class is prefixed with dollar and is reported invalid

GitOrigin-RevId: d7076e6fa90fd24c3943290f2e8b8880407bec68
This commit is contained in:
Dmitry Avdeev
2021-02-25 10:42:12 +00:00
committed by intellij-monorepo-bot
parent 1fa7c91484
commit 264671134b
@@ -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;
});
}
}