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)); }