mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
skip chooser if method from abstract class is chosen from non-abstract inheritor
This commit is contained in:
@@ -15,7 +15,9 @@
|
||||
*/
|
||||
package com.intellij.execution.junit;
|
||||
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.junit2.info.MethodLocation;
|
||||
import com.intellij.ide.util.PsiClassListCellRenderer;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.ui.popup.JBPopupFactory;
|
||||
@@ -51,6 +53,13 @@ public class InheritorChooser {
|
||||
final PsiMethod psiMethod,
|
||||
final PsiClass containingClass) {
|
||||
if (containingClass != null && containingClass.hasModifierProperty(PsiModifier.ABSTRACT)) {
|
||||
final Location location = context.getLocation();
|
||||
if (location instanceof MethodLocation) {
|
||||
final PsiClass aClass = ((MethodLocation)location).getContainingClass();
|
||||
if (aClass != null && !aClass.hasModifierProperty(PsiModifier.ABSTRACT)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
final List<PsiClass> classes = new ArrayList<PsiClass>();
|
||||
if (!ProgressManager.getInstance().runProcessWithProgressSynchronously(new Runnable() {
|
||||
@Override
|
||||
|
||||
@@ -112,7 +112,7 @@ public class ConfigurationContext {
|
||||
return myConfiguration;
|
||||
}
|
||||
|
||||
Location getLocation() {
|
||||
public Location getLocation() {
|
||||
return myLocation;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user