40 references to Alternate
System.Text.RegularExpressions.Generator (40)
parent\src\System\Text\RegularExpressions\RegexNode.cs (25)
545if ((existingChild.Kind is RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional or RegexNodeKind.Loop or RegexNodeKind.Lazyloop) && 558case RegexNodeKind.Alternate: 638RegexNodeKind.Alternate => ReduceAlternation(), 659Debug.Assert(Kind is RegexNodeKind.Alternate or RegexNodeKind.Concatenate); 6620 => new RegexNode(Kind == RegexNodeKind.Alternate ? RegexNodeKind.Nothing : RegexNodeKind.Empty, Options), 750case RegexNodeKind.Alternate: 1073Debug.Assert(Kind == RegexNodeKind.Alternate); 1086if (node.Kind == RegexNodeKind.Alternate) 1089if (node.Kind == RegexNodeKind.Alternate) 1092if (node.Kind == RegexNodeKind.Alternate) 1100if (node.Kind is RegexNodeKind.Alternate && node.ChildCount() == 2) 1143if (at.Kind == RegexNodeKind.Alternate) 1241Debug.Assert(alternation.Kind == RegexNodeKind.Alternate); 1300var newAlternate = new RegexNode(RegexNodeKind.Alternate, alternation.Options); 1341Debug.Assert(node.Kind == RegexNodeKind.Alternate); 1384Debug.Assert(alternation.Kind == RegexNodeKind.Alternate); 1481var newAlternate = new RegexNode(RegexNodeKind.Alternate, startingNodeOptions); 1572Debug.Assert(Kind is RegexNodeKind.Alternate); 2196case RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional: 2518case RegexNodeKind.Alternate: 2704case RegexNodeKind.Alternate: 2740RegexNodeKind.Alternate => true, 2802case RegexNodeKind.Alternate: 2870case RegexNodeKind.Alternate: 2987case RegexNodeKind.Alternate:
parent\src\System\Text\RegularExpressions\RegexParser.cs (4)
1780var innerAlt = new RegexNode(RegexNodeKind.Alternate, lookaheadOpts); 1806var innerAlt = new RegexNode(RegexNodeKind.Alternate, lookaheadOpts); 1832var innerAlt = new RegexNode(RegexNodeKind.Alternate, lookbehindOpts); 2244_alternation = new RegexNode(RegexNodeKind.Alternate, _options);
parent\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:
parent\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
94RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional => true,
RegexGenerator.Emitter.cs (5)
1807Debug.Assert(node.Kind is RegexNodeKind.Alternate, $"Unexpected type: {node.Kind}"); 2988case RegexNodeKind.Alternate: 5589RegexNodeKind.Alternate => $"Match with {node.ChildCount()} alternative expressions{(rm.Analysis.IsAtomicByAncestor(node) ? ", atomically" : "")}.", 5771RegexNodeKind.Concatenate when node.Parent is not { Kind: RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional } => true, 5774RegexNodeKind.Atomic when node.Child(0).Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop or RegexNodeKind.Alternate => true,