300 references to RegexKind
Microsoft.CodeAnalysis.CSharp.EditorFeatures2.UnitTests (4)
EmbeddedLanguages\RegularExpressions\CSharpRegexParserTests.cs (4)
23
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
24
using RegexTrivia = EmbeddedSyntaxTrivia<
RegexKind
>;
324
case
RegexKind
.CommentTrivia:
325
case
RegexKind
.WhitespaceTrivia:
Microsoft.CodeAnalysis.Features (296)
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)
23
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
194
case
RegexKind
.BackslashToken:
197
case
RegexKind
.OpenBracketToken:
200
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)
19
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
20
using RegexTrivia = EmbeddedSyntaxTrivia<
RegexKind
>;
35
/// cref="RegexTextNode"/>s in a row (each containing a <see cref="
RegexKind
.TextToken"/> a
62
return CreateToken(
RegexKind
.EndOfFile, trivia, VirtualCharSequence.Empty);
71
private static
RegexKind
GetKind(VirtualChar ch)
74
'|' =>
RegexKind
.BarToken,
75
'*' =>
RegexKind
.AsteriskToken,
76
'+' =>
RegexKind
.PlusToken,
77
'?' =>
RegexKind
.QuestionToken,
78
'{' =>
RegexKind
.OpenBraceToken,
79
'}' =>
RegexKind
.CloseBraceToken,
80
'\\' =>
RegexKind
.BackslashToken,
81
'[' =>
RegexKind
.OpenBracketToken,
82
']' =>
RegexKind
.CloseBracketToken,
83
'.' =>
RegexKind
.DotToken,
84
'^' =>
RegexKind
.CaretToken,
85
'$' =>
RegexKind
.DollarToken,
86
'(' =>
RegexKind
.OpenParenToken,
87
')' =>
RegexKind
.CloseParenToken,
88
',' =>
RegexKind
.CommaToken,
89
':' =>
RegexKind
.ColonToken,
90
'=' =>
RegexKind
.EqualsToken,
91
'!' =>
RegexKind
.ExclamationToken,
92
'<' =>
RegexKind
.LessThanToken,
93
'>' =>
RegexKind
.GreaterThanToken,
94
'-' =>
RegexKind
.MinusToken,
95
'\'' =>
RegexKind
.SingleQuoteToken,
96
_ =>
RegexKind
.TextToken,
150
return CreateTrivia(
RegexKind
.CommentTrivia, GetSubPatternToCurrentPos(start));
168
return CreateTrivia(
RegexKind
.CommentTrivia, GetSubPatternToCurrentPos(start), diagnostics);
172
return CreateTrivia(
RegexKind
.CommentTrivia, GetSubPatternToCurrentPos(start));
210
return CreateTrivia(
RegexKind
.WhitespaceTrivia, GetSubPatternToCurrentPos(start));
247
var token = CreateToken(
RegexKind
.EscapeCategoryToken, ImmutableArray<RegexTrivia>.Empty, GetSubPatternToCurrentPos(start));
300
var token = CreateToken(
RegexKind
.NumberToken, ImmutableArray<RegexTrivia>.Empty, GetSubPatternToCurrentPos(start));
331
var token = CreateToken(
RegexKind
.CaptureNameToken, ImmutableArray<RegexTrivia>.Empty, GetSubPatternToCurrentPos(start));
349
: CreateToken(
RegexKind
.OptionsToken, ImmutableArray<RegexTrivia>.Empty, GetSubPatternToCurrentPos(start));
392
RegexKind
.TextToken, ImmutableArray<RegexTrivia>.Empty, GetSubPatternToCurrentPos(start));
453
RegexKind
.TextToken, ImmutableArray<RegexTrivia>.Empty, GetSubPatternToCurrentPos(start));
EmbeddedLanguages\RegularExpressions\RegexNode.cs (2)
11
internal abstract class RegexNode : EmbeddedSyntaxNode<
RegexKind
, RegexNode>
13
protected RegexNode(
RegexKind
kind) : base(kind)
EmbeddedLanguages\RegularExpressions\RegexNodes.cs (98)
15
using RegexNodeOrToken = EmbeddedSyntaxNodeOrToken<
RegexKind
, RegexNode>;
16
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
17
using RegexAlternatingSequenceList = EmbeddedSeparatedSyntaxNodeList<
RegexKind
, RegexNode, RegexSequenceNode>;
22
: base(
RegexKind
.CompilationUnit)
25
Debug.Assert(endOfFileToken.Kind ==
RegexKind
.EndOfFile);
65
: base(
RegexKind
.Sequence)
83
: base(
RegexKind
.Text)
85
Debug.Assert(textToken.Kind ==
RegexKind
.TextToken);
110
RegexKind
kind, RegexToken openBracketToken, RegexSequenceNode components, RegexToken closeBracketToken)
113
Debug.Assert(openBracketToken.Kind ==
RegexKind
.OpenBracketToken);
115
Debug.Assert(closeBracketToken.Kind ==
RegexKind
.CloseBracketToken);
133
: base(
RegexKind
.CharacterClass, openBracketToken, components, closeBracketToken)
159
: base(
RegexKind
.NegatedCharacterClass, openBracketToken, components, closeBracketToken)
161
Debug.Assert(caretToken.Kind ==
RegexKind
.CaretToken);
190
: base(
RegexKind
.CharacterClassRange)
193
Debug.Assert(minusToken.Kind ==
RegexKind
.MinusToken);
228
: base(
RegexKind
.CharacterClassSubtraction)
230
Debug.Assert(minusToken.Kind ==
RegexKind
.MinusToken);
261
: base(
RegexKind
.PosixProperty)
263
Debug.Assert(textToken.Kind ==
RegexKind
.TextToken);
287
protected RegexExpressionNode(
RegexKind
kind)
298
protected RegexPrimaryExpressionNode(
RegexKind
kind)
310
: base(
RegexKind
.Wildcard)
312
Debug.Assert(dotToken.Kind ==
RegexKind
.DotToken);
336
protected RegexQuantifierNode(
RegexKind
kind)
349
: base(
RegexKind
.ZeroOrMoreQuantifier)
352
Debug.Assert(asteriskToken.Kind ==
RegexKind
.AsteriskToken);
381
: base(
RegexKind
.OneOrMoreQuantifier)
384
Debug.Assert(plusToken.Kind ==
RegexKind
.PlusToken);
413
: base(
RegexKind
.ZeroOrOneQuantifier)
416
Debug.Assert(questionToken.Kind ==
RegexKind
.QuestionToken);
447
: base(
RegexKind
.LazyQuantifier)
450
Debug.Assert(quantifier.Kind !=
RegexKind
.LazyQuantifier);
451
Debug.Assert(questionToken.Kind ==
RegexKind
.QuestionToken);
480
RegexKind
kind, RegexPrimaryExpressionNode expression, RegexToken openBraceToken, RegexToken firstNumberToken, RegexToken closeBraceToken)
484
Debug.Assert(openBraceToken.Kind ==
RegexKind
.OpenBraceToken);
485
Debug.Assert(firstNumberToken.Kind ==
RegexKind
.NumberToken);
486
Debug.Assert(closeBraceToken.Kind ==
RegexKind
.CloseBraceToken);
506
: base(
RegexKind
.ExactNumericQuantifier, expression, openBraceToken, numberToken, closeBraceToken)
535
: base(
RegexKind
.OpenRangeNumericQuantifier, expression, openBraceToken, firstNumberToken, closeBraceToken)
537
Debug.Assert(commaToken.Kind ==
RegexKind
.CommaToken);
569
: base(
RegexKind
.ClosedRangeNumericQuantifier, expression, openBraceToken, firstNumberToken, closeBraceToken)
571
Debug.Assert(commaToken.Kind ==
RegexKind
.CommaToken);
572
Debug.Assert(secondNumberToken.Kind ==
RegexKind
.NumberToken);
603
public RegexAnchorNode(
RegexKind
kind, RegexToken anchorToken)
606
Debug.Assert(anchorToken.Kind is
RegexKind
.DollarToken or
RegexKind
.CaretToken);
631
: base(
RegexKind
.Alternation)
635
Debug.Assert(sequenceList.NodesAndTokens[i].Kind ==
RegexKind
.BarToken);
656
protected RegexGroupingNode(
RegexKind
kind, RegexToken openParenToken, RegexToken closeParenToken)
659
Debug.Assert(openParenToken.Kind ==
RegexKind
.OpenParenToken);
660
Debug.Assert(closeParenToken.Kind ==
RegexKind
.CloseParenToken);
675
: base(
RegexKind
.SimpleGrouping, openParenToken, closeParenToken)
703
protected RegexQuestionGroupingNode(
RegexKind
kind, RegexToken openParenToken, RegexToken questionToken, RegexToken closeParenToken)
706
Debug.Assert(questionToken.Kind ==
RegexKind
.QuestionToken);
718
protected RegexOptionsGroupingNode(
RegexKind
kind, RegexToken openParenToken, RegexToken questionToken, RegexToken optionsToken, RegexToken closeParenToken)
734
: base(
RegexKind
.SimpleOptionsGrouping, openParenToken, questionToken, optionsToken, closeParenToken)
762
: base(
RegexKind
.NestedOptionsGrouping, openParenToken, questionToken, optionsToken, closeParenToken)
764
Debug.Assert(colonToken.Kind ==
RegexKind
.ColonToken);
799
: base(
RegexKind
.NonCapturingGrouping, openParenToken, questionToken, closeParenToken)
801
Debug.Assert(colonToken.Kind ==
RegexKind
.ColonToken);
835
: base(
RegexKind
.PositiveLookaheadGrouping, openParenToken, questionToken, closeParenToken)
837
Debug.Assert(equalsToken.Kind ==
RegexKind
.EqualsToken);
871
: base(
RegexKind
.NegativeLookaheadGrouping, openParenToken, questionToken, closeParenToken)
873
Debug.Assert(exclamationToken.Kind ==
RegexKind
.ExclamationToken);
902
RegexKind
kind, RegexToken openParenToken, RegexToken questionToken,
906
Debug.Assert(lessThanToken.Kind ==
RegexKind
.LessThanToken);
921
: base(
RegexKind
.PositiveLookbehindGrouping, openParenToken, questionToken, lessThanToken, closeParenToken)
923
Debug.Assert(equalsToken.Kind ==
RegexKind
.EqualsToken);
958
: base(
RegexKind
.NegativeLookbehindGrouping, openParenToken, questionToken, lessThanToken, closeParenToken)
960
Debug.Assert(exclamationToken.Kind ==
RegexKind
.ExclamationToken);
995
: base(
RegexKind
.AtomicGrouping, openParenToken, questionToken, closeParenToken)
997
Debug.Assert(greaterThanToken.Kind ==
RegexKind
.GreaterThanToken);
1032
: base(
RegexKind
.CaptureGrouping, openParenToken, questionToken, closeParenToken)
1074
: base(
RegexKind
.BalancingGrouping, openParenToken, questionToken, closeParenToken)
1076
Debug.Assert(minusToken.Kind ==
RegexKind
.MinusToken);
1117
RegexKind
kind, RegexToken openParenToken, RegexToken questionToken,
1137
: base(
RegexKind
.ConditionalCaptureGrouping, openParenToken, questionToken, result, closeParenToken)
1139
Debug.Assert(innerOpenParenToken.Kind ==
RegexKind
.OpenParenToken);
1140
Debug.Assert(innerCloseParenToken.Kind ==
RegexKind
.CloseParenToken);
1178
: base(
RegexKind
.ConditionalExpressionGrouping, openParenToken, questionToken, result, closeParenToken)
1208
protected RegexEscapeNode(
RegexKind
kind, RegexToken backslashToken) : base(kind)
1210
Debug.Assert(backslashToken.Kind ==
RegexKind
.BackslashToken);
1222
protected RegexTypeEscapeNode(
RegexKind
kind, RegexToken backslashToken, RegexToken typeToken)
1237
: base(
RegexKind
.SimpleEscape, backslashToken, typeToken)
1239
Debug.Assert(typeToken.Kind ==
RegexKind
.TextToken);
1262
: base(
RegexKind
.AnchorEscape, backslashToken, typeToken)
1286
: base(
RegexKind
.CharacterClassEscape, backslashToken, typeToken)
1310
: base(
RegexKind
.ControlEscape, backslashToken, typeToken)
1338
: base(
RegexKind
.HexEscape, backslashToken, typeToken)
1366
: base(
RegexKind
.UnicodeEscape, backslashToken, typeToken)
1395
: base(
RegexKind
.CaptureEscape, backslashToken)
1430
: base(
RegexKind
.KCaptureEscape, backslashToken, typeToken)
1464
: base(
RegexKind
.OctalEscape, backslashToken)
1494
: base(
RegexKind
.BackreferenceEscape, backslashToken)
1522
: base(
RegexKind
.CategoryEscape, backslashToken)
1524
Debug.Assert(openBraceToken.Kind ==
RegexKind
.OpenBraceToken);
1525
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 (129)
21
using RegexAlternatingSequenceList = EmbeddedSeparatedSyntaxNodeList<
RegexKind
, RegexNode, RegexSequenceNode>;
22
using RegexNodeOrToken = EmbeddedSyntaxNodeOrToken<
RegexKind
, RegexNode>;
23
using RegexToken = EmbeddedSyntaxToken<
RegexKind
>;
24
using RegexTrivia = EmbeddedSyntaxTrivia<
RegexKind
>;
171
Debug.Assert(_currentToken.Kind ==
RegexKind
.EndOfFile);
269
while (_currentToken.Kind ==
RegexKind
.BarToken)
314
if (current.Kind !=
RegexKind
.Text)
362
RegexKind
.TextToken, startTextNode.TextToken.LeadingTrivia,
373
if (next.Kind ==
RegexKind
.Text)
399
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
404
if (_currentToken.Kind ==
RegexKind
.BarToken)
409
if (_currentToken.Kind ==
RegexKind
.CloseParenToken)
420
if (current.Kind ==
RegexKind
.SimpleOptionsGrouping)
428
RegexKind
.AsteriskToken => ParseZeroOrMoreQuantifier(current),
429
RegexKind
.PlusToken => ParseOneOrMoreQuantifier(current),
430
RegexKind
.QuestionToken => ParseZeroOrOneQuantifier(current),
431
RegexKind
.OpenBraceToken => TryParseNumericQuantifier(current, _currentToken),
438
if (_currentToken.Kind !=
RegexKind
.QuestionToken)
524
if (_currentToken.Kind ==
RegexKind
.CommaToken)
556
if (_currentToken.Kind !=
RegexKind
.CloseBraceToken)
576
RegexKind
.DotToken => ParseWildcard(),
577
RegexKind
.CaretToken => ParseStartAnchor(),
578
RegexKind
.DollarToken => ParseEndAnchor(),
579
RegexKind
.BackslashToken => ParseEscape(_currentToken, allowTriviaAfterEnd: true),
580
RegexKind
.OpenBracketToken => ParseCharacterClass(),
581
RegexKind
.OpenParenToken => ParseGrouping(),
582
RegexKind
.CloseParenToken => ParseUnexpectedCloseParenToken(),
583
RegexKind
.OpenBraceToken => ParsePossibleUnexpectedNumericQuantifier(lastExpression),
584
RegexKind
.AsteriskToken or
RegexKind
.PlusToken or
RegexKind
.QuestionToken => ParseUnexpectedQuantifier(lastExpression),
594
var openBraceToken = _currentToken.With(kind:
RegexKind
.TextToken);
612
var token = _currentToken.With(kind:
RegexKind
.TextToken).AddDiagnosticIfNone(
628
return new RegexTextNode(token.With(kind:
RegexKind
.TextToken));
634
return new RegexAnchorNode(
RegexKind
.EndAnchor, ConsumeCurrentToken(allowTrivia: true));
640
return new RegexAnchorNode(
RegexKind
.StartAnchor, ConsumeCurrentToken(allowTrivia: true));
659
case
RegexKind
.QuestionToken:
673
case
RegexKind
.CloseParenToken:
678
return CreateMissingToken(
RegexKind
.CloseParenToken).AddDiagnosticIfNone(
706
=> token.Kind ==
RegexKind
.EndOfFile
712
return token.Kind ==
RegexKind
.EndOfFile
732
case
RegexKind
.LessThanToken:
736
case
RegexKind
.SingleQuoteToken:
741
case
RegexKind
.OpenParenToken:
745
case
RegexKind
.ColonToken:
748
case
RegexKind
.EqualsToken:
751
case
RegexKind
.ExclamationToken:
754
case
RegexKind
.GreaterThanToken:
758
if (_currentToken.Kind !=
RegexKind
.CloseParenToken)
790
if (capture.Kind ==
RegexKind
.NumberToken)
801
if (_currentToken.Kind ==
RegexKind
.CloseParenToken)
813
innerCloseParenToken = CreateMissingToken(
RegexKind
.CloseParenToken);
834
if (_currentToken.Kind !=
RegexKind
.CloseParenToken)
863
if (_currentToken.Kind !=
RegexKind
.EndOfFile)
916
Debug.Assert(_currentToken.Kind ==
RegexKind
.OpenParenToken);
950
case
RegexKind
.EqualsToken:
955
case
RegexKind
.ExclamationToken:
984
captureToken = CreateMissingToken(
RegexKind
.CaptureNameToken);
986
if (_currentToken.Kind ==
RegexKind
.MinusToken)
1004
if (capture.Kind ==
RegexKind
.NumberToken && (int)capture.Value == 0)
1014
if (_currentToken.Kind ==
RegexKind
.MinusToken)
1032
if ((openToken.Kind ==
RegexKind
.LessThanToken && _currentToken.Kind ==
RegexKind
.GreaterThanToken) ||
1033
(openToken.Kind ==
RegexKind
.SingleQuoteToken && _currentToken.Kind ==
RegexKind
.SingleQuoteToken))
1038
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
1055
openToken.Kind ==
RegexKind
.LessThanToken
1056
?
RegexKind
.GreaterThanToken :
RegexKind
.SingleQuoteToken);
1077
secondCapture = CreateMissingToken(
RegexKind
.CaptureNameToken);
1101
if (captureToken.Kind ==
RegexKind
.NumberToken)
1150
case
RegexKind
.CloseParenToken:
1157
case
RegexKind
.ColonToken:
1163
CreateMissingToken(
RegexKind
.CloseParenToken).AddDiagnosticIfNone(
1175
=> currentToken.Kind ==
RegexKind
.TextToken && currentToken.VirtualChars.Length == 1 && currentToken.VirtualChars[0].Value == ch;
1222
Debug.Assert(openBracketToken.Kind ==
RegexKind
.OpenBracketToken);
1223
var caretToken = CreateMissingToken(
RegexKind
.CaretToken);
1224
var closeBracketToken = CreateMissingToken(
RegexKind
.CloseBracketToken);
1228
if (_currentToken.Kind ==
RegexKind
.CaretToken)
1241
while (_currentToken.Kind !=
RegexKind
.EndOfFile)
1245
if (_currentToken.Kind ==
RegexKind
.CloseBracketToken && builder.Count > 0)
1276
if (left.Kind ==
RegexKind
.CharacterClassEscape ||
1277
left.Kind ==
RegexKind
.CategoryEscape ||
1286
if (_currentToken.Kind ==
RegexKind
.MinusToken && !_lexer.IsAt("]"))
1291
if (_currentToken.Kind ==
RegexKind
.OpenBracketToken)
1342
case
RegexKind
.SimpleEscape:
1347
case
RegexKind
.ControlEscape:
1363
case
RegexKind
.OctalEscape:
1367
case
RegexKind
.HexEscape:
1371
case
RegexKind
.UnicodeEscape:
1375
case
RegexKind
.PosixProperty:
1381
case
RegexKind
.Text:
1385
case
RegexKind
.Sequence:
1476
if (_currentToken.Kind ==
RegexKind
.BackslashToken && _lexer.Position < _lexer.Text.Length)
1518
backslashToken, ConsumeCurrentToken(allowTrivia: false).With(kind:
RegexKind
.TextToken));
1534
_currentToken.Kind ==
RegexKind
.MinusToken &&
1546
if (!afterRangeMinus && _currentToken.Kind ==
RegexKind
.OpenBracketToken && _lexer.IsAt(":"))
1557
var token = CreateToken(
RegexKind
.TextToken, ImmutableArray<RegexTrivia>.Empty, textChars);
1569
Debug.Assert(_currentToken.Kind ==
RegexKind
.OpenBracketToken);
1575
ConsumeCurrentToken(allowTrivia: false).With(kind:
RegexKind
.TextToken));
1582
if (_currentToken.Kind is not
RegexKind
.CloseBracketToken and not
RegexKind
.EndOfFile)
1604
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
1609
return new RegexSimpleEscapeNode(backslashToken, CreateMissingToken(
RegexKind
.TextToken));
1650
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
1655
return new RegexSimpleEscapeNode(backslashToken, CreateMissingToken(
RegexKind
.TextToken));
1724
RegexKind
.NumberToken, ImmutableArray<RegexTrivia>.Empty,
1786
return new RegexSimpleEscapeNode(backslashToken, typeToken.With(kind:
RegexKind
.TextToken));
1805
openToken = CreateMissingToken(
RegexKind
.LessThanToken);
1806
capture = CreateMissingToken(
RegexKind
.CaptureNameToken);
1807
closeToken = CreateMissingToken(
RegexKind
.GreaterThanToken);
1813
(_currentToken.Kind ==
RegexKind
.LessThanToken || _currentToken.Kind ==
RegexKind
.SingleQuoteToken))
1824
? CreateMissingToken(
RegexKind
.CaptureNameToken)
1829
closeToken = CreateMissingToken(
RegexKind
.GreaterThanToken);
1832
((openToken.Kind ==
RegexKind
.LessThanToken && _currentToken.Kind ==
RegexKind
.GreaterThanToken) ||
1833
(openToken.Kind ==
RegexKind
.SingleQuoteToken && _currentToken.Kind ==
RegexKind
.SingleQuoteToken)))
1878
var typeToken = ConsumeCurrentToken(allowTrivia: allowTriviaAfterEnd).With(kind:
RegexKind
.TextToken);
1912
if (_currentToken.Kind ==
RegexKind
.EndOfFile)
1917
return new RegexControlEscapeNode(backslashToken, typeToken, CreateMissingToken(
RegexKind
.TextToken));
1949
var controlToken = ConsumeCurrentToken(allowTrivia: allowTriviaAfterEnd).With(kind:
RegexKind
.TextToken);
1959
return new RegexControlEscapeNode(backslashToken, typeToken, CreateMissingToken(
RegexKind
.TextToken));
1979
typeToken = typeToken.With(kind:
RegexKind
.TextToken).AddDiagnosticIfNone(new EmbeddedDiagnostic(
2008
if (_currentToken.Kind !=
RegexKind
.OpenBraceToken)
2019
if (_currentToken.Kind !=
RegexKind
.CloseBraceToken)
2042
return new RegexTextNode(token.With(kind:
RegexKind
.TextToken));
2048
current.Kind ==
RegexKind
.SimpleOptionsGrouping)
EmbeddedLanguages\RegularExpressions\RegexTree.cs (1)
14
internal sealed class RegexTree : EmbeddedSyntaxTree<
RegexKind
, RegexNode, RegexCompilationUnit>