internal override SearchQuery Optimize (ISearchQueryOptimizer optimizer) { var operand = Operand.Optimize (optimizer); SearchQuery unary; if (operand != Operand) unary = new UnarySearchQuery (Term, operand); else unary = this; return optimizer.Reduce (unary); }
internal override SearchQuery Optimize (ISearchQueryOptimizer optimizer) { SearchQuery unary = null; if (optimizer.CanReduce (Operand)) unary = new UnarySearchQuery (Term, optimizer.Reduce (Operand)); else unary = this; if (optimizer.CanReduce (unary)) return optimizer.Reduce (unary); return unary; }
internal override SearchQuery Optimize(ISearchQueryOptimizer optimizer) { var operand = Operand.Optimize(optimizer); SearchQuery unary; if (operand != Operand) { unary = new UnarySearchQuery(Term, operand); } else { unary = this; } return(optimizer.Reduce(unary)); }
internal override SearchQuery Optimize(ISearchQueryOptimizer optimizer) { SearchQuery unary = null; if (optimizer.CanReduce(Operand)) { unary = new UnarySearchQuery(Term, optimizer.Reduce(Operand)); } else { unary = this; } if (optimizer.CanReduce(unary)) { return(optimizer.Reduce(unary)); } return(unary); }