/// <inheritdoc/> public override ushort GetValue(Environment environment) { Console.WriteLine($"Evaluating {this}"); var leftSide = FirstOperand.GetValue(environment); var rightSide = SecondOperand.GetValue(environment); return((ushort)(leftSide & rightSide)); }
protected override MutableObject Mutate(MutableObject mutable) { foreach (var entry in Scope.GetEntries(mutable)) { var comparison = Comparison.GetValue(entry); var firstOperand = FirstOperand.GetValue(entry); var secondOperand = SecondOperand.GetValue(entry); ResultTarget.SetValue(IfCompareMutator.ComparisonPredicates[comparison](firstOperand, secondOperand), entry); } return(mutable); }