38 references to Alternate
System.Text.RegularExpressions.Generator (38)
RegexGenerator.Emitter.cs (5)
1805Debug.Assert(node.Kind is RegexNodeKind.Alternate, $"Unexpected type: {node.Kind}"); 2986case RegexNodeKind.Alternate: 5541RegexNodeKind.Alternate => $"Match with {node.ChildCount()} alternative expressions{(rm.Analysis.IsAtomicByAncestor(node) ? ", atomically" : "")}.", 5723RegexNodeKind.Concatenate when node.Parent is not { Kind: RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional } => true, 5726RegexNodeKind.Atomic when node.Child(0).Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop or RegexNodeKind.Alternate => true,
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNode.cs (26)
319case RegexNodeKind.Alternate: 498if ((existingChild.Kind is RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional or RegexNodeKind.Loop or RegexNodeKind.Lazyloop) && 511case RegexNodeKind.Alternate: 591RegexNodeKind.Alternate => ReduceAlternation(), 612Debug.Assert(Kind is RegexNodeKind.Alternate or RegexNodeKind.Concatenate); 6150 => new RegexNode(Kind == RegexNodeKind.Alternate ? RegexNodeKind.Nothing : RegexNodeKind.Empty, Options), 695case RegexNodeKind.Alternate: 1018Debug.Assert(Kind == RegexNodeKind.Alternate); 1031if (node.Kind == RegexNodeKind.Alternate) 1034if (node.Kind == RegexNodeKind.Alternate) 1037if (node.Kind == RegexNodeKind.Alternate) 1045if (node.Kind is RegexNodeKind.Alternate && node.ChildCount() == 2) 1088if (at.Kind == RegexNodeKind.Alternate) 1186Debug.Assert(alternation.Kind == RegexNodeKind.Alternate); 1245var newAlternate = new RegexNode(RegexNodeKind.Alternate, alternation.Options); 1286Debug.Assert(node.Kind == RegexNodeKind.Alternate); 1329Debug.Assert(alternation.Kind == RegexNodeKind.Alternate); 1423var newAlternate = new RegexNode(RegexNodeKind.Alternate, startingNodeOptions); 1514Debug.Assert(Kind is RegexNodeKind.Alternate); 2138case RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional: 2402case RegexNodeKind.Alternate: 2561case RegexNodeKind.Alternate: 2603RegexNodeKind.Alternate => true, 2665case RegexNodeKind.Alternate: 2733case RegexNodeKind.Alternate: 2850case RegexNodeKind.Alternate:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexParser.cs (1)
2097_alternation = new RegexNode(RegexNodeKind.Alternate, _options);
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (5)
242case RegexNodeKind.Alternate: 377case RegexNodeKind.Alternate when !rtl: // for RTL we'd need to be matching the suffixes of the alternation cases 709case RegexNodeKind.Alternate when thorough: 1081case RegexNodeKind.Alternate: 1477case RegexNodeKind.Alternate:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
94RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional => true,