コード例 #1
0
        internal override IExp RemoveExpIfNull(ICaster caster)
        {
            IExp exp = _operand.RemoveExpIfNull(caster);

            if (exp == null)
            {
                return(null);
            }
            else
            {
                return(new NotExp(exp));
            }
        }
コード例 #2
0
        internal override IExp RemoveExpIfNull(ICaster caster)
        {
            IExp lExp = _lOperand.RemoveExpIfNull(caster);
            IExp rExp = _rOperand.RemoveExpIfNull(caster);

            if (lExp == null && rExp == null)
            {
                return(null);
            }
            else if (lExp == null)
            {
                return(rExp);
            }
            else if (rExp == null)
            {
                return(lExp);
            }
            else
            {
                return(new XOrExp(lExp, rExp));
            }
        }