public RegexExpression Flush() { this.AppendExpression(null); var expression = this.alternate != null?RegexAlternation.Create(this.alternate, this.current) : this.current; if (this.caseSensitive.HasValue) { return(this.caseSensitive.Value ? RegexCaseGroup.CreateSensitive(expression) : RegexCaseGroup.CreateInsensitive(expression)); } return(expression); }
public RegexExpression Alternation(RegexAlternation node, KeyValuePair <SymbolId, int?> context) { return(RegexAlternation.Create(node.Left.Visit(this, context), node.Right.Visit(this, context))); }