public QilNode Or(QilNode left, QilNode right)
{
CheckLogicArg(left);
CheckLogicArg(right);
if (!_debug)
{
// True, True => True (left) other, True => True (right)
// True, False => True (left) other, False => other (left)
// True, other => True (left) other, other => Or
if (left.NodeType == QilNodeType.True || right.NodeType == QilNodeType.False)
{
return(left);
}
if (left.NodeType == QilNodeType.False || right.NodeType == QilNodeType.True)
{
return(right);
}
}
return(_f.Or(left, right));
}