public override CharClass Union(CharClass other) { var that = other as CharRangeCharClass; if (that == null) { return(base.Union(other)); } return(new CharRangeCharClass(CharRangeUtility.TryMerge(_charRanges.Concat(that._charRanges)))); }
public override CharClass Plus(char ch) { return(new CharRangeCharClass(CharRangeUtility.TryMerge(_charRanges.Concat(new[] { CharRange.Exactly(ch) })))); }