public abstract TResult Visit <TContext, TResult>(IRegexVisitor <TLetter, TContext, TResult> visitor, TContext context);
public override TResult Visit <TContext, TResult>(IRegexVisitor <TContext, TResult> visitor, TContext context) { return(visitor.Alternation(this, context)); }
public override TResult Visit <TContext, TResult>(IRegexVisitor <TContext, TResult> visitor, TContext context) { return(visitor.MatchSet(this, context)); }
public static IEnumerable <TResult> VisitBinary <TLetter, TBinaryNode, TContext, TResult>(this RxNode <TLetter> node, IRegexVisitor <TLetter, TContext, TResult> visitor, TContext context) where TBinaryNode : RxBinaryNode <TLetter> where TLetter : IEquatable <TLetter>, IComparable <TLetter> { if (node is TBinaryNode binaryNode) { return(binaryNode.Left.VisitBinary <TLetter, TBinaryNode, TContext, TResult>(visitor, context) .Concat(binaryNode.Right.VisitBinary <TLetter, TBinaryNode, TContext, TResult>(visitor, context))); } return(new[] { node.Visit(visitor, context) }); }
public override TResult Visit <TContext, TResult>(IRegexVisitor <TLetter, TContext, TResult> visitor, TContext context) { return(visitor.Empty(this, context)); }
public override TResult Visit <TContext, TResult>(IRegexVisitor <TContext, TResult> visitor, TContext context) { return(visitor.CaseGroup(this, context)); }
public override TResult Visit <TContext, TResult>(IRegexVisitor <TContext, TResult> visitor, TContext context) { return(visitor.Quantified(this, context)); }