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