public override void VisitAfter(NotPredicate notPredicate) { if (IsPlaceHolderPredicate(notPredicate.Operand)) { notPredicate.Operand = PlaceInNot((PlaceHolderPredicate)notPredicate.Operand); } }
public override void VisitAfter(NotPredicate notPredicate) { if (this.IsNotInMainResultsSource()) { return; } --_notNestLevel; }
public override void VisitOnElsIf(IfStmt ifStmt, int ifThenIndex, int offset) { if (_topIfStmt != ifStmt) { return; } // ELSE(ELSIF)において、スタックの1番上の式を否定し、これをスタックに戻す var lastCondition = _conditionStack.Pop(); var lastNotCondition = new NotPredicate(this.EncloseIfNecessary(lastCondition)); _conditionStack.Push(lastNotCondition); // IFにおいて条件式をスタックにPUSHする _conditionStack.Push(this.EncloseIfNecessary(ifStmt.Conditions[ifThenIndex])); }
public override void VisitOnElse(IfStmt ifStmt, int offset) { if (_topIfStmt != ifStmt) { return; } // ELSE(ELSIF)において、スタックの1番上の式を否定し、これをスタックに戻す var lastCondition = _conditionStack.Pop(); var lastNotCondition = new NotPredicate(this.EncloseIfNecessary(lastCondition)); _conditionStack.Push(lastNotCondition); // 条件式とSQL文をリストに格納する _conditions.Add(this.ConcatConditions(_conditionStack)); _stmtsList.Add(this.RemoveNullStmt(ifStmt.ElseStatements)); }
virtual public void VisitAfter(NotPredicate notPredicate) { }
virtual public void VisitBefore(NotPredicate notPredicate) { }
public override void VisitAfter(NotPredicate notPredicate) { }
public override void VisitAfter(NotPredicate notPredicate) { --_predicateLevel; }
public override void VisitBefore(NotPredicate notPredicate) { ++_predicateLevel; }
public void VisitAfter(NotPredicate notPredicate) { _visitor.VisitAfter(notPredicate); }
public void VisitBefore(NotPredicate notPredicate) { _visitor.VisitBefore(notPredicate); }