anchor.diff:        if (body != null) {
           _overrideManager.enterScope();
           try {
  -          _propagateTrueState(condition);
             visitStatementInScope(body);
           } finally {
             _overrideManager.exitScope();
  
positive.code:         try {
            _promoteManager.enterScope();
            try {
              _propagateTrueState(leftOperand);
              // Type promotion.
              _promoteTypes(leftOperand);
              _clearTypePromotionsIfPotentiallyMutatedIn(leftOperand);
  
negative.code:     bool thenIsAbrupt = _isAbruptTerminationStatement(thenStatement);
      bool elseIsAbrupt = _isAbruptTerminationStatement(elseStatement);
      if (elseIsAbrupt && !thenIsAbrupt) {
        _overrideManager.applyOverrides(thenOverrides);
      } else if (thenIsAbrupt && !elseIsAbrupt) {
        _overrideManager.applyOverrides(elseOverrides);
      } else if (!thenIsAbrupt && !elseIsAbrupt) {
        List<Map<VariableElement, DartType>> perBranchOverrides =
  