receiveOperator method

Receive an operator (+, -, *, /)

Implementation

DartBlockValueTreeAlgebraicNode receiveOperator(
  DartBlockAlgebraicOperator operator,
) {
  final originalParent = parent;

  /// The constructor of ValueCompositionArithmeticOperatorNode automatically sets
  /// its childrens' parent property to itself. This is why we first retain the
  /// original parent with originalParent, such that we retain the reference.
  final newNode = DartBlockValueTreeAlgebraicOperatorNode.init(
    operator,
    this,
    null,
    originalParent,
  );
  originalParent?.replaceChild(this, newNode);

  return newNode;
}