ab694d352d
In the inferrer code like `local == null` would use the type information for the operands to determine whether the call was `o == null` or `null == o`. This had the side effect that if the left operand was a local variable known to have value `null` the case would be treated as `null == o` and the local would not be promoted to non-null on the false branch. Change-Id: I5fa08f8c891578f4c8e337e6cf5882fc2383063f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189210 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Mayank Patke <fishythefish@google.com>