Пример #1
0
        public override RCValue Edit(RCRunner runner, RCValueDelegate editor)
        {
            RCOperator result = (RCOperator)base.Edit(runner, editor);

            if (result != null)
            {
                return(result);
            }
            RCValue left = null;

            if (_left != null)
            {
                left = _left.Edit(runner, editor);
            }
            RCValue right = _right.Edit(runner, editor);

            if (left != null || right != null)
            {
                if (left == null)
                {
                    left = _left;
                }
                if (right == null)
                {
                    right = _right;
                }
                result = runner.New(_name, left, right);
                return(result);
            }
            else
            {
                return(null);
            }
        }