preserve comments in invert if (IDEA-182500)

This commit is contained in:
Anna.Kozlova
2017-11-22 19:42:58 +01:00
parent b34e77020a
commit 0bd1694079
3 changed files with 26 additions and 1 deletions
@@ -29,6 +29,7 @@ import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.util.ArrayUtilRt;
import com.intellij.util.IncorrectOperationException;
import com.siyeh.ig.psiutils.CommentTracker;
import org.jetbrains.annotations.NotNull;
import java.util.List;
@@ -312,7 +313,7 @@ public class InvertIfConditionAction extends PsiElementBaseIntentionAction {
else if (thenBranch instanceof PsiBlockStatement) {
PsiStatement[] statements = ((PsiBlockStatement) thenBranch).getCodeBlock().getStatements();
if (statements.length > 0 && statements[statements.length - 1] instanceof PsiContinueStatement) {
statements[statements.length - 1].delete();
new CommentTracker().deleteAndRestoreComments(statements[statements.length - 1]);
}
}
}
@@ -0,0 +1,13 @@
// "Invert 'if' condition" "true"
class A {
void f(){
while (true) {
if (false) {
System.out.println();
}
else {
//comment
}
}
}
}
@@ -0,0 +1,11 @@
// "Invert 'if' condition" "true"
class A {
void f(){
while (true) {
i<caret>f (true) {
continue;//comment
}
System.out.println();
}
}
}