示例#1
0
 protected override object InternalVisit(BooleanNotExpression node)
 {
     return(new Func <Environment, object>(env =>
     {
         return !EvaluateExpression <bool>(node.Expression, env);
     }));
 }
 public QsiUnaryExpressionNode VisitBooleanNotExpression(BooleanNotExpression booleanNotExpression)
 {
     return(TreeHelper.Create <QsiUnaryExpressionNode>(n =>
     {
         n.Operator = SqlServerKnownOperator.Not;
         n.Expression.SetValue(VisitBooleanExpression(booleanNotExpression.Expression));
     }));
 }
        public override void ExplicitVisit(BooleanNotExpression node)
        {
            var binaryOp = new cs.CodeBinaryOperatorExpression()
            {
                Operator = cs.CodeBinaryOperatorType.IdentityInequality,
                Left     = TryBuildFromNode(node.Expression, ref lastHasError, ref lastError),
                Right    = new cs.CodePrimitiveExpression(true)
            };

            if (!lastHasError)
            {
                lastExpression = binaryOp;
            }
        }
示例#4
0
 public override void Visit(BooleanNotExpression node) { this.action(node); }
示例#5
0
 public override void ExplicitVisit(BooleanNotExpression node)
 {
     base.ExplicitVisit(node);
     ReplaceExpression(node, n => n.Expression);
 }
示例#6
0
 public override void ExplicitVisit(BooleanNotExpression node)
 {
     Rewrite(node, n => n.Expression);
     base.ExplicitVisit(node);
 }
 public override void ExplicitVisit(BooleanNotExpression fragment)
 {
     _fragments.Add(fragment);
 }
示例#8
0
 protected override object InternalVisit(BooleanNotExpression node)
 {
     //TODO: node.Cursor
     return(new SQLExpressionInterpreter(Database).Visit <object>(node));
 }
示例#9
0
 public override void ExplicitVisit(BooleanNotExpression node)
 {
     _buffer.Append("not ");
     node.Expression.Accept(this);
 }