/// <summary> /// Folds a negated character range node. /// </summary> /// <param name="negatedCharacterRange"></param> /// <param name="argument">The argument to be passed to the visitor method.</param> /// <returns> /// <list type="number"> /// <item>The original node if it's to be kept</item> /// <item>A different node to replace the original node with</item> /// <item>Null if the node is to be removed</item> /// </list> /// </returns> protected override GrammarNode <Char>?VisitNegatedCharacterRange(NegatedCharacterRange negatedCharacterRange, TArgument argument) => negatedCharacterRange;
/// <summary> /// Visits a negated character range. /// </summary> /// <param name="negatedCharacterRange"></param> /// <param name="argument">The argument data passed by the caller.</param> /// <returns>The result of visiting this node.</returns> protected abstract TReturn VisitNegatedCharacterRange(NegatedCharacterRange negatedCharacterRange, TArgument argument);
protected override String?VisitNegatedCharacterRange(NegatedCharacterRange negatedCharacterRange, Unit argument) => null;
/// <summary> /// Initializes a new set element. /// </summary> /// <param name="negatedCharacterRange"></param> public SetElement(NegatedCharacterRange negatedCharacterRange) : this((GrammarNode <Char>)negatedCharacterRange) { }