54 references to Concatenate
System.Text.RegularExpressions (54)
System\Text\RegularExpressions\RegexCompiler.cs (3)
2045
case RegexNodeKind.
Concatenate
when child.Child(0) == startingLiteralNode && (startingLiteralNode.Kind is RegexNodeKind.One or RegexNodeKind.Set or RegexNodeKind.Multi):
3024
case RegexNodeKind.
Concatenate
:
3140
Debug.Assert(node.Kind is RegexNodeKind.
Concatenate
, $"Unexpected type: {node.Kind}");
System\Text\RegularExpressions\RegexNode.cs (31)
138
Kind == RegexNodeKind.
Concatenate
&&
318
case RegexNodeKind.
Concatenate
:
419
case RegexNodeKind.
Concatenate
:
426
if (node.Parent is { Kind: RegexNodeKind.
Concatenate
} parent)
496
case RegexNodeKind.
Concatenate
when !rtl:
593
RegexNodeKind.
Concatenate
=> ReduceConcatenation(),
612
Debug.Assert(Kind is RegexNodeKind.Alternate or RegexNodeKind.
Concatenate
);
1205
RegexNode required = startingNode.Kind == RegexNodeKind.
Concatenate
? startingNode.Child(0) : startingNode;
1226
RegexNode other = endingNode.Kind == RegexNodeKind.
Concatenate
? endingNode.Child(0) : endingNode;
1248
if (children[i].Kind == RegexNodeKind.
Concatenate
)
1270
var newConcat = new RegexNode(RegexNodeKind.
Concatenate
, alternation.Options);
1427
ProcessOneOrMulti(branch.Kind == RegexNodeKind.
Concatenate
? branch.Child(0) : branch, startingSpan);
1472
var newConcat = new RegexNode(RegexNodeKind.
Concatenate
, startingNodeOptions);
1492
RegexNode branch = Kind == RegexNodeKind.
Concatenate
? Child(0) : this;
1594
case RegexNodeKind.
Concatenate
:
1684
Debug.Assert(Kind == RegexNodeKind.
Concatenate
);
1726
Debug.Assert(Kind == RegexNodeKind.
Concatenate
);
1743
if (at.Kind == RegexNodeKind.
Concatenate
&&
1809
Debug.Assert(Kind == RegexNodeKind.
Concatenate
);
2011
if (Kind is not RegexNodeKind.
Concatenate
)
2035
while (node.Kind is RegexNodeKind.Capture or RegexNodeKind.
Concatenate
)
2087
while (loopChild.Kind is RegexNodeKind.Capture or RegexNodeKind.
Concatenate
)
2346
while (node.Kind is RegexNodeKind.Capture or RegexNodeKind.
Concatenate
)
2364
case RegexNodeKind.
Concatenate
:
2566
case RegexNodeKind.
Concatenate
:
2651
Debug.Assert(node.Kind is not RegexNodeKind.
Concatenate
, "The existing logic assumes that the node itself isn't a concatenation.");
2670
case RegexNodeKind.
Concatenate
:
2754
case RegexNodeKind.
Concatenate
:
2883
case RegexNodeKind.
Concatenate
:
2960
Debug.Assert(Kind == RegexNodeKind.
Concatenate
, $"Expected Concatenate, got {Kind}");
3061
Debug.Assert(Kind == RegexNodeKind.
Concatenate
, $"Expected Concatenate, got {Kind}");
System\Text\RegularExpressions\RegexParser.cs (3)
521
_concatenation = new RegexNode(RegexNodeKind.
Concatenate
, _options);
2098
_concatenation = new RegexNode(RegexNodeKind.
Concatenate
, _options);
2115
_concatenation = new RegexNode(RegexNodeKind.
Concatenate
, _options);
System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (9)
212
case RegexNodeKind.
Concatenate
:
363
case RegexNodeKind.
Concatenate
:
497
case RegexNodeKind.
Concatenate
:
696
case RegexNodeKind.
Concatenate
:
1050
case RegexNodeKind.
Concatenate
:
1142
if (node.Kind != RegexNodeKind.
Concatenate
)
1224
while ((nextChild.Kind is RegexNodeKind.Atomic or RegexNodeKind.Capture or RegexNodeKind.
Concatenate
) ||
1309
case RegexNodeKind.
Concatenate
:
1373
case RegexNodeKind.
Concatenate
:
System\Text\RegularExpressions\RegexReplacement.cs (1)
36
Debug.Assert(concat.Kind == RegexNodeKind.
Concatenate
, $"Expected Concatenate, got {concat.Kind}");
System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
101
RegexNodeKind.
Concatenate
=> i == childCount - 1,
System\Text\RegularExpressions\RegexWriter.cs (2)
215
case RegexNodeKind.
Concatenate
| BeforeChild:
216
case RegexNodeKind.
Concatenate
| AfterChild:
System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (3)
84
case RegexNodeKind.
Concatenate
:
211
case RegexNodeKind.
Concatenate
:
285
Debug.Assert(rootResult.Count == 1 || root.Kind == RegexNodeKind.
Concatenate
|| root.Kind == RegexNodeKind.Capture);
System\Text\RegularExpressions\Symbolic\SymbolicRegexKind.cs (1)
13
/// <summary>A node that matches a sequence of nodes (i.e. <see cref="RegexNodeKind.
Concatenate
"/>).</summary>