56 references to Concatenate
System.Text.RegularExpressions.Generator (56)
RegexGenerator.Emitter.cs (5)
1922case RegexNodeKind.Concatenate when child.Child(0) == startingLiteralNode && (startingLiteralNode.Kind is RegexNodeKind.One or RegexNodeKind.Set or RegexNodeKind.Multi): 2909case RegexNodeKind.Concatenate: 3072Debug.Assert(node.Kind is RegexNodeKind.Concatenate, $"Unexpected type: {node.Kind}"); 5591RegexNodeKind.Concatenate => "Match a sequence of expressions.", 5765RegexNodeKind.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 (32)
138Kind == RegexNodeKind.Concatenate && 318case RegexNodeKind.Concatenate: 433case RegexNodeKind.Concatenate: 440if (node.Parent is { Kind: RegexNodeKind.Concatenate } parent) 543case RegexNodeKind.Concatenate when !rtl: 640RegexNodeKind.Concatenate => ReduceConcatenation(), 659Debug.Assert(Kind is RegexNodeKind.Alternate or RegexNodeKind.Concatenate); 1260RegexNode required = startingNode.Kind == RegexNodeKind.Concatenate ? startingNode.Child(0) : startingNode; 1281RegexNode other = endingNode.Kind == RegexNodeKind.Concatenate ? endingNode.Child(0) : endingNode; 1303if (children[i].Kind == RegexNodeKind.Concatenate) 1325var newConcat = new RegexNode(RegexNodeKind.Concatenate, alternation.Options); 1485ProcessOneOrMulti(branch.Kind == RegexNodeKind.Concatenate ? branch.Child(0) : branch, startingSpan); 1530var newConcat = new RegexNode(RegexNodeKind.Concatenate, startingNodeOptions); 1550RegexNode branch = Kind == RegexNodeKind.Concatenate ? Child(0) : this; 1652case RegexNodeKind.Concatenate: 1742Debug.Assert(Kind == RegexNodeKind.Concatenate); 1784Debug.Assert(Kind == RegexNodeKind.Concatenate); 1801if (at.Kind == RegexNodeKind.Concatenate && 1867Debug.Assert(Kind == RegexNodeKind.Concatenate); 2069if (Kind is not RegexNodeKind.Concatenate) 2093while (node.Kind is RegexNodeKind.Capture or RegexNodeKind.Concatenate) 2145while (loopChild.Kind is RegexNodeKind.Capture or RegexNodeKind.Concatenate) 2462while (node.Kind is RegexNodeKind.Capture or RegexNodeKind.Concatenate) 2480case RegexNodeKind.Concatenate: 2709case RegexNodeKind.Concatenate: 2788Debug.Assert(node.Kind is not RegexNodeKind.Concatenate, "The existing logic assumes that the node itself isn't a concatenation."); 2807case RegexNodeKind.Concatenate: 2891case RegexNodeKind.Concatenate: 3020case RegexNodeKind.Concatenate: 3105Debug.Assert(Kind == RegexNodeKind.Concatenate, $"Expected Concatenate, got {Kind}"); 3170else if (child.Kind is RegexNodeKind.Concatenate) 3241Debug.Assert(Kind == RegexNodeKind.Concatenate, $"Expected Concatenate, got {Kind}");
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexParser.cs (9)
544_concatenation = new RegexNode(RegexNodeKind.Concatenate, _options); 1745var crThenLf = new RegexNode(RegexNodeKind.Concatenate, lookaheadOpts); 1769var crlfEnd = new RegexNode(RegexNodeKind.Concatenate, lookaheadOpts); 1775var anyNewLineOptEnd = new RegexNode(RegexNodeKind.Concatenate, lookaheadOpts); 1787var result = new RegexNode(RegexNodeKind.Concatenate, opts); 1813var result = new RegexNode(RegexNodeKind.Concatenate, opts); 1839var result = new RegexNode(RegexNodeKind.Concatenate, opts); 2245_concatenation = new RegexNode(RegexNodeKind.Concatenate, _options); 2262_concatenation = new RegexNode(RegexNodeKind.Concatenate, _options);
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (9)
212case RegexNodeKind.Concatenate: 363case RegexNodeKind.Concatenate: 497case RegexNodeKind.Concatenate: 696case RegexNodeKind.Concatenate: 1050case RegexNodeKind.Concatenate: 1142if (node.Kind != RegexNodeKind.Concatenate) 1224while ((nextChild.Kind is RegexNodeKind.Atomic or RegexNodeKind.Capture or RegexNodeKind.Concatenate) || 1309case RegexNodeKind.Concatenate: 1373case RegexNodeKind.Concatenate:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
101RegexNodeKind.Concatenate => i == childCount - 1,