internal override IExp RemoveExpIfNull(ICaster caster) { IExp exp = _operand.RemoveExpIfNull(caster); if (exp == null) { return(null); } else { return(new NotExp(exp)); } }
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)); } }