[java-dfa] Fix 'Find the cause' for new StateMerger implementation

GitOrigin-RevId: a45e482a2305bee3f8584ca04dc3658851666c7a
This commit is contained in:
Tagir Valeev
2021-05-11 12:00:17 +00:00
committed by intellij-monorepo-bot
parent 7fc8a6997b
commit b54f0b35a7
3 changed files with 5 additions and 4 deletions
@@ -346,6 +346,7 @@ public class DfaMemoryStateImpl implements DfaMemoryState {
DfaMemoryStateImpl apply(DfaMemoryStateImpl left, DfaMemoryStateImpl right) {
DfaMemoryStateImpl result = (myApplyToRight ? right : left).createCopy();
myPatcher.accept(result);
result.afterMerge(myApplyToRight ? left : right);
return result;
}
}
@@ -2,8 +2,8 @@
Value is always false (foo == null; line#15)
'foo' was assigned (=; line#14)
One of the following happens:
Expression cannot be null as it's newly created object (new String("foo"); line#14)
or expression cannot be null as it's newly created object (new String("bar"); line#14)
Expression cannot be null as it's newly created object (new String("bar"); line#14)
or expression cannot be null as it's newly created object (new String("foo"); line#14)
*/
import org.jetbrains.annotations.Nullable;
@@ -2,8 +2,8 @@
Value is always false (trim(b ? s : s2) == ""; line#17)
According to inferred contract, method 'trim' returns 'null' value when parameter != null (trim; line#17)
One of the following happens:
's' is known to be 'non-null' from line #15 (s == null; line#15)
or 's2' is known to be 'non-null' from line #16 (s2 == null; line#16)
's2' is known to be 'non-null' from line #16 (s2 == null; line#16)
or 's' is known to be 'non-null' from line #15 (s == null; line#15)
and expression cannot be null as it's literal (""; line#17)
*/
class X {