mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IG: fix comment tracking
This commit is contained in:
+10
-5
@@ -275,16 +275,19 @@ public class PointlessBooleanExpressionInspection extends BaseInspection {
|
||||
|
||||
private void buildSimplifiedAssignmentExpression(PsiAssignmentExpression expression, StringBuilder out, CommentTracker tracker) {
|
||||
final IElementType tokenType = expression.getOperationTokenType();
|
||||
final PsiExpression lhs = expression.getLExpression();
|
||||
|
||||
if (tokenType == JavaTokenType.ANDEQ) {
|
||||
if (evaluate(expression.getRExpression()) == Boolean.TRUE) {
|
||||
if (expression.getParent() instanceof PsiExpressionStatement) {
|
||||
return;
|
||||
}
|
||||
out.append(expression.getLExpression().getText());
|
||||
out.append(lhs.getText());
|
||||
}
|
||||
else {
|
||||
out.append(expression.getLExpression().getText()).append("=false");
|
||||
out.append(lhs.getText()).append("=false");
|
||||
}
|
||||
tracker.markUnchanged(lhs);
|
||||
return;
|
||||
}
|
||||
else if (tokenType == JavaTokenType.OREQ) {
|
||||
@@ -292,14 +295,16 @@ public class PointlessBooleanExpressionInspection extends BaseInspection {
|
||||
if (expression.getParent() instanceof PsiExpressionStatement) {
|
||||
return;
|
||||
}
|
||||
out.append(expression.getLExpression().getText());
|
||||
out.append(lhs.getText());
|
||||
}
|
||||
else {
|
||||
out.append(expression.getLExpression().getText()).append("=true");
|
||||
out.append(lhs.getText()).append("=true");
|
||||
}
|
||||
tracker.markUnchanged(lhs);
|
||||
return;
|
||||
}
|
||||
out.append(expression.getLExpression().getText()).append(expression.getOperationSign().getText());
|
||||
tracker.markUnchanged(lhs);
|
||||
out.append(lhs.getText()).append(expression.getOperationSign().getText());
|
||||
buildSimplifiedExpression(expression.getRExpression(), out, tracker);
|
||||
}
|
||||
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class CompoundAssignmentSideEffect {
|
||||
|
||||
void m() {
|
||||
// 2
|
||||
/*3*/
|
||||
/*4*/
|
||||
createSomeObject(/*1*/).b = false;
|
||||
}
|
||||
|
||||
X createSomeObject() {
|
||||
return new X();
|
||||
}
|
||||
|
||||
class X {
|
||||
boolean b = false;
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
class CompoundAssignmentSideEffect {
|
||||
|
||||
void m() {
|
||||
createSomeObject(/*1*/).b // 2
|
||||
&= /*3*//*4*/ false<caret>;
|
||||
}
|
||||
|
||||
X createSomeObject() {
|
||||
return new X();
|
||||
}
|
||||
|
||||
class X {
|
||||
boolean b = false;
|
||||
}
|
||||
}
|
||||
+1
@@ -26,4 +26,5 @@ public class PointlessBooleanExpressionFixTest extends IGQuickFixesTestCase {
|
||||
public void testCompoundAssignment2() { doTest(); }
|
||||
public void testCompoundAssignment3() { doTest(); }
|
||||
public void testCompoundAssignmentSideEffect() { doTest(InspectionGadgetsBundle.message("boolean.expression.remove.compound.assignment.quickfix")); }
|
||||
public void testCompoundAssignmentSideEffect2() { doTest(); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user