anchor.diff:    /// The type of the expression on the LHS of `==` or `!=`.
     final Type _leftOperandType;
   
  -  _EqualityOpContext(
  -      ExpressionInfo<Variable, Type> conditionInfo, this._leftOperandType)
  +  /// If the LHS of `==` or `!=` is a variable reference, the variable.
  +  /// Otherwise `null`.
  +  final Variable _leftOperandVariable;
  +
  +  _EqualityOpContext(ExpressionInfo<Variable, Type> conditionInfo,
  +      this._leftOperandType, this._leftOperandVariable)
         : super(conditionInfo);
   
     @override
  
positive.code:     if (identical(_expressionWithInfo, oldExpression)) {
        _expressionWithInfo = newExpression;
      }
    }
  
    @override
  
negative.code:   /// corresponding to it.  Otherwise `null`.
    ExpressionInfo<Variable, Type> _expressionInfo;
  
    /// The most recently visited expression which was a variable reference, or
    /// `null` if no expression has been visited that was a variable reference.
    Expression _expressionWithVariable;
  
    /// If [_expressionVariable] is not `null`, the variable corresponding to it.
    /// Otherwise `null`.
    Variable _expressionVariable;
  
    int _functionNestingLevel = 0;
  
    final AssignedVariables<Node, Variable> _assignedVariables;
  