49 references to Concatenate
System.Text.RegularExpressions.Generator (49)
RegexGenerator.Emitter.cs (5)
1920
case RegexNodeKind.
Concatenate
when child.Child(0) == startingLiteralNode && (startingLiteralNode.Kind is RegexNodeKind.One or RegexNodeKind.Set or RegexNodeKind.Multi):
2907
case RegexNodeKind.
Concatenate
:
3070
Debug.Assert(node.Kind is RegexNodeKind.
Concatenate
, $"Unexpected type: {node.Kind}");
5549
RegexNodeKind.
Concatenate
=> "Match a sequence of expressions.",
5723
RegexNodeKind.
Concatenate
when node.Parent is not { Kind: RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional } => true,
src\libraries\System.Text.RegularExpressions\src\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}");
src\libraries\System.Text.RegularExpressions\src\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);
src\libraries\System.Text.RegularExpressions\src\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
:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
101
RegexNodeKind.
Concatenate
=> i == childCount - 1,