47 references to Concatenate
System.Text.RegularExpressions.Generator (47)
RegexGenerator.Emitter.cs (5)
1933
case RegexNodeKind.
Concatenate
when child.Child(0) == startingLiteralNode && (startingLiteralNode.Kind is RegexNodeKind.One or RegexNodeKind.Set or RegexNodeKind.Multi):
2938
case RegexNodeKind.
Concatenate
:
3100
Debug.Assert(node.Kind is RegexNodeKind.
Concatenate
, $"Unexpected type: {node.Kind}");
5579
RegexNodeKind.
Concatenate
=> "Match a sequence of expressions.",
5753
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 (29)
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
);
1208
if (child.Kind != RegexNodeKind.
Concatenate
|| child.ChildCount() < 2)
1278
var newConcat = new RegexNode(RegexNodeKind.
Concatenate
, alternation.Options);
1435
ProcessOneOrMulti(branch.Kind == RegexNodeKind.
Concatenate
? branch.Child(0) : branch, startingSpan);
1480
var newConcat = new RegexNode(RegexNodeKind.
Concatenate
, startingNodeOptions);
1500
RegexNode branch = Kind == RegexNodeKind.
Concatenate
? Child(0) : this;
1532
case RegexNodeKind.
Concatenate
:
1622
Debug.Assert(Kind == RegexNodeKind.
Concatenate
);
1664
Debug.Assert(Kind == RegexNodeKind.
Concatenate
);
1681
if (at.Kind == RegexNodeKind.
Concatenate
&&
1747
Debug.Assert(Kind == RegexNodeKind.
Concatenate
);
1949
if (Kind is not RegexNodeKind.
Concatenate
)
1973
while (node.Kind is RegexNodeKind.Capture or RegexNodeKind.
Concatenate
)
2025
while (loopChild.Kind is RegexNodeKind.Capture or RegexNodeKind.
Concatenate
)
2274
while (node.Kind is RegexNodeKind.Capture or RegexNodeKind.
Concatenate
)
2292
case RegexNodeKind.
Concatenate
:
2494
case RegexNodeKind.
Concatenate
:
2533
Debug.Assert(node.Kind is not RegexNodeKind.
Concatenate
, "The existing logic assumes that the node itself isn't a concatenation.");
2552
case RegexNodeKind.
Concatenate
:
2636
case RegexNodeKind.
Concatenate
:
2765
case RegexNodeKind.
Concatenate
:
2842
Debug.Assert(Kind == RegexNodeKind.
Concatenate
, $"Expected Concatenate, got {Kind}");
2943
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);
2069
_concatenation = new RegexNode(RegexNodeKind.
Concatenate
, _options);
2086
_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)
105
RegexNodeKind.
Concatenate
=> i == childCount - 1,