293 references to RegexKind
Microsoft.CodeAnalysis.CSharp.EditorFeatures2.UnitTests (4)
EmbeddedLanguages\RegularExpressions\CSharpRegexParserTests.cs (4)
25
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
26
using RegexTrivia = EmbeddedSyntaxTrivia<
RegexKind
>;
302
case
RegexKind
.CommentTrivia:
303
case
RegexKind
.WhitespaceTrivia:
Microsoft.CodeAnalysis.Features (289)
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexBraceMatcher.cs (3)
19
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
20
using RegexTrivia = EmbeddedSyntaxTrivia<
RegexKind
>;
79
if (trivia?.Kind !=
RegexKind
.CommentTrivia)
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexClassifier.cs (3)
19
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
20
using RegexTrivia = EmbeddedSyntaxTrivia<
RegexKind
>;
97
if (trivia.Kind ==
RegexKind
.CommentTrivia &&
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexDocumentHighlighter.cs (5)
20
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
88
if (captureToken.Kind ==
RegexKind
.NumberToken)
128
if (node.Kind is
RegexKind
.BackreferenceEscape or
129
RegexKind
.CaptureEscape or
130
RegexKind
.KCaptureEscape)
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexEmbeddedCompletionProvider.cs (4)
24
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
191
case
RegexKind
.BackslashToken:
194
case
RegexKind
.OpenBracketToken:
197
case
RegexKind
.OpenParenToken:
EmbeddedLanguages\RegularExpressions\RegexHelpers.cs (6)
15
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
16
using RegexTrivia = EmbeddedSyntaxTrivia<
RegexKind
>;
23
public static RegexToken CreateToken(
RegexKind
kind, ImmutableArray<RegexTrivia> leadingTrivia, VirtualCharSequence virtualChars)
26
public static RegexToken CreateMissingToken(
RegexKind
kind)
29
public static RegexTrivia CreateTrivia(
RegexKind
kind, VirtualCharSequence virtualChars)
32
public static RegexTrivia CreateTrivia(
RegexKind
kind, VirtualCharSequence virtualChars, ImmutableArray<EmbeddedDiagnostic> diagnostics)
EmbeddedLanguages\RegularExpressions\RegexLexer.cs (38)
17
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
18
using RegexTrivia = EmbeddedSyntaxTrivia<
RegexKind
>;
33
/// cref="RegexTextNode"/>s in a row (each containing a <see cref="
RegexKind
.TextToken"/> a
60
return CreateToken(
RegexKind
.EndOfFile, trivia, VirtualCharSequence.Empty);
69
private static
RegexKind
GetKind(VirtualChar ch)
72
'|' =>
RegexKind
.BarToken,
73
'*' =>
RegexKind
.AsteriskToken,
74
'+' =>
RegexKind
.PlusToken,
75
'?' =>
RegexKind
.QuestionToken,
76
'{' =>
RegexKind
.OpenBraceToken,
77
'}' =>
RegexKind
.CloseBraceToken,
78
'\\' =>
RegexKind
.BackslashToken,
79
'[' =>
RegexKind
.OpenBracketToken,
80
']' =>
RegexKind
.CloseBracketToken,
81
'.' =>
RegexKind
.DotToken,
82
'^' =>
RegexKind
.CaretToken,
83
'$' =>
RegexKind
.DollarToken,
84
'(' =>
RegexKind
.OpenParenToken,
85
')' =>
RegexKind
.CloseParenToken,
86
',' =>
RegexKind
.CommaToken,
87
':' =>
RegexKind
.ColonToken,
88
'=' =>
RegexKind
.EqualsToken,
89
'!' =>
RegexKind
.ExclamationToken,
90
'<' =>
RegexKind
.LessThanToken,
91
'>' =>
RegexKind
.GreaterThanToken,
92
'-' =>
RegexKind
.MinusToken,
93
'\'' =>
RegexKind
.SingleQuoteToken,
94
_ =>
RegexKind
.TextToken,
148
return CreateTrivia(
RegexKind
.CommentTrivia, GetSubPatternToCurrentPos(start));
166
return CreateTrivia(
RegexKind
.CommentTrivia, GetSubPatternToCurrentPos(start), diagnostics);
170
return CreateTrivia(
RegexKind
.CommentTrivia, GetSubPatternToCurrentPos(start));
208
return CreateTrivia(
RegexKind
.WhitespaceTrivia, GetSubPatternToCurrentPos(start));
240
var token = CreateToken(
RegexKind
.EscapeCategoryToken, [], GetSubPatternToCurrentPos(start));
294
var token = CreateToken(
RegexKind
.NumberToken, [], GetSubPatternToCurrentPos(start));
325
var token = CreateToken(
RegexKind
.CaptureNameToken, [], GetSubPatternToCurrentPos(start));
343
: CreateToken(
RegexKind
.OptionsToken, ImmutableArray<RegexTrivia>.Empty, GetSubPatternToCurrentPos(start));
386
RegexKind
.TextToken, [], GetSubPatternToCurrentPos(start));
447
RegexKind
.TextToken, [], GetSubPatternToCurrentPos(start));
EmbeddedLanguages\RegularExpressions\RegexNode.cs (2)
9
internal abstract class RegexNode : EmbeddedSyntaxNode<
RegexKind
, RegexNode>
11
protected RegexNode(
RegexKind
kind) : base(kind)
EmbeddedLanguages\RegularExpressions\RegexNodes.cs (96)
12
using RegexAlternatingSequenceList = EmbeddedSeparatedSyntaxNodeList<
RegexKind
, RegexNode, RegexSequenceNode>;
13
using RegexNodeOrToken = EmbeddedSyntaxNodeOrToken<
RegexKind
, RegexNode>;
14
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
19
: base(
RegexKind
.CompilationUnit)
22
Debug.Assert(endOfFileToken.Kind ==
RegexKind
.EndOfFile);
55
internal sealed class RegexSequenceNode(ImmutableArray<RegexExpressionNode> children) : RegexExpressionNode(
RegexKind
.Sequence)
74
: base(
RegexKind
.Text)
76
Debug.Assert(textToken.Kind ==
RegexKind
.TextToken);
101
RegexKind
kind, RegexToken openBracketToken, RegexSequenceNode components, RegexToken closeBracketToken)
104
Debug.Assert(openBracketToken.Kind ==
RegexKind
.OpenBracketToken);
106
Debug.Assert(closeBracketToken.Kind ==
RegexKind
.CloseBracketToken);
121
RegexToken openBracketToken, RegexSequenceNode components, RegexToken closeBracketToken) : RegexBaseCharacterClassNode(
RegexKind
.CharacterClass, openBracketToken, components, closeBracketToken)
145
: base(
RegexKind
.NegatedCharacterClass, openBracketToken, components, closeBracketToken)
147
Debug.Assert(caretToken.Kind ==
RegexKind
.CaretToken);
176
: base(
RegexKind
.CharacterClassRange)
179
Debug.Assert(minusToken.Kind ==
RegexKind
.MinusToken);
214
: base(
RegexKind
.CharacterClassSubtraction)
216
Debug.Assert(minusToken.Kind ==
RegexKind
.MinusToken);
244
protected RegexExpressionNode(
RegexKind
kind)
255
protected RegexPrimaryExpressionNode(
RegexKind
kind)
267
: base(
RegexKind
.Wildcard)
269
Debug.Assert(dotToken.Kind ==
RegexKind
.DotToken);
293
protected RegexQuantifierNode(
RegexKind
kind)
306
: base(
RegexKind
.ZeroOrMoreQuantifier)
309
Debug.Assert(asteriskToken.Kind ==
RegexKind
.AsteriskToken);
338
: base(
RegexKind
.OneOrMoreQuantifier)
341
Debug.Assert(plusToken.Kind ==
RegexKind
.PlusToken);
370
: base(
RegexKind
.ZeroOrOneQuantifier)
373
Debug.Assert(questionToken.Kind ==
RegexKind
.QuestionToken);
404
: base(
RegexKind
.LazyQuantifier)
407
Debug.Assert(quantifier.Kind !=
RegexKind
.LazyQuantifier);
408
Debug.Assert(questionToken.Kind ==
RegexKind
.QuestionToken);
437
RegexKind
kind, RegexPrimaryExpressionNode expression, RegexToken openBraceToken, RegexToken firstNumberToken, RegexToken closeBraceToken)
441
Debug.Assert(openBraceToken.Kind ==
RegexKind
.OpenBraceToken);
442
Debug.Assert(firstNumberToken.Kind ==
RegexKind
.NumberToken);
443
Debug.Assert(closeBraceToken.Kind ==
RegexKind
.CloseBraceToken);
460
RegexPrimaryExpressionNode expression, RegexToken openBraceToken, RegexToken numberToken, RegexToken closeBraceToken) : RegexNumericQuantifierNode(
RegexKind
.ExactNumericQuantifier, expression, openBraceToken, numberToken, closeBraceToken)
487
: base(
RegexKind
.OpenRangeNumericQuantifier, expression, openBraceToken, firstNumberToken, closeBraceToken)
489
Debug.Assert(commaToken.Kind ==
RegexKind
.CommaToken);
521
: base(
RegexKind
.ClosedRangeNumericQuantifier, expression, openBraceToken, firstNumberToken, closeBraceToken)
523
Debug.Assert(commaToken.Kind ==
RegexKind
.CommaToken);
524
Debug.Assert(secondNumberToken.Kind ==
RegexKind
.NumberToken);
555
public RegexAnchorNode(
RegexKind
kind, RegexToken anchorToken)
558
Debug.Assert(anchorToken.Kind is
RegexKind
.DollarToken or
RegexKind
.CaretToken);
583
: base(
RegexKind
.Alternation)
587
Debug.Assert(sequenceList.NodesAndTokens[i].Kind ==
RegexKind
.BarToken);
608
protected RegexGroupingNode(
RegexKind
kind, RegexToken openParenToken, RegexToken closeParenToken)
611
Debug.Assert(openParenToken.Kind ==
RegexKind
.OpenParenToken);
612
Debug.Assert(closeParenToken.Kind ==
RegexKind
.CloseParenToken);
627
: base(
RegexKind
.SimpleGrouping, openParenToken, closeParenToken)
655
protected RegexQuestionGroupingNode(
RegexKind
kind, RegexToken openParenToken, RegexToken questionToken, RegexToken closeParenToken)
658
Debug.Assert(questionToken.Kind ==
RegexKind
.QuestionToken);
670
protected RegexOptionsGroupingNode(
RegexKind
kind, RegexToken openParenToken, RegexToken questionToken, RegexToken optionsToken, RegexToken closeParenToken)
683
RegexToken openParenToken, RegexToken questionToken, RegexToken optionsToken, RegexToken closeParenToken) : RegexOptionsGroupingNode(
RegexKind
.SimpleOptionsGrouping, openParenToken, questionToken, optionsToken, closeParenToken)
709
: base(
RegexKind
.NestedOptionsGrouping, openParenToken, questionToken, optionsToken, closeParenToken)
711
Debug.Assert(colonToken.Kind ==
RegexKind
.ColonToken);
746
: base(
RegexKind
.NonCapturingGrouping, openParenToken, questionToken, closeParenToken)
748
Debug.Assert(colonToken.Kind ==
RegexKind
.ColonToken);
782
: base(
RegexKind
.PositiveLookaheadGrouping, openParenToken, questionToken, closeParenToken)
784
Debug.Assert(equalsToken.Kind ==
RegexKind
.EqualsToken);
818
: base(
RegexKind
.NegativeLookaheadGrouping, openParenToken, questionToken, closeParenToken)
820
Debug.Assert(exclamationToken.Kind ==
RegexKind
.ExclamationToken);
849
RegexKind
kind, RegexToken openParenToken, RegexToken questionToken,
853
Debug.Assert(lessThanToken.Kind ==
RegexKind
.LessThanToken);
868
: base(
RegexKind
.PositiveLookbehindGrouping, openParenToken, questionToken, lessThanToken, closeParenToken)
870
Debug.Assert(equalsToken.Kind ==
RegexKind
.EqualsToken);
905
: base(
RegexKind
.NegativeLookbehindGrouping, openParenToken, questionToken, lessThanToken, closeParenToken)
907
Debug.Assert(exclamationToken.Kind ==
RegexKind
.ExclamationToken);
942
: base(
RegexKind
.AtomicGrouping, openParenToken, questionToken, closeParenToken)
944
Debug.Assert(greaterThanToken.Kind ==
RegexKind
.GreaterThanToken);
979
: base(
RegexKind
.CaptureGrouping, openParenToken, questionToken, closeParenToken)
1021
: base(
RegexKind
.BalancingGrouping, openParenToken, questionToken, closeParenToken)
1023
Debug.Assert(minusToken.Kind ==
RegexKind
.MinusToken);
1064
RegexKind
kind, RegexToken openParenToken, RegexToken questionToken,
1084
: base(
RegexKind
.ConditionalCaptureGrouping, openParenToken, questionToken, result, closeParenToken)
1086
Debug.Assert(innerOpenParenToken.Kind ==
RegexKind
.OpenParenToken);
1087
Debug.Assert(innerCloseParenToken.Kind ==
RegexKind
.CloseParenToken);
1127
: base(
RegexKind
.ConditionalExpressionGrouping, openParenToken, questionToken, result, closeParenToken)
1157
protected RegexEscapeNode(
RegexKind
kind, RegexToken backslashToken) : base(kind)
1159
Debug.Assert(backslashToken.Kind ==
RegexKind
.BackslashToken);
1171
protected RegexTypeEscapeNode(
RegexKind
kind, RegexToken backslashToken, RegexToken typeToken)
1186
: base(
RegexKind
.SimpleEscape, backslashToken, typeToken)
1188
Debug.Assert(typeToken.Kind ==
RegexKind
.TextToken);
1208
internal sealed class RegexAnchorEscapeNode(RegexToken backslashToken, RegexToken typeToken) : RegexTypeEscapeNode(
RegexKind
.AnchorEscape, backslashToken, typeToken)
1227
internal sealed class RegexCharacterClassEscapeNode(RegexToken backslashToken, RegexToken typeToken) : RegexTypeEscapeNode(
RegexKind
.CharacterClassEscape, backslashToken, typeToken)
1246
internal sealed class RegexControlEscapeNode(RegexToken backslashToken, RegexToken typeToken, RegexToken controlToken) : RegexTypeEscapeNode(
RegexKind
.ControlEscape, backslashToken, typeToken)
1268
internal sealed class RegexHexEscapeNode(RegexToken backslashToken, RegexToken typeToken, RegexToken hexText) : RegexTypeEscapeNode(
RegexKind
.HexEscape, backslashToken, typeToken)
1290
internal sealed class RegexUnicodeEscapeNode(RegexToken backslashToken, RegexToken typeToken, RegexToken hexText) : RegexTypeEscapeNode(
RegexKind
.UnicodeEscape, backslashToken, typeToken)
1313
RegexToken backslashToken, RegexToken openToken, RegexToken captureToken, RegexToken closeToken) : RegexEscapeNode(
RegexKind
.CaptureEscape, backslashToken)
1340
RegexToken openToken, RegexToken captureToken, RegexToken closeToken) : RegexTypeEscapeNode(
RegexKind
.KCaptureEscape, backslashToken, typeToken)
1366
internal sealed class RegexOctalEscapeNode(RegexToken backslashToken, RegexToken octalText) : RegexEscapeNode(
RegexKind
.OctalEscape, backslashToken)
1390
internal sealed class RegexBackreferenceEscapeNode(RegexToken backslashToken, RegexToken numberToken) : RegexEscapeNode(
RegexKind
.BackreferenceEscape, backslashToken)
1415
: base(
RegexKind
.CategoryEscape, backslashToken)
1417
Debug.Assert(openBraceToken.Kind ==
RegexKind
.OpenBraceToken);
1418
Debug.Assert(closeBraceToken.Kind ==
RegexKind
.CloseBraceToken);
EmbeddedLanguages\RegularExpressions\RegexParser.CaptureInfoAnalyzer.cs (7)
20
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
85
case
RegexKind
.CaptureGrouping:
90
case
RegexKind
.BalancingGrouping:
95
case
RegexKind
.ConditionalExpressionGrouping:
104
case
RegexKind
.SimpleGrouping:
108
case
RegexKind
.NestedOptionsGrouping:
185
if (token.Kind ==
RegexKind
.NumberToken)
EmbeddedLanguages\RegularExpressions\RegexParser.cs (124)
20
using RegexAlternatingSequenceList = EmbeddedSeparatedSyntaxNodeList<
RegexKind
, RegexNode, RegexSequenceNode>;
21
using RegexNodeOrToken = EmbeddedSyntaxNodeOrToken<
RegexKind
, RegexNode>;
22
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
169
Debug.Assert(_currentToken.Kind ==
RegexKind
.EndOfFile);
267
while (_currentToken.Kind ==
RegexKind
.BarToken)
313
if (current.Kind !=
RegexKind
.Text)
383
RegexKind
.TextToken, startTextNode.TextToken.LeadingTrivia, totalText)));
392
if (next.Kind ==
RegexKind
.Text)
418
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
423
if (_currentToken.Kind ==
RegexKind
.BarToken)
428
if (_currentToken.Kind ==
RegexKind
.CloseParenToken)
439
if (current.Kind ==
RegexKind
.SimpleOptionsGrouping)
447
RegexKind
.AsteriskToken => ParseZeroOrMoreQuantifier(current),
448
RegexKind
.PlusToken => ParseOneOrMoreQuantifier(current),
449
RegexKind
.QuestionToken => ParseZeroOrOneQuantifier(current),
450
RegexKind
.OpenBraceToken => TryParseNumericQuantifier(current, _currentToken),
457
if (_currentToken.Kind !=
RegexKind
.QuestionToken)
543
if (_currentToken.Kind ==
RegexKind
.CommaToken)
575
if (_currentToken.Kind !=
RegexKind
.CloseBraceToken)
595
RegexKind
.DotToken => ParseWildcard(),
596
RegexKind
.CaretToken => ParseStartAnchor(),
597
RegexKind
.DollarToken => ParseEndAnchor(),
598
RegexKind
.BackslashToken => ParseEscape(_currentToken, allowTriviaAfterEnd: true),
599
RegexKind
.OpenBracketToken => ParseCharacterClass(),
600
RegexKind
.OpenParenToken => ParseGrouping(inConditionalExpression: false),
601
RegexKind
.CloseParenToken => ParseUnexpectedCloseParenToken(),
602
RegexKind
.OpenBraceToken => ParsePossibleUnexpectedNumericQuantifier(lastExpression),
603
RegexKind
.AsteriskToken or
RegexKind
.PlusToken or
RegexKind
.QuestionToken => ParseUnexpectedQuantifier(lastExpression),
613
var openBraceToken = _currentToken.With(kind:
RegexKind
.TextToken);
631
var token = _currentToken.With(kind:
RegexKind
.TextToken).AddDiagnosticIfNone(
647
return new RegexTextNode(token.With(kind:
RegexKind
.TextToken));
653
return new RegexAnchorNode(
RegexKind
.EndAnchor, ConsumeCurrentToken(allowTrivia: true));
659
return new RegexAnchorNode(
RegexKind
.StartAnchor, ConsumeCurrentToken(allowTrivia: true));
678
case
RegexKind
.QuestionToken:
692
case
RegexKind
.CloseParenToken:
697
return CreateMissingToken(
RegexKind
.CloseParenToken).AddDiagnosticIfNone(
725
=> token.Kind ==
RegexKind
.EndOfFile
731
return token.Kind ==
RegexKind
.EndOfFile
754
case
RegexKind
.LessThanToken:
758
case
RegexKind
.SingleQuoteToken:
763
case
RegexKind
.OpenParenToken:
767
case
RegexKind
.ColonToken:
770
case
RegexKind
.EqualsToken:
773
case
RegexKind
.ExclamationToken:
776
case
RegexKind
.GreaterThanToken:
780
if (_currentToken.Kind !=
RegexKind
.CloseParenToken)
812
if (capture.Kind ==
RegexKind
.NumberToken)
823
if (_currentToken.Kind ==
RegexKind
.CloseParenToken)
835
innerCloseParenToken = CreateMissingToken(
RegexKind
.CloseParenToken);
856
if (_currentToken.Kind !=
RegexKind
.CloseParenToken)
885
if (_currentToken.Kind !=
RegexKind
.EndOfFile)
938
Debug.Assert(_currentToken.Kind ==
RegexKind
.OpenParenToken);
972
case
RegexKind
.EqualsToken:
977
case
RegexKind
.ExclamationToken:
1006
captureToken = CreateMissingToken(
RegexKind
.CaptureNameToken);
1008
if (_currentToken.Kind ==
RegexKind
.MinusToken)
1026
if (capture.Kind ==
RegexKind
.NumberToken && (int)capture.Value == 0)
1036
if (_currentToken.Kind ==
RegexKind
.MinusToken)
1054
if ((openToken.Kind ==
RegexKind
.LessThanToken && _currentToken.Kind ==
RegexKind
.GreaterThanToken) ||
1055
(openToken.Kind ==
RegexKind
.SingleQuoteToken && _currentToken.Kind ==
RegexKind
.SingleQuoteToken))
1060
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
1077
openToken.Kind ==
RegexKind
.LessThanToken
1078
?
RegexKind
.GreaterThanToken :
RegexKind
.SingleQuoteToken);
1099
secondCapture = CreateMissingToken(
RegexKind
.CaptureNameToken);
1123
if (captureToken.Kind ==
RegexKind
.NumberToken)
1172
case
RegexKind
.CloseParenToken:
1179
case
RegexKind
.ColonToken:
1185
CreateMissingToken(
RegexKind
.CloseParenToken).AddDiagnosticIfNone(
1197
=> currentToken.Kind ==
RegexKind
.TextToken && currentToken.VirtualChars.Length == 1 && currentToken.VirtualChars[0].Value == ch;
1244
Debug.Assert(openBracketToken.Kind ==
RegexKind
.OpenBracketToken);
1245
var caretToken = CreateMissingToken(
RegexKind
.CaretToken);
1246
var closeBracketToken = CreateMissingToken(
RegexKind
.CloseBracketToken);
1250
if (_currentToken.Kind ==
RegexKind
.CaretToken)
1263
while (_currentToken.Kind !=
RegexKind
.EndOfFile)
1267
if (_currentToken.Kind ==
RegexKind
.CloseBracketToken && builder.Count > 0)
1298
if (left.Kind is
RegexKind
.CharacterClassEscape or
RegexKind
.CategoryEscape ||
1307
if (_currentToken.Kind ==
RegexKind
.MinusToken && !_lexer.IsAt("]"))
1312
if (_currentToken.Kind ==
RegexKind
.OpenBracketToken)
1363
case
RegexKind
.SimpleEscape:
1368
case
RegexKind
.ControlEscape:
1384
case
RegexKind
.OctalEscape:
1388
case
RegexKind
.HexEscape:
1392
case
RegexKind
.UnicodeEscape:
1396
case
RegexKind
.Text:
1400
case
RegexKind
.Sequence:
1491
if (_currentToken.Kind ==
RegexKind
.BackslashToken && _lexer.Position < _lexer.Text.Length)
1533
backslashToken, ConsumeCurrentToken(allowTrivia: false).With(kind:
RegexKind
.TextToken));
1549
_currentToken.Kind ==
RegexKind
.MinusToken &&
1560
ConsumeCurrentToken(allowTrivia: false).With(kind:
RegexKind
.TextToken));
1567
if (_currentToken.Kind is not
RegexKind
.CloseBracketToken and not
RegexKind
.EndOfFile)
1589
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
1594
return new RegexSimpleEscapeNode(backslashToken, CreateMissingToken(
RegexKind
.TextToken));
1635
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
1640
return new RegexSimpleEscapeNode(backslashToken, CreateMissingToken(
RegexKind
.TextToken));
1709
RegexKind
.NumberToken, [],
1771
return new RegexSimpleEscapeNode(backslashToken, typeToken.With(kind:
RegexKind
.TextToken));
1790
openToken = CreateMissingToken(
RegexKind
.LessThanToken);
1791
capture = CreateMissingToken(
RegexKind
.CaptureNameToken);
1792
closeToken = CreateMissingToken(
RegexKind
.GreaterThanToken);
1798
(_currentToken.Kind ==
RegexKind
.LessThanToken || _currentToken.Kind ==
RegexKind
.SingleQuoteToken))
1809
? CreateMissingToken(
RegexKind
.CaptureNameToken)
1814
closeToken = CreateMissingToken(
RegexKind
.GreaterThanToken);
1817
((openToken.Kind ==
RegexKind
.LessThanToken && _currentToken.Kind ==
RegexKind
.GreaterThanToken) ||
1818
(openToken.Kind ==
RegexKind
.SingleQuoteToken && _currentToken.Kind ==
RegexKind
.SingleQuoteToken)))
1863
var typeToken = ConsumeCurrentToken(allowTrivia: allowTriviaAfterEnd).With(kind:
RegexKind
.TextToken);
1897
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
1902
return new RegexControlEscapeNode(backslashToken, typeToken, CreateMissingToken(
RegexKind
.TextToken));
1934
var controlToken = ConsumeCurrentToken(allowTrivia: allowTriviaAfterEnd).With(kind:
RegexKind
.TextToken);
1944
return new RegexControlEscapeNode(backslashToken, typeToken, CreateMissingToken(
RegexKind
.TextToken));
1964
typeToken = typeToken.With(kind:
RegexKind
.TextToken).AddDiagnosticIfNone(new EmbeddedDiagnostic(
1993
if (_currentToken.Kind !=
RegexKind
.OpenBraceToken)
2004
if (_currentToken.Kind !=
RegexKind
.CloseBraceToken)
2027
return new RegexTextNode(token.With(kind:
RegexKind
.TextToken));
2033
current.Kind ==
RegexKind
.SimpleOptionsGrouping)
EmbeddedLanguages\RegularExpressions\RegexTree.cs (1)
17
ImmutableDictionary<int, TextSpan> captureNumbersToSpan) : EmbeddedSyntaxTree<
RegexKind
, RegexNode, RegexCompilationUnit>(text, root, diagnostics)