public void Visit(ComparisionIsExpression node) { var operand = node.Operand; VisitChild(2, false, false, operand); if (!_verdictColumn || !(operand is Identifier)) { return; } var col = (Identifier)operand; var table = _tableAlias.GetValue(col.GetLevelUnescapeUpName(2) ?? Null_Alias_Key); if (!IsRuledColumn(table, col.IdTextUpUnescape)) { return; } switch (node.Mode) { case ComparisionIsExpression.IsFalse: { AddColumnValue(table, col.IdTextUpUnescape, LiteralBoolean.False, node, null); break; } case ComparisionIsExpression.IsTrue: { AddColumnValue(table, col.IdTextUpUnescape, LiteralBoolean.True, node, null); break; } case ComparisionIsExpression.IsNull: { AddColumnValue(table, col.IdTextUpUnescape, null, node, null); break; } } }
public virtual void Visit(ComparisionIsExpression node) { VisitInternal(node.Operand); }