Tagir Valeev and intellij-monorepo-bot
0b3fd46151
Simplify boolean expression improvements
...
1. Add "may change semantics" when side-effect cannot be extracted
2. Use condition reporting (instead of constant value reporting) for non-short-circuiting & and | (fixes IDEA-216245)
3. Use SimplifyBooleanExpressionFix for boolean constant value instead of replace fix.
GitOrigin-RevId: f3e63a75bd92a7305e36fce58bf9e34bdbb03c51
2019-07-02 06:52:16 +03:00
Tagir Valeev
2e36108630
SimplifyBooleanExpressionFix: support always-false last disjunct in if
...
Fixes IDEA-200961 Simplification of "!list.add(type) is always false" may change code semantic
2018-10-23 17:44:26 +07:00
Tagir Valeev
8bb578e43c
SimplifyBooleanExpressionFix: fix 'while' handling after ensureCodeBlock improvements
2018-10-02 16:36:16 +07:00
peter
9f0c066ae9
when "if" or a loop body is deleted, replace it with an empty code block
...
to preserve PSI-text consistency
2018-09-21 13:48:12 +02:00
peter
41d78cd086
IDEA-182501 Unwrap 'if' generates unreachable code
2018-01-03 21:47:57 +01:00
Tagir Valeev
c78e018f81
DFA: ignore boolean fields initializer if it's true or false literal
...
Often it's used as a knob to switch program behavior, so it's reasonable to analyze both alternatives
2017-12-29 18:35:29 +07:00
peter
4d005013e6
CodeEditUtil.addChildren: avoid returning invalid AST
2017-11-24 16:55:59 +01:00
Bas Leijdekkers
b6a75ac21d
IG: fix containsConflictingDeclarations()
2017-10-22 19:41:59 +02:00
peter
609eea57ac
IDEA-178434 "Unwrap 'if' statement" produces incompilable code if variable declared in the if body shadows the outer scope variable
2017-10-13 21:17:37 +02:00
peter
365d521519
IDEA-175018 Unwrap if produces red code
2017-07-07 17:53:00 +02:00
peter
66b8d67f53
IDEA-165067 Unwrapping 'if' leads to non-compilable code
2016-12-22 14:06:29 +01:00
peter
a4aa1f2bd7
IDEA-152224 Unwrap if should check if there are conflicting variables
2016-04-19 14:00:30 +02:00