protected virtual void EmitNot(NPathNotExpression notExpression) { Write("(not "); // do not localize EmitExpression(notExpression.Expression); Write(")"); }
private SqlExpression EvalNot(NPathNotExpression notExpression) { SqlExpression expression = (SqlSearchCondition) EvalExpression(notExpression.Expression) ; SqlSearchCondition search = expression as SqlSearchCondition ; if (search != null) search.Negative = true; return expression; }
protected virtual bool EvalNotExpression(object item, NPathNotExpression notExpression) { return !EvalExpression(item, notExpression.Expression); }
private IValue ParseExpression() { if (tokenizer.GetCurrentToken().IsType("not")) { tokenizer.MoveNext(); // move past not NPathNotExpression not = new NPathNotExpression(); not.Expression = ParseExpression(); return not; } if (CurrentIsValue()) { IValue operand = ParseValue(); IValue expression = null; if (tokenizer.GetCurrentToken().IsType("between")) { expression = ParseBetweenExpression(operand); return expression; } if (tokenizer.GetCurrentToken().IsType("in")) { expression = ParseInExpression(operand); return expression; } if (tokenizer.GetCurrentToken().IsType("math") || tokenizer.GetCurrentToken().IsType("compare") /* || tokenizer.GetCurrentToken().IsType("boolop")*/) { expression = ParseOperator(operand); return expression; } if (tokenizer.GetCurrentToken().IsType(")")) { expression = operand; return expression; } if (tokenizer.GetCurrentToken().IsType("as")) { expression = operand; return expression; } if (tokenizer.GetCurrentToken().IsType("]")) { expression = operand; return expression; } if (tokenizer.GetCurrentToken().IsType("direction")) { expression = operand; return expression; } return operand; } throw GetUnknownTokenException(); }