mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-30 02:09:59 +07:00
DeleteSideEffectsAwareFix: do not remove message for non-expression-statement
The fix is still useful if invoked for if condition/switch expression/etc. Fixes IDEA-180372.
This commit is contained in:
@@ -47,7 +47,8 @@ public class DeleteSideEffectsAwareFix extends LocalQuickFixAndIntentionActionOn
|
||||
if (sideEffects.isEmpty()) {
|
||||
myMessage = QuickFixBundle.message("delete.element.fix.text");
|
||||
}
|
||||
else if (sideEffects.size() == 1 && sideEffects.get(0) == PsiUtil.skipParenthesizedExprDown(expression)) {
|
||||
else if (sideEffects.size() == 1 && statement instanceof PsiExpressionStatement &&
|
||||
sideEffects.get(0) == PsiUtil.skipParenthesizedExprDown(expression)) {
|
||||
// "Remove unnecessary parentheses" action is already present which will do the same
|
||||
myMessage = "";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
// "Extract side effect" "true"
|
||||
class Test {
|
||||
void test(int x) {
|
||||
foo(x, 2);
|
||||
}
|
||||
|
||||
boolean foo(int x, int y) {
|
||||
System.out.println(x);
|
||||
return x > y;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// "Extract side effect" "true"
|
||||
class Test {
|
||||
void test(int x) {
|
||||
i<caret>f(foo(x, 2)) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
boolean foo(int x, int y) {
|
||||
System.out.println(x);
|
||||
return x > y;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user