operator == method

  1. @override
bool operator == (
  1. Object other
)
override

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

Override this method to specify a different equality relation on a class. The overriding method must still be an equivalence relation. That is, it must be:

  • Total: It must return a boolean for all arguments. It should never throw or return null.

  • Reflexive: For all objects o, o == o must be true.

  • Symmetric: For all objects o1 and o2, o1 == o2 and o2 == o1 must either both be true, or both be false.

  • Transitive: For all objects o1, o2, and o3, if o1 == o2 and o2 == o3 are true, then o1 == o3 must be true.

The method should also be consistent over time, so whether two objects are equal should only change if at least one of the objects was modified.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

Implementation

@override
bool operator ==(Object other) {
  if (identical(this, other))
    return true;
  if (other.runtimeType != runtimeType)
    return false;
  return other is InputDecoration
      && other.icon == icon
      && other.labelText == labelText
      && other.labelStyle == labelStyle
      && other.helperText == helperText
      && other.helperStyle == helperStyle
      && other.helperMaxLines == helperMaxLines
      && other.hintText == hintText
      && other.hintStyle == hintStyle
      && other.hintMaxLines == hintMaxLines
      && other.errorText == errorText
      && other.errorStyle == errorStyle
      && other.errorMaxLines == errorMaxLines
      // ignore: deprecated_member_use_from_same_package
      && other.hasFloatingPlaceholder == hasFloatingPlaceholder
      && other.floatingLabelBehavior == floatingLabelBehavior
      && other.isDense == isDense
      && other.contentPadding == contentPadding
      && other.isCollapsed == isCollapsed
      && other.prefixIcon == prefixIcon
      && other.prefix == prefix
      && other.prefixText == prefixText
      && other.prefixStyle == prefixStyle
      && other.prefixIconConstraints == prefixIconConstraints
      && other.suffixIcon == suffixIcon
      && other.suffix == suffix
      && other.suffixText == suffixText
      && other.suffixStyle == suffixStyle
      && other.suffixIconConstraints == suffixIconConstraints
      && other.counter == counter
      && other.counterText == counterText
      && other.counterStyle == counterStyle
      && other.filled == filled
      && other.fillColor == fillColor
      && other.focusColor == focusColor
      && other.hoverColor == hoverColor
      && other.errorBorder == errorBorder
      && other.focusedBorder == focusedBorder
      && other.focusedErrorBorder == focusedErrorBorder
      && other.disabledBorder == disabledBorder
      && other.enabledBorder == enabledBorder
      && other.border == border
      && other.enabled == enabled
      && other.semanticCounterText == semanticCounterText
      && other.alignLabelWithHint == alignLabelWithHint;
}