40 references to Atomic
System.Text.RegularExpressions.Generator (40)
parent\src\System\Text\RegularExpressions\RegexNode.cs (22)
205if (Parent is not { Kind: RegexNodeKind.Atomic }) 208Kind = RegexNodeKind.Atomic; 429case RegexNodeKind.Atomic: 530case RegexNodeKind.Atomic: 546node.Parent is not { Kind: RegexNodeKind.Atomic }) // validate grandparent isn't atomic 548var atomic = new RegexNode(RegexNodeKind.Atomic, existingChild.Options); 589Debug.Assert(node.Kind is RegexNodeKind.Atomic or RegexNodeKind.Empty or RegexNodeKind.Loop or RegexNodeKind.Lazyloop); 591if (node.Kind is RegexNodeKind.Atomic) 639RegexNodeKind.Atomic => ReduceAtomic(), 704Debug.Assert(Kind == RegexNodeKind.Atomic); 709while (child.Kind == RegexNodeKind.Atomic) 1316if (alternation.Parent is RegexNode { Kind: RegexNodeKind.Atomic }) 1318var atomic = new RegexNode(RegexNodeKind.Atomic, alternation.Options); 1523if (alternation.Parent is RegexNode parent && parent.Kind == RegexNodeKind.Atomic) 1525var atomic = new RegexNode(RegexNodeKind.Atomic, startingNodeOptions); 1651case RegexNodeKind.Atomic: 2482case RegexNodeKind.Atomic: 2703case RegexNodeKind.Atomic: 2801case RegexNodeKind.Atomic: 2903case RegexNodeKind.Atomic: 3042case RegexNodeKind.Atomic: 3127while (child.Kind is RegexNodeKind.Capture or RegexNodeKind.Atomic)
parent\src\System\Text\RegularExpressions\RegexParser.cs (1)
870nodeType = RegexNodeKind.Atomic;
parent\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (10)
84case RegexNodeKind.Atomic: 454case RegexNodeKind.Atomic: 491case RegexNodeKind.Atomic: 681case RegexNodeKind.Atomic: 1030case RegexNodeKind.Atomic: 1138while (node.Kind is RegexNodeKind.Atomic or RegexNodeKind.Capture) 1155while (firstChild.Kind is RegexNodeKind.Atomic or RegexNodeKind.Capture) 1224while ((nextChild.Kind is RegexNodeKind.Atomic or RegexNodeKind.Capture or RegexNodeKind.Concatenate) || 1297case RegexNodeKind.Atomic: 1360case RegexNodeKind.Atomic:
parent\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (2)
59case RegexNodeKind.Atomic: 90RegexNodeKind.Atomic or RegexNodeKind.NegativeLookaround or RegexNodeKind.PositiveLookaround => true,
RegexGenerator.Emitter.cs (5)
2903case RegexNodeKind.Atomic when !rm.Analysis.MayBacktrack(node.Child(0)): 3004case RegexNodeKind.Atomic: 3030Debug.Assert(node.Kind is RegexNodeKind.Atomic or RegexNodeKind.PositiveLookaround or RegexNodeKind.NegativeLookaround or RegexNodeKind.ExpressionConditional, $"Unexpected type: {node.Kind}"); 5590RegexNodeKind.Atomic => $"Atomic group.", 5774RegexNodeKind.Atomic when node.Child(0).Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop or RegexNodeKind.Alternate => true,