mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
introduce constant: do not suggest class chooser popup when "move to another class" was selected (IDEA-86379)
This commit is contained in:
+5
-1
@@ -58,6 +58,7 @@ import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.psi.util.PsiUtilBase;
|
||||
import com.intellij.refactoring.IntroduceHandlerBase;
|
||||
import com.intellij.refactoring.RefactoringBundle;
|
||||
import com.intellij.refactoring.introduce.inplace.AbstractInplaceIntroducer;
|
||||
import com.intellij.refactoring.introduceVariable.IntroduceVariableBase;
|
||||
import com.intellij.refactoring.rename.RenameJavaVariableProcessor;
|
||||
import com.intellij.refactoring.util.CommonRefactoringUtil;
|
||||
@@ -123,7 +124,10 @@ public abstract class BaseExpressionToFieldHandler extends IntroduceHandlerBase
|
||||
if (psiField != null && psiField.getParent() == aClass) break;
|
||||
aClass = PsiTreeUtil.getParentOfType(aClass, PsiClass.class, true);
|
||||
}
|
||||
if (classes.size() == 1 || editor == null || ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
final AbstractInplaceIntroducer activeIntroducer = AbstractInplaceIntroducer.getActiveIntroducer(editor);
|
||||
final boolean shouldSuggestDialog = activeIntroducer instanceof InplaceIntroduceConstantPopup &&
|
||||
activeIntroducer.startsOnTheSameElement(selectedExpr, null);
|
||||
if (classes.size() == 1 || editor == null || ApplicationManager.getApplication().isUnitTestMode() || shouldSuggestDialog) {
|
||||
return !convertExpressionToField(selectedExpr, editor, file, project, tempType);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.refactoring.HelpID;
|
||||
import com.intellij.refactoring.RefactoringBundle;
|
||||
import com.intellij.refactoring.introduce.inplace.AbstractInplaceIntroducer;
|
||||
import com.intellij.refactoring.util.CommonRefactoringUtil;
|
||||
import com.intellij.refactoring.util.EnumConstantsUtil;
|
||||
import com.intellij.refactoring.util.RefactoringUtil;
|
||||
@@ -80,7 +81,10 @@ public abstract class LocalToFieldHandler {
|
||||
}
|
||||
|
||||
if (classes.isEmpty()) return false;
|
||||
if (classes.size() == 1 || ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
final AbstractInplaceIntroducer activeIntroducer = AbstractInplaceIntroducer.getActiveIntroducer(editor);
|
||||
final boolean shouldSuggestDialog = activeIntroducer instanceof InplaceIntroduceConstantPopup &&
|
||||
activeIntroducer.startsOnTheSameElement(null, local);
|
||||
if (classes.size() == 1 || ApplicationManager.getApplication().isUnitTestMode() || shouldSuggestDialog) {
|
||||
if (convertLocalToField(local, classes.get(getChosenClassIndex(classes)), editor, tempIsStatic)) return false;
|
||||
} else {
|
||||
final boolean isStatic = tempIsStatic;
|
||||
|
||||
Reference in New Issue
Block a user