예제 #1
0
        /// <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));
        }
예제 #2
0
        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);
        }