3 types derived from SyntaxToken
Microsoft.CodeAnalysis.CSharp (3)
Syntax\InternalSyntax\SyntaxToken.SyntaxIdentifier.cs (1)
13
internal class SyntaxIdentifier :
SyntaxToken
Syntax\InternalSyntax\SyntaxToken.SyntaxLiteral.cs (1)
14
internal class SyntaxTokenWithValue<T> :
SyntaxToken
Syntax\InternalSyntax\SyntaxToken.SyntaxTokenWithTrivia.cs (1)
11
internal class SyntaxTokenWithTrivia :
SyntaxToken
2 instantiations of SyntaxToken
Microsoft.CodeAnalysis.CSharp (2)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1753
var greenNode = new Syntax.InternalSyntax.LiteralExpressionSyntax(SyntaxKind.NumericLiteralExpression, new Syntax.InternalSyntax.
SyntaxToken
(SyntaxKind.NumericLiteralToken));
Syntax\InternalSyntax\SyntaxToken.cs (1)
156
s_tokensWithNoTrivia[(int)kind].Value = new
SyntaxToken
(kind);
858 references to SyntaxToken
Microsoft.CodeAnalysis.CSharp (854)
Parser\BlendedNode.cs (2)
16
internal readonly
SyntaxToken
Token;
19
internal BlendedNode(CSharp.CSharpSyntaxNode node,
SyntaxToken
token, Blender blender)
Parser\Blender.Cursor.cs (1)
148
var
greenToken = Lexer.RescanInterpolatedString((InterpolatedStringExpressionSyntax)node.Green);
Parser\Blender.Reader.cs (5)
144
var
token = this.LexNewToken(mode);
163
private
SyntaxToken
LexNewToken(LexerMode mode)
175
var
token = _lexer.Lex(ref mode);
211
token: (InternalSyntax.
SyntaxToken
)currentNodeOrToken.AsToken().Node);
314
private BlendedNode CreateBlendedNode(CSharp.CSharpSyntaxNode node,
SyntaxToken
token)
Parser\DirectiveParser.cs (96)
37
var
hash = this.EatToken(SyntaxKind.HashToken, false);
88
var
lineKeyword = this.EatContextualToken(contextualKind);
121
var
id = this.EatToken(SyntaxKind.IdentifierToken, false);
122
var
end = this.ParseEndOfDirective(ignoreErrors: true);
141
private DirectiveTriviaSyntax ParseIfDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive)
144
var
eod = this.ParseEndOfDirective(ignoreErrors: false);
150
private DirectiveTriviaSyntax ParseElifDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive, bool endIsActive)
153
var
eod = this.ParseEndOfDirective(ignoreErrors: false);
178
private DirectiveTriviaSyntax ParseElseDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive, bool endIsActive)
180
var
eod = this.ParseEndOfDirective(ignoreErrors: false);
200
private DirectiveTriviaSyntax ParseEndIfDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive, bool endIsActive)
202
var
eod = this.ParseEndOfDirective(ignoreErrors: false);
219
private DirectiveTriviaSyntax ParseRegionDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive)
224
private DirectiveTriviaSyntax ParseEndRegionDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive)
226
var
eod = this.ParseEndOfDirectiveWithOptionalPreprocessingMessage();
241
private DirectiveTriviaSyntax ParseDefineOrUndefDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive, bool isFollowingToken)
248
var
name = this.EatToken(SyntaxKind.IdentifierToken, ErrorCode.ERR_IdentifierExpected);
250
var
end = this.ParseEndOfDirective(ignoreErrors: name.IsMissing);
283
private DirectiveTriviaSyntax ParseErrorOrWarningDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive)
285
var
eod = this.ParseEndOfDirectiveWithOptionalPreprocessingMessage();
365
private DirectiveTriviaSyntax ParseLineDirective(
SyntaxToken
hash,
SyntaxToken
id, bool isActive)
367
SyntaxToken
line;
368
SyntaxToken
file = null;
401
var
end = this.ParseEndOfDirective(ignoreErrors: line.IsMissing || !isActive, afterLineNumber: sawLineButNotFile);
405
private LineSpanDirectiveTriviaSyntax ParseLineSpanDirective(
SyntaxToken
hash,
SyntaxToken
lineKeyword, bool isActive)
416
var
minus = EatToken(SyntaxKind.MinusToken, reportError: reportError);
426
var
characterOffset = (CurrentToken.Kind == SyntaxKind.NumericLiteralToken) ?
435
var
file = EatToken(SyntaxKind.StringLiteralToken, ErrorCode.ERR_MissingPPFile, reportError: reportError);
443
var
endOfDirective = this.ParseEndOfDirective(ignoreErrors: !reportError);
446
static bool noTriviaBetween(
SyntaxToken
token1,
SyntaxToken
token2)
456
var
openParen = EatToken(SyntaxKind.OpenParenToken, reportError);
459
var
lineToken = ParseLineDirectiveNumericLiteral(ref reportError, minValue: 1, maxValue: MaxLineValue, out line);
461
var
comma = EatToken(SyntaxKind.CommaToken, reportError);
464
var
characterToken = ParseLineDirectiveNumericLiteral(ref reportError, minValue: 1, maxValue: MaxCharacterValue, out character);
466
var
closeParen = EatToken(SyntaxKind.CloseParenToken, reportError);
472
private
SyntaxToken
ParseLineDirectiveNumericLiteral(ref bool reportError, int minValue, int maxValue, out int value)
474
var
token = this.EatToken(SyntaxKind.NumericLiteralToken, ErrorCode.ERR_LineSpanDirectiveInvalidValue, reportError: reportError);
492
private DirectiveTriviaSyntax ParseReferenceDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive, bool isFollowingToken)
506
SyntaxToken
file = this.EatToken(SyntaxKind.StringLiteralToken, ErrorCode.ERR_ExpectedPPFile, reportError: isActive);
508
var
end = this.ParseEndOfDirective(ignoreErrors: file.IsMissing || !isActive);
512
private DirectiveTriviaSyntax ParseLoadDirective(
SyntaxToken
hash,
SyntaxToken
keyword, bool isActive, bool isFollowingToken)
526
SyntaxToken
file = this.EatToken(SyntaxKind.StringLiteralToken, ErrorCode.ERR_ExpectedPPFile, reportError: isActive);
528
var
end = this.ParseEndOfDirective(ignoreErrors: file.IsMissing || !isActive);
532
private DirectiveTriviaSyntax ParseNullableDirective(
SyntaxToken
hash,
SyntaxToken
token, bool isActive)
539
SyntaxToken
setting = this.CurrentToken.Kind switch
547
SyntaxToken
target = this.CurrentToken.Kind switch
556
var
end = this.ParseEndOfDirective(ignoreErrors: setting.IsMissing || target?.IsMissing == true || !isActive);
560
private DirectiveTriviaSyntax ParsePragmaDirective(
SyntaxToken
hash,
SyntaxToken
pragma, bool isActive)
570
var
warning = this.EatContextualToken(SyntaxKind.WarningKeyword);
571
SyntaxToken
style;
579
SyntaxToken
id;
623
var
end = this.ParseEndOfDirective(hasError || !isActive, afterPragma: true);
629
var
end = this.ParseEndOfDirective(ignoreErrors: true, afterPragma: true);
635
var
checksum = this.EatToken();
636
var
file = this.EatToken(SyntaxKind.StringLiteralToken, ErrorCode.WRN_IllegalPPChecksum, reportError: isActive);
637
var
guid = this.EatToken(SyntaxKind.StringLiteralToken, ErrorCode.WRN_IllegalPPChecksum, reportError: isActive && !file.IsMissing);
647
var
bytes = this.EatToken(SyntaxKind.StringLiteralToken, ErrorCode.WRN_IllegalPPChecksum, reportError: isActive && !guid.IsMissing);
668
var
eod = this.ParseEndOfDirective(ignoreErrors: hasError, afterPragma: true);
673
var
warning = this.EatToken(SyntaxKind.WarningKeyword, ErrorCode.WRN_IllegalPragma, reportError: isActive);
674
var
style = this.EatToken(SyntaxKind.DisableKeyword, reportError: false);
675
var
eod = this.ParseEndOfDirective(ignoreErrors: true, afterPragma: true);
680
private DirectiveTriviaSyntax ParseShebangDirective(
SyntaxToken
hash,
SyntaxToken
exclamation, bool isActive)
688
private DirectiveTriviaSyntax ParseIgnoredDirective(
SyntaxToken
hash,
SyntaxToken
colon, bool isActive, bool isFollowingToken)
705
SyntaxToken
endOfDirective = this.lexer.LexEndOfDirectiveWithOptionalContent(out
SyntaxToken
content);
709
private
SyntaxToken
ParseEndOfDirectiveWithOptionalPreprocessingMessage()
712
private
SyntaxToken
ParseEndOfDirective(bool ignoreErrors, bool afterPragma = false, bool afterLineNumber = false)
714
var skippedTokens = new SyntaxListBuilder<
SyntaxToken
>();
720
skippedTokens = new SyntaxListBuilder<
SyntaxToken
>(10);
745
SyntaxToken
endOfDirective = this.CurrentToken.Kind == SyntaxKind.EndOfDirectiveToken
768
var
op = this.EatToken();
781
var
op = this.EatToken();
794
var
op = this.EatToken();
806
var
op = this.EatToken();
819
var
open = this.EatToken();
821
var
close = this.EatToken(SyntaxKind.CloseParenToken);
824
var
identifier = TruncateIdentifier(this.EatToken());
836
private static
SyntaxToken
TruncateIdentifier(
SyntaxToken
identifier)
Parser\DocumentationCommentParser.cs (83)
86
var
eoc = this.EatToken(SyntaxKind.EndOfDocumentationCommentToken);
110
var
token = this.EatToken();
204
var
lessThan = this.EatToken(SyntaxKind.LessThanToken); // guaranteed
228
SyntaxToken
greaterThan;
231
var
lessThanSlash = this.EatToken(SyntaxKind.LessThanSlashToken, reportError: false);
281
var
slashGreater = this.EatToken(SyntaxKind.SlashGreaterThanToken, false);
379
var badTokens = default(SyntaxListBuilder<
SyntaxToken
>);
396
badTokens = _pool.Allocate<
SyntaxToken
>();
399
var
token = this.EatToken();
447
var
equals = this.EatToken(SyntaxKind.EqualsToken, false);
464
default(SyntaxList<
SyntaxToken
>),
469
SyntaxToken
startQuote;
470
SyntaxToken
endQuote;
489
var textTokens = _pool.Allocate<
SyntaxToken
>();
525
SyntaxToken
openQuote = EatToken(this.CurrentToken.Kind == SyntaxKind.SingleQuoteToken
532
SyntaxToken
current = this.CurrentToken;
553
private void ParseCrefAttribute(out
SyntaxToken
startQuote, out CrefSyntax cref, out
SyntaxToken
endQuote)
571
private void ParseNameAttribute(out
SyntaxToken
startQuote, out IdentifierNameSyntax identifier, out
SyntaxToken
endQuote)
589
private void ParseXmlAttributeText(out
SyntaxToken
startQuote, SyntaxListBuilder<
SyntaxToken
> textTokens, out
SyntaxToken
endQuote)
611
var
token = this.EatToken();
629
private
SyntaxToken
ParseXmlAttributeStartQuote()
640
var
startQuote = this.EatToken(quoteKind, reportError: false);
648
private
SyntaxToken
ParseXmlAttributeEndQuote(SyntaxKind quoteKind)
655
var
endQuote = this.EatToken(quoteKind, reportError: false);
663
private
SyntaxToken
SkipNonAsciiQuotationMark()
665
var
quote = SyntaxFactory.MissingToken(SyntaxKind.DoubleQuoteToken);
676
private static bool IsNonAsciiQuotationMark(
SyntaxToken
token)
683
var
id = this.EatToken(SyntaxKind.IdentifierToken);
687
var
colon = this.EatToken();
722
var
lessThanExclamationMinusMinusToken = this.EatToken(SyntaxKind.XmlCommentStartToken);
724
var textTokens = _pool.Allocate<
SyntaxToken
>();
729
var
token = this.EatToken();
742
var
minusMinusGreaterThanToken = this.EatToken(SyntaxKind.XmlCommentEndToken);
749
var
startCDataToken = this.EatToken(SyntaxKind.XmlCDataStartToken);
751
var textTokens = new SyntaxListBuilder<
SyntaxToken
>(10);
758
var
endCDataToken = this.EatToken(SyntaxKind.XmlCDataEndToken);
765
var
startProcessingInstructionToken = this.EatToken(SyntaxKind.XmlProcessingInstructionStartToken);
773
var textTokens = new SyntaxListBuilder<
SyntaxToken
>(10);
777
var
textToken = this.EatToken();
785
var
endProcessingInstructionToken = this.EatToken(SyntaxKind.XmlProcessingInstructionEndToken);
841
private
SyntaxToken
WithXmlParseError(
SyntaxToken
node, XmlParseErrorCode code, params string[] args)
908
SyntaxToken
dot = EatToken(SyntaxKind.DotToken);
917
var badTokens = _pool.Allocate<
SyntaxToken
>();
972
SyntaxToken
thisKeyword = EatToken();
984
SyntaxToken
operatorKeyword = EatToken();
985
SyntaxToken
checkedKeyword = TryEatCheckedKeyword(isConversion: false, ref operatorKeyword);
987
SyntaxToken
operatorToken;
1019
var
operatorToken2 = this.EatToken();
1024
var
operatorToken3 = this.EatToken();
1039
var
nonOverloadableOperator = SyntaxFactory.Token(
1071
var
operatorToken2 = this.EatToken();
1081
var
operatorToken2 = this.EatToken();
1082
var
nonOverloadableOperator = SyntaxFactory.Token(
1110
private
SyntaxToken
TryEatCheckedKeyword(bool isConversion, ref
SyntaxToken
operatorKeyword)
1112
SyntaxToken
checkedKeyword = tryEatCheckedOrHandleUnchecked(ref operatorKeyword);
1122
SyntaxToken
tryEatCheckedOrHandleUnchecked(ref
SyntaxToken
operatorKeyword)
1127
var
misplacedToken = AddErrorAsWarning(EatToken(), ErrorCode.ERR_MisplacedUnchecked);
1143
SyntaxToken
implicitOrExplicit = EatToken();
1145
SyntaxToken
operatorKeyword = EatToken(SyntaxKind.OperatorKeyword);
1146
SyntaxToken
checkedKeyword = TryEatCheckedKeyword(isConversion: true, ref operatorKeyword);
1184
SyntaxToken
open = EatToken(openKind);
1195
SyntaxToken
comma = EatToken(SyntaxKind.CommaToken);
1212
SyntaxToken
close = EatToken(closeKind);
1250
SyntaxToken
refKindOpt = null;
1260
SyntaxToken
readOnlyOpt = null;
1266
var
misplacedToken = AddErrorAsWarning(EatToken(), ErrorCode.ERR_RefReadOnlyWrongOrdering);
1286
SyntaxToken
identifierToken = EatToken(SyntaxKind.IdentifierToken);
1293
var
open = EatToken();
1324
SyntaxToken
close = EatToken(SyntaxKind.GreaterThanToken);
1384
SyntaxToken
alias = EatToken();
1392
SyntaxToken
colonColon = EatToken();
1418
SyntaxToken
dot = EatToken();
1462
SyntaxToken
open = EatToken();
1491
var
close = this.EatToken(SyntaxKind.CloseBracketToken);
1563
SyntaxToken
identifierToken = this.EatToken(SyntaxKind.IdentifierToken, reportError: false);
1567
var badTokens = _pool.Allocate<
SyntaxToken
>();
Parser\DocumentationCommentXmlTokens.cs (24)
16
private static readonly
SyntaxToken
s_seeToken = Identifier(DocumentationCommentXmlNames.SeeElementName);
17
private static readonly
SyntaxToken
s_codeToken = Identifier(DocumentationCommentXmlNames.CodeElementName);
18
private static readonly
SyntaxToken
s_listToken = Identifier(DocumentationCommentXmlNames.ListElementName);
19
private static readonly
SyntaxToken
s_paramToken = Identifier(DocumentationCommentXmlNames.ParameterElementName);
20
private static readonly
SyntaxToken
s_valueToken = Identifier(DocumentationCommentXmlNames.ValueElementName);
21
private static readonly
SyntaxToken
s_exampleToken = Identifier(DocumentationCommentXmlNames.ExampleElementName);
22
private static readonly
SyntaxToken
s_includeToken = Identifier(DocumentationCommentXmlNames.IncludeElementName);
23
private static readonly
SyntaxToken
s_remarksToken = Identifier(DocumentationCommentXmlNames.RemarksElementName);
24
private static readonly
SyntaxToken
s_seealsoToken = Identifier(DocumentationCommentXmlNames.SeeAlsoElementName);
25
private static readonly
SyntaxToken
s_summaryToken = Identifier(DocumentationCommentXmlNames.SummaryElementName);
26
private static readonly
SyntaxToken
s_exceptionToken = Identifier(DocumentationCommentXmlNames.ExceptionElementName);
27
private static readonly
SyntaxToken
s_typeparamToken = Identifier(DocumentationCommentXmlNames.TypeParameterElementName);
28
private static readonly
SyntaxToken
s_permissionToken = Identifier(DocumentationCommentXmlNames.PermissionElementName);
29
private static readonly
SyntaxToken
s_typeparamrefToken = Identifier(DocumentationCommentXmlNames.TypeParameterReferenceElementName);
32
private static readonly
SyntaxToken
s_crefToken = IdentifierWithLeadingSpace(DocumentationCommentXmlNames.CrefAttributeName);
33
private static readonly
SyntaxToken
s_fileToken = IdentifierWithLeadingSpace(DocumentationCommentXmlNames.FileAttributeName);
34
private static readonly
SyntaxToken
s_nameToken = IdentifierWithLeadingSpace(DocumentationCommentXmlNames.NameAttributeName);
35
private static readonly
SyntaxToken
s_pathToken = IdentifierWithLeadingSpace(DocumentationCommentXmlNames.PathAttributeName);
36
private static readonly
SyntaxToken
s_typeToken = IdentifierWithLeadingSpace(DocumentationCommentXmlNames.TypeAttributeName);
38
private static
SyntaxToken
Identifier(string text)
43
private static
SyntaxToken
IdentifierWithLeadingSpace(string text)
60
public static
SyntaxToken
? LookupToken(string text, SyntaxListBuilder? leading)
75
private static
SyntaxToken
? LookupXmlElementTag(string text)
157
private static
SyntaxToken
? LookupXmlAttribute(string text)
Parser\LanguageParser.cs (351)
182
SyntaxToken
? tmp = null;
189
var
eof = this.EatToken(SyntaxKind.EndOfFileToken);
230
var fileAsTrivia = _syntaxFactory.SkippedTokensTrivia(builder.ToList<
SyntaxToken
>());
252
var
namespaceToken = this.EatToken(SyntaxKind.NamespaceKeyword);
261
SyntaxToken
? openBrace = null;
262
SyntaxToken
? semicolon = null;
362
ref
SyntaxToken
? openBraceOrSemicolon,
411
[NotNullIfNotNull(nameof(openBraceOrSemicolon))] ref
SyntaxToken
? openBraceOrSemicolon,
563
[NotNullIfNotNull(nameof(openBraceOrSemicolon))] ref
SyntaxToken
? openBraceOrSemicolon,
615
var
token = this.EatToken();
730
var
skippedToken = EatToken();
816
ref
SyntaxToken
? openBrace,
850
ref
SyntaxToken
? openBraceOrSemicolon,
956
var
globalToken = this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword
962
var
usingToken = this.EatToken(SyntaxKind.UsingKeyword);
963
var
staticToken = this.TryEatToken(SyntaxKind.StaticKeyword);
964
var
unsafeToken = this.TryEatToken(SyntaxKind.UnsafeKeyword);
977
SyntaxToken
semicolon;
1026
private static bool IsGlobalAttributeTarget(
SyntaxToken
token)
1122
var
openBracket = this.EatToken(SyntaxKind.OpenBracketToken);
1139
var
closeBracket = this.EatToken(SyntaxKind.CloseBracketToken);
1174
LanguageParser @this, ref
SyntaxToken
openBracket, SeparatedSyntaxListBuilder<AttributeSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
1210
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
1229
LanguageParser @this, ref
SyntaxToken
openParen, SeparatedSyntaxListBuilder<AttributeArgumentSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
1290
private static DeclarationModifiers GetModifierExcludingScoped(
SyntaxToken
token)
1365
SyntaxToken
scopedKeyword = ParsePossibleScopedKeyword(isFunctionPointerParameter: false, isLambdaParameter: false);
1377
SyntaxToken
modTok;
1381
var
nextToken = PeekToken(1);
1412
var
next = PeekToken(1);
1473
bool isStructOrRecordKeyword(
SyntaxToken
token)
1606
private static bool IsNonContextualModifier(
SyntaxToken
nextToken)
1614
var
nextToken = this.PeekToken(1);
1727
if (!tryScanRecordStart(out
var
keyword, out
var
recordModifier))
1739
SyntaxToken
? name;
1776
SyntaxToken
semicolon;
1777
SyntaxToken
? openBrace;
1778
SyntaxToken
? closeBrace;
1866
bool tryScanRecordStart([NotNullWhen(true)] out
SyntaxToken
? keyword, out
SyntaxToken
? recordModifier)
1883
var
misplacedToken = this.EatToken();
1900
static TypeDeclarationSyntax constructTypeDeclaration(ContextAwareSyntax syntaxFactory, SyntaxList<AttributeListSyntax> attributes, SyntaxListBuilder modifiers,
SyntaxToken
keyword,
SyntaxToken
? recordModifier,
1901
SyntaxToken
? name, TypeParameterListSyntax typeParameters, ParameterListSyntax? paramList, BaseListSyntax? baseList, SyntaxListBuilder<TypeParameterConstraintClauseSyntax> constraints,
1902
SyntaxToken
? openBrace, SyntaxListBuilder<MemberDeclarationSyntax> members,
SyntaxToken
? closeBrace,
SyntaxToken
semicolon)
1904
var modifiersList = (SyntaxList<
SyntaxToken
>)modifiers.ToList();
2002
private void SkipBadMemberListTokens(ref
SyntaxToken
openBrace, SyntaxListBuilder members)
2014
openBrace = (
SyntaxToken
)tmp;
2026
var
token = this.EatToken();
2094
var
colon = this.TryEatToken(SyntaxKind.ColonToken);
2149
PostSkipAction skipBadBaseListTokens(ref
SyntaxToken
colon, SeparatedSyntaxListBuilder<BaseTypeSyntax> list, SyntaxKind expected)
2176
var
where = this.EatContextualToken(SyntaxKind.WhereKeyword);
2181
var
colon = this.EatToken(SyntaxKind.ColonToken);
2209
SyntaxToken
separatorToken = this.EatToken(SyntaxKind.CommaToken);
2319
var
allows = this.EatContextualToken(SyntaxKind.AllowsKeyword);
2494
new SyntaxList<
SyntaxToken
>(),
2631
var
identifier = this.EatToken();
2778
SyntaxToken
identifierOrThisOpt;
2963
var
misplacedModifier = this.CurrentToken;
2980
ExplicitInterfaceSpecifierSyntax explicitInterfaceOpt,
SyntaxToken
identifierOrThisOpt, TypeParameterListSyntax typeParameterListOpt,
3021
ref ExplicitInterfaceSpecifierSyntax explicitInterfaceOpt, ref
SyntaxToken
identifierOrThisOpt,
3044
ExplicitInterfaceSpecifierSyntax explicitInterfaceOpt,
SyntaxToken
identifierOrThisOpt,
3196
SyntaxToken
identifierOrThisOpt;
3253
SyntaxToken
identifierOrThisOpt)
3332
if (child is not
SyntaxToken
token)
3356
var
name = this.ParseIdentifierToken();
3366
this.ParseBlockAndExpressionBodiesWithSemicolon(out var body, out var expressionBody, out
var
semicolon);
3378
var
colon = this.EatToken(SyntaxKind.ColonToken);
3385
SyntaxToken
token;
3411
var
tilde = this.EatToken(SyntaxKind.TildeToken);
3413
var
name = this.ParseIdentifierToken();
3420
out BlockSyntax body, out ArrowExpressionClauseSyntax expressionBody, out
SyntaxToken
semicolon);
3432
out
SyntaxToken
semicolon,
3520
SyntaxToken
identifier,
3538
var
colonToken = this.CurrentToken;
3559
this.ParseBlockAndExpressionBodiesWithSemicolon(out var blockBody, out var expressionBody, out
var
semicolon);
3685
var
style = this.CurrentToken.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3692
SyntaxToken
opKeyword;
3722
var
checkedKeyword = TryEatCheckedOrHandleUnchecked(ref opKeyword);
3741
this.ParseBlockAndExpressionBodiesWithSemicolon(out var blockBody, out var expressionBody, out
var
semicolon);
3769
SyntaxToken
separator = null;
3827
private
SyntaxToken
TryEatCheckedOrHandleUnchecked(ref
SyntaxToken
operatorKeyword)
3848
var
firstToken = this.CurrentToken;
3875
var
opKeyword = this.EatToken(SyntaxKind.OperatorKeyword);
3876
var
checkedKeyword = TryEatCheckedOrHandleUnchecked(ref opKeyword);
3877
SyntaxToken
opToken;
3924
var
tk = this.CurrentToken;
3928
var
opToken2 = this.EatToken();
3985
this.ParseBlockAndExpressionBodiesWithSemicolon(out var blockBody, out var expressionBody, out
var
semicolon);
4015
SyntaxToken
thisKeyword,
4031
SyntaxToken
semicolon = null;
4075
SyntaxToken
identifier,
4112
var
equals = this.EatToken(SyntaxKind.EqualsToken);
4117
SyntaxToken
semicolon = null;
4166
var
openBrace = this.EatToken(SyntaxKind.OpenBraceToken);
4211
var
refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
4219
private PostSkipAction SkipBadAccessorListTokens(ref
SyntaxToken
openBrace, SyntaxListBuilder<AccessorDeclarationSyntax> list, ErrorCode error)
4266
var
token = this.PeekToken(peekIndex);
4403
var
token = (first && !this.CurrentToken.ContainsDiagnostics) ? this.EatTokenWithPrejudice(expected) : this.EatToken();
4429
var
token = (first && !this.CurrentToken.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken();
4452
var
accessorName = this.EatToken(SyntaxKind.IdentifierToken,
4483
SyntaxToken
semicolon = null;
4537
private
SyntaxToken
EatAccessorSemicolon()
4543
private static SyntaxKind GetAccessorKind(
SyntaxToken
accessorName)
4563
var parameters = this.ParseParameterList(out
var
open, out
var
close, SyntaxKind.OpenParenToken, SyntaxKind.CloseParenToken, forExtension);
4574
var parameters = this.ParseParameterList(out
var
open, out
var
close, SyntaxKind.OpenBracketToken, SyntaxKind.CloseBracketToken, forExtension: false);
4635
out
SyntaxToken
open,
4636
out
SyntaxToken
close,
4667
LanguageParser @this, ref
SyntaxToken
open, SeparatedSyntaxListBuilder<ParameterSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
4765
SyntaxToken
? identifier;
4786
var
equalsToken = TryEatToken(SyntaxKind.EqualsToken);
4796
internal static bool NoTriviaBetween(
SyntaxToken
token1,
SyntaxToken
token2)
4801
private static bool IsParameterModifierIncludingScoped(
SyntaxToken
token)
4804
private static bool IsParameterModifierExcludingScoped(
SyntaxToken
token)
4836
SyntaxToken
scopedKeyword = ParsePossibleScopedKeyword(isFunctionPointerParameter, isLambdaParameter);
4876
var
eventToken = this.EatToken();
4887
SyntaxToken
eventToken,
4891
SyntaxToken
identifierOrThisOpt;
4917
SyntaxToken
identifier;
4948
SyntaxToken
semicolon = null;
4979
var
semi = this.EatToken();
4996
if (modifiers is [..,
SyntaxToken
{ Kind: SyntaxKind.ScopedKeyword } scopedKeyword])
5012
SyntaxToken
eventToken,
5089
SyntaxList<
SyntaxToken
> mods,
5277
SyntaxList<
SyntaxToken
> mods,
5348
var
missingIdentifier = CreateMissingIdentifierToken();
5366
var
name = this.ParseIdentifierToken();
5393
var
equals = this.EatToken();
5396
var
refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5464
args.AddSeparator((
SyntaxToken
)item);
5568
var
delegateToken = this.EatToken(SyntaxKind.DelegateKeyword);
5572
var
name = this.ParseIdentifierToken();
5601
var
enumToken = this.EatToken(SyntaxKind.EnumKeyword);
5602
var
name = this.ParseIdentifierToken();
5616
var
colon = this.EatToken(SyntaxKind.ColonToken);
5626
SyntaxToken
semicolon;
5627
SyntaxToken
openBrace;
5628
SyntaxToken
closeBrace;
5672
LanguageParser @this, ref
SyntaxToken
openBrace, SeparatedSyntaxListBuilder<EnumMemberDeclarationSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
5689
var
memberName = this.ParseIdentifierToken();
5725
private static
SyntaxToken
CreateMissingIdentifierToken()
5767
private bool IsTrueIdentifier(
SyntaxToken
token)
5788
private
SyntaxToken
ParseIdentifierToken(ErrorCode code = ErrorCode.ERR_IdentifierExpected)
5801
var
result = CreateMissingIdentifierToken();
5806
SyntaxToken
identifierToken = this.EatToken();
5856
var
open = this.EatToken(SyntaxKind.LessThanToken);
5875
LanguageParser @this, ref
SyntaxToken
open, SeparatedSyntaxListBuilder<TypeParameterSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
5951
this.ParseTypeArgumentList(out
var
open, types, out
var
close);
6005
out
var
greaterThanToken, out bool isDefinitelyTypeArgumentList);
6101
out
SyntaxToken
greaterThanToken,
6114
var
start = this.EatToken();
6289
private void ParseTypeArgumentList(out
SyntaxToken
open, SeparatedSyntaxListBuilder<TypeSyntax> types, out
SyntaxToken
close)
6362
static bool tokenBreaksTypeArgumentList(
SyntaxToken
token)
6507
out
SyntaxToken
identifierOrThisOpt,
6523
SyntaxToken
separator = null;
6643
private void AccumulateExplicitInterfaceName(ref NameSyntax explicitInterfaceName, ref
SyntaxToken
separator)
6705
SyntaxToken
separator = null;
6792
var
separator = this.EatToken();
6802
SyntaxToken
separator)
6844
private
SyntaxToken
ConvertToMissingWithTrailingTrivia(
SyntaxToken
token, SyntaxKind expectedKind)
6846
var
newToken = SyntaxFactory.MissingToken(expectedKind);
6914
private ScanTypeFlags ScanType(out
SyntaxToken
lastTokenOfType, bool forPattern = false)
6924
private ScanTypeFlags ScanNamedTypePart(out
SyntaxToken
lastTokenOfType)
6943
private ScanTypeFlags ScanType(ParseTypeMode mode, out
SyntaxToken
lastTokenOfType)
7117
private ScanTypeFlags ScanTupleType(out
SyntaxToken
lastTokenOfType)
7161
private ScanTypeFlags ScanFunctionPointerType(out
SyntaxToken
lastTokenOfType)
7171
var
peek1 = PeekToken(1);
7231
var ignoredModifiers = _pool.Allocate<
SyntaxToken
>();
7369
var
question = TryEatNullableQualifierIfApplicable(type, mode);
7431
private
SyntaxToken
TryEatNullableQualifierIfApplicable(
7445
var
questionToken = this.EatToken();
7523
var
nextToken = PeekToken(1);
7613
var
open = this.EatToken(SyntaxKind.OpenBracketToken);
7675
var
open = this.EatToken(SyntaxKind.OpenParenToken);
7714
private PostSkipAction SkipBadArrayRankSpecifierTokens(ref
SyntaxToken
openBracket, SeparatedSyntaxListBuilder<ExpressionSyntax> list, SyntaxKind expected)
7727
var
token = this.EatToken();
7760
var
@delegate = EatToken(SyntaxKind.DelegateKeyword);
7761
var
asterisk = EatToken(SyntaxKind.AsteriskToken);
7767
var
lessThanTokenError = WithAdditionalDiagnostics(SyntaxFactory.MissingToken(SyntaxKind.LessThanToken), GetExpectedTokenError(SyntaxKind.LessThanToken, SyntaxKind.None));
7785
var
lessThanToken = EatTokenAsKind(SyntaxKind.LessThanToken);
7794
var modifiers = _pool.Allocate<
SyntaxToken
>();
7844
SyntaxToken
managedSpecifier;
7845
SyntaxToken
peek1 = PeekToken(1);
7872
var
openBracket = EatToken(SyntaxKind.OpenBracketToken);
7892
var
closeBracket = EatToken(SyntaxKind.CloseBracketToken);
7920
private static bool IsPossibleFunctionPointerParameterListStart(
SyntaxToken
token)
8322
var
token1 = PeekToken(1);
8442
SyntaxToken
identifierOrThisOpt;
8605
SyntaxToken
nextToken = PeekToken(1);
8686
private bool? IsPossibleTypedIdentifierStart(
SyntaxToken
current,
SyntaxToken
next, bool allowThisKeyword)
8760
(
SyntaxToken
)openBrace,
8791
(
SyntaxToken
)openBrace,
8925
var
@fixed = this.EatToken(SyntaxKind.FixedKeyword);
8926
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
9010
var
@try = this.EatToken(SyntaxKind.TryKeyword);
9085
var
@catch = this.EatToken();
9092
var
openParen = this.EatToken();
9096
SyntaxToken
name = null;
9104
var
closeParen = this.EatToken(SyntaxKind.CloseParenToken);
9113
var
whenKeyword = this.EatContextualToken(SyntaxKind.WhenKeyword);
9125
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
9129
var
closeParen = this.EatToken(SyntaxKind.CloseParenToken);
9173
var
keyword = this.EatToken();
9184
var
@do = this.EatToken(SyntaxKind.DoKeyword);
9186
var
@while = this.EatToken(SyntaxKind.WhileKeyword);
9187
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
9250
var
forToken = this.EatToken(SyntaxKind.ForKeyword);
9251
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
9254
var
firstSemicolonToken = eatCommaOrSemicolon();
9260
var
secondSemicolonToken = eatCommaOrSemicolon();
9337
SyntaxToken
eatCommaOrSemicolon()
9342
SyntaxToken
eatUnexpectedTokensAndCloseParenToken()
9349
var
result = this.EatToken(SyntaxKind.CloseParenToken);
9356
SeparatedSyntaxList<ExpressionSyntax> parseForStatementExpressionList(ref
SyntaxToken
startToken, bool allowSemicolonAsSeparator)
9368
LanguageParser @this, ref
SyntaxToken
startToken, SeparatedSyntaxListBuilder<ExpressionSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
9386
SyntaxList<AttributeListSyntax> attributes,
SyntaxToken
awaitTokenOpt)
9396
SyntaxToken
@foreach;
9402
var
skippedForToken = this.EatToken();
9411
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
9414
var
@in = this.EatToken(SyntaxKind.InKeyword, ErrorCode.ERR_InExpected);
9421
var
closeParen = this.EatToken(SyntaxKind.CloseParenToken);
9429
SyntaxToken
identifier;
9439
identifier =
SyntaxToken
.WithValue(SyntaxKind.IdentifierToken, discard.LeadingTrivia.Node, discard.Text, discard.ValueText, discard.TrailingTrivia.Node);
9537
SyntaxToken
lastTokenOfType;
9608
var
@goto = this.EatToken(SyntaxKind.GotoKeyword);
9610
SyntaxToken
caseOrDefault = null;
9641
var stack = ArrayBuilder<(
SyntaxToken
,
SyntaxToken
, ExpressionSyntax,
SyntaxToken
, StatementSyntax,
SyntaxToken
)>.GetInstance();
9646
var
ifKeyword = this.EatToken(SyntaxKind.IfKeyword);
9647
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
9649
var
closeParen = this.EatToken(SyntaxKind.CloseParenToken);
9652
var
elseKeyword = this.CurrentToken.Kind != SyntaxKind.ElseKeyword ?
9751
var
yieldToken = ConvertToKeyword(this.EatToken());
9752
SyntaxToken
returnOrBreak;
9788
parseSwitchHeader(out
var
switchKeyword, out
var
openParen, out var expression, out
var
closeParen, out
var
openBrace);
9805
out
SyntaxToken
switchKeyword,
9806
out
SyntaxToken
openParen,
9808
out
SyntaxToken
closeParen,
9809
out
SyntaxToken
openBrace)
9873
var
caseKeyword = this.EatToken();
9951
private UsingStatementSyntax ParseUsingStatement(SyntaxList<AttributeListSyntax> attributes,
SyntaxToken
awaitTokenOpt = null)
9953
var
@using = this.EatToken(SyntaxKind.UsingKeyword);
9954
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
9992
SyntaxToken
scopedKeyword = ParsePossibleScopedKeyword(isFunctionPointerParameter: false, isLambdaParameter: false);
10108
SyntaxToken
awaitKeyword, usingKeyword;
10133
SyntaxToken
scopedKeyword = ParsePossibleScopedKeyword(isFunctionPointerParameter: false, isLambdaParameter: false);
10165
if (attributes.Count == 0 && mods.Count > 0 && IsAccessibilityModifier(((
SyntaxToken
)mods[0]).ContextualKind))
10183
var
mod = (
SyntaxToken
)mods[i];
10207
private
SyntaxToken
ParsePossibleScopedKeyword(
10220
var
scopedKeyword = this.EatContextualToken(SyntaxKind.ScopedKeyword);
10272
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
10345
VariableFlags initialFlags,
SyntaxToken
? scopedKeyword)
10371
SyntaxList<
SyntaxToken
> mods,
10372
SyntaxToken
? scopedKeyword,
10427
SyntaxToken
mod;
10546
SyntaxList<
SyntaxToken
> modifiers,
10548
SyntaxToken
identifier)
10573
var
modifier = modifiers[i];
10636
SyntaxToken
semicolon;
10669
SyntaxToken
semicolon;
11012
var
next = PeekToken(1);
11204
var
operatorToken = EatExpressionOperatorToken(operatorTokenKind);
11268
var
questionToken = this.EatToken();
11359
var
token1 = this.CurrentToken;
11413
private
SyntaxToken
EatExpressionOperatorToken(SyntaxKind operatorTokenKind)
11425
var
token1 = EatToken();
11426
var
token2 = EatToken();
11438
var
token1 = EatToken();
11440
var
token3 = EatToken();
11454
private AssignmentExpressionSyntax ParseAssignmentExpression(SyntaxKind operatorExpressionKind, ExpressionSyntax leftOperand,
SyntaxToken
operatorToken)
11482
public static bool IsAtDotDotToken(
SyntaxToken
token1,
SyntaxToken
token2)
11490
public
SyntaxToken
EatDotDotToken()
11493
var
token1 = this.EatToken();
11494
var
token2 = this.EatToken();
11496
var
dotDotToken = SyntaxFactory.Token(token1.GetLeadingTrivia(), SyntaxKind.DotDotToken, token2.GetTrailingTrivia());
11528
var
scopedKeyword = isScoped
11545
private ExpressionSyntax ParseIsExpression(ExpressionSyntax leftOperand,
SyntaxToken
opToken)
11686
var
refKeyword = this.EatToken();
11935
(
SyntaxToken
? questionToken, ExpressionSyntax? bindingExpression) tryEatQuestionAndBindingExpression()
11939
var
nextToken = this.PeekToken(1);
12047
openToken: out
SyntaxToken
openToken,
12049
closeToken: out
SyntaxToken
closeToken,
12063
openToken: out
SyntaxToken
openToken,
12065
closeToken: out
SyntaxToken
closeToken,
12072
out
SyntaxToken
openToken,
12074
out
SyntaxToken
closeToken,
12142
LanguageParser @this, ref
SyntaxToken
open, SeparatedSyntaxListBuilder<ArgumentSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
12185
SyntaxToken
refKindKeyword = null;
12231
var
keyword = this.EatToken();
12275
var
checkedOrUnchecked = this.EatToken();
12322
var
token = this.PeekToken(index++);
12381
var
identifier = this.IsTrueIdentifier() ? this.EatToken() : CreateMissingIdentifierToken();
12383
var
equalsToken = TryEatToken(SyntaxKind.EqualsToken);
12441
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
12469
private TupleExpressionSyntax ParseTupleExpressionTail(
SyntaxToken
openParen, ArgumentSyntax firstArg)
12634
var
token1 = this.PeekToken(1);
12837
var
openBracket = this.EatToken(SyntaxKind.OpenBracketToken);
12854
LanguageParser @this, ref
SyntaxToken
openBracket, SeparatedSyntaxListBuilder<CollectionElementSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
12883
var
@new = this.EatToken(SyntaxKind.NewKeyword);
12887
var
openBrace = this.EatToken(SyntaxKind.OpenBraceToken);
12937
SyntaxToken
@new = this.EatToken(SyntaxKind.NewKeyword);
13010
private WithExpressionSyntax ParseWithExpression(ExpressionSyntax receiverExpression,
SyntaxToken
withKeyword)
13012
var
openBrace = this.EatToken(SyntaxKind.OpenBraceToken);
13037
var
openBrace = this.EatToken(SyntaxKind.OpenBraceToken);
13111
LanguageParser @this, ref
SyntaxToken
startToken, SeparatedSyntaxListBuilder<T> list, SyntaxKind expectedKind, SyntaxKind closeKind)
13144
var
openBrace = this.EatToken(SyntaxKind.OpenBraceToken);
13171
var
@new = this.EatToken(SyntaxKind.NewKeyword);
13172
var
openBracket = this.EatToken(SyntaxKind.OpenBracketToken);
13211
var
openBrace = this.EatToken(SyntaxKind.OpenBraceToken);
13229
LanguageParser @this, ref
SyntaxToken
openBrace, SeparatedSyntaxListBuilder<ExpressionSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
13247
var
@stackalloc = this.EatToken(SyntaxKind.StackAllocKeyword);
13248
var
openBracket = this.EatToken(SyntaxKind.OpenBracketToken);
13306
var
@delegate = this.EatToken(SyntaxKind.DelegateKeyword);
13325
var
openBrace = this.EatToken(SyntaxKind.OpenBraceToken);
13347
private SyntaxList<
SyntaxToken
> ParseAnonymousFunctionModifiers()
13446
var
arrow = this.EatToken(SyntaxKind.EqualsGreaterThanToken);
13456
var
identifier = (this.CurrentToken.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken)
13461
var
arrow = this.EatToken(SyntaxKind.EqualsGreaterThanToken);
13479
var
openParen = this.EatToken(SyntaxKind.OpenParenToken);
13501
LanguageParser @this, ref
SyntaxToken
openParen, SeparatedSyntaxListBuilder<ParameterSyntax> list, SyntaxKind expectedKind, SyntaxKind closeKind)
13550
var
identifier = this.ParseIdentifierToken();
13553
var
equalsToken = TryEatToken(SyntaxKind.EqualsToken);
13595
var
peek1 = this.PeekToken(1);
13613
private static bool IsTokenQueryContextualKeyword(
SyntaxToken
token)
13633
private static bool IsTokenStartOfNewQueryClause(
SyntaxToken
token)
13775
var
@from = this.EatContextualToken(SyntaxKind.FromKeyword);
13781
SyntaxToken
name;
13846
var
@orderby = this.EatContextualToken(SyntaxKind.OrderByKeyword);
13891
SyntaxToken
direction = null;
13987
LanguageParser parser, ref
SyntaxToken
openToken, SeparatedSyntaxListBuilder<TNode> builder, SyntaxKind expectedKind, SyntaxKind closeTokenKind) where TNode : GreenNode;
14019
ref
SyntaxToken
openToken,
14041
ref
SyntaxToken
openToken,
14217
SyntaxListBuilder<
SyntaxToken
> b = _pool.Allocate<
SyntaxToken
>();
Parser\LanguageParser_InterpolatedString.cs (10)
41
var
originalToken = this.EatToken();
78
SyntaxToken
getOpenQuote()
238
SyntaxToken
getCloseQuote()
319
private static
SyntaxToken
TokenOrMissingToken(GreenNode? leading, SyntaxKind kind, string text, GreenNode? trailing)
395
SyntaxToken
openBraceToken)
421
(InterpolationFormatClauseSyntax? format,
SyntaxToken
closeBraceToken) getFormatAndCloseBrace()
437
SyntaxToken
getInterpolationCloseToken(GreenNode? leading)
452
private
SyntaxToken
MakeInterpolatedStringTextToken(Lexer.InterpolatedStringKind kind, string text)
467
var
token = tempLexer.Lex(ref mode);
469
var
result = SyntaxFactory.Literal(leading: null, text, SyntaxKind.InterpolatedStringTextToken, token.ValueText, trailing: null);
Parser\LanguageParser_Patterns.cs (9)
279
var
varToken = ConvertToKeyword(typeIdentifierToken);
289
var
openParenToken = this.EatToken(SyntaxKind.OpenParenToken);
299
var
closeParenToken = this.EatToken(SyntaxKind.CloseParenToken);
486
var
openBraceToken = this.EatToken(SyntaxKind.OpenBraceToken);
511
var
colon = EatToken();
540
LanguageParser @this, ref
SyntaxToken
open, SeparatedSyntaxListBuilder<T> list, SyntaxKind expectedKind, SyntaxKind closeKind)
568
private SwitchExpressionSyntax ParseSwitchExpression(ExpressionSyntax governingExpression,
SyntaxToken
switchKeyword)
624
var
commaToken = this.CurrentToken.Kind == SyntaxKind.SemicolonToken
637
var
openBracket = this.EatToken(SyntaxKind.OpenBracketToken);
Parser\Lexer.cs (23)
237
public
SyntaxToken
Lex(ref LexerMode mode)
239
var
result = Lex(mode);
248
public
SyntaxToken
Lex(LexerMode mode)
307
private
SyntaxToken
LexSyntaxToken()
342
private
SyntaxToken
Create(in TokenInfo info, SyntaxListBuilder? leading, SyntaxListBuilder? trailing, SyntaxDiagnosticInfo[]? errors)
349
SyntaxToken
token;
2494
private
SyntaxToken
LexDirectiveToken()
2507
var
token = Create(in info, null, directiveTriviaCache, errors);
2540
private
SyntaxToken
LexEndOfDirectiveAfterOptionalPreprocessingMessage(SyntaxTrivia? leading)
2551
var
endOfDirective = SyntaxFactory.Token(leading, SyntaxKind.EndOfDirectiveToken, trailing);
2556
public
SyntaxToken
LexEndOfDirectiveWithOptionalPreprocessingMessage()
2565
public
SyntaxToken
LexEndOfDirectiveWithOptionalContent(out
SyntaxToken
? content)
2568
?
SyntaxToken
.StringLiteral(message)
2853
private
SyntaxToken
LexXmlToken()
3209
private
SyntaxToken
LexXmlElementTagToken()
3224
SyntaxToken
? token = DocumentationCommentXmlTokens.LookupToken(tagInfo.Text, leading);
3395
private
SyntaxToken
LexXmlAttributeTextToken()
3548
private
SyntaxToken
LexXmlCharacter()
3604
private
SyntaxToken
LexXmlCrefOrNameToken()
4017
private
SyntaxToken
LexXmlCDataSectionTextToken()
4139
private
SyntaxToken
LexXmlCommentTextToken()
4269
private
SyntaxToken
LexXmlProcessingInstructionTextToken()
Parser\Lexer_StringLiteral.cs (1)
300
internal static
SyntaxToken
RescanInterpolatedString(InterpolatedStringExpressionSyntax interpolatedString)
Parser\LexerCache.cs (5)
33
private TextKeyedCache<
SyntaxToken
>? _tokenMap;
122
private TextKeyedCache<
SyntaxToken
> TokenMap
126
_tokenMap ??= TextKeyedCache<
SyntaxToken
>.GetInstance();
224
internal
SyntaxToken
LookupToken<TArg>(
229
Func<TArg,
SyntaxToken
> createTokenFunction,
Parser\QuickScanner.cs (4)
192
private
SyntaxToken
? QuickScanSyntaxToken()
237
var
token = _cache.LookupToken(
253
private static
SyntaxToken
CreateQuickToken(Lexer lexer)
259
var
token = lexer.LexSyntaxToken();
Parser\SyntaxParser.cs (55)
29
private
SyntaxToken
_currentToken;
30
private ArrayElement<
SyntaxToken
>[] _lexedTokens;
39
private static readonly ObjectPool<ArrayElement<
SyntaxToken
>[]> s_lexedTokensPool = new ObjectPool<ArrayElement<
SyntaxToken
>[]>(() => new ArrayElement<
SyntaxToken
>[CachedTokenArraySize]);
149
var
token = lexer.Lex(mode);
316
protected
SyntaxToken
CurrentToken
324
private
SyntaxToken
FetchCurrentToken()
380
private void AddLexedToken(
SyntaxToken
token)
454
private void ReturnLexedTokensToPool(ArrayElement<
SyntaxToken
>[] lexedTokens)
466
protected
SyntaxToken
PeekToken(int n)
486
protected
SyntaxToken
EatToken()
488
var
ct = this.CurrentToken;
497
protected
SyntaxToken
TryEatToken(SyntaxKind kind)
521
protected
SyntaxToken
EatToken(SyntaxKind kind)
525
var
ct = this.CurrentToken;
537
protected
SyntaxToken
EatTokenAsKind(SyntaxKind expected)
541
var
ct = this.CurrentToken;
548
var
replacement = CreateMissingToken(expected, this.CurrentToken.Kind, reportError: true);
552
private
SyntaxToken
CreateMissingToken(SyntaxKind expected, SyntaxKind actual, bool reportError)
555
var
token = SyntaxFactory.MissingToken(expected);
564
private
SyntaxToken
CreateMissingToken(SyntaxKind expected, ErrorCode code, bool reportError)
567
var
token = SyntaxFactory.MissingToken(expected);
576
protected
SyntaxToken
EatToken(SyntaxKind kind, bool reportError)
595
protected
SyntaxToken
EatToken(SyntaxKind kind, ErrorCode code, bool reportError = true)
608
protected
SyntaxToken
EatTokenWithPrejudice(SyntaxKind kind)
610
var
token = this.CurrentToken;
621
protected
SyntaxToken
EatTokenWithPrejudice(ErrorCode errorCode, params object[] args)
623
var
token = this.EatToken();
628
protected
SyntaxToken
EatContextualToken(SyntaxKind kind, ErrorCode code, bool reportError = true)
642
protected
SyntaxToken
EatContextualToken(SyntaxKind kind, bool reportError = true)
736
SyntaxToken
ct = this.CurrentToken;
778
SyntaxToken
token = node as
SyntaxToken
;
834
var
firstToken = node.GetFirstToken();
840
var
firstToken = node.GetFirstToken();
862
var
lastToken = node.GetLastNonmissingToken();
900
var
oldToken = node as
SyntaxToken
?? node.GetFirstToken();
901
var
newToken = AddSkippedSyntax(oldToken, skippedSyntax, trailing: false);
919
var
token = node as
SyntaxToken
;
926
var
lastToken = node.GetLastToken();
927
var
newToken = AddSkippedSyntax(lastToken, skippedSyntax, trailing: true);
936
internal
SyntaxToken
AddSkippedSyntax(
SyntaxToken
target, GreenNode skippedSyntax, bool trailing)
949
SyntaxToken
token = node as
SyntaxToken
;
957
SyntaxToken
tk = token.TokenWithLeadingTrivia(null).TokenWithTrailingTrivia(null);
1096
protected static
SyntaxToken
ConvertToKeyword(
SyntaxToken
token)
1115
protected static
SyntaxToken
ConvertToIdentifier(
SyntaxToken
token)
1119
var
identifier =
SyntaxToken
.Identifier(token.Kind, token.LeadingTrivia.Node, token.Text, token.ValueText, token.TrailingTrivia.Node);
Symbols\Source\AttributeLocation.cs (1)
123
internal static AttributeLocation ToAttributeLocation(this Syntax.InternalSyntax.
SyntaxToken
token)
Syntax\InternalSyntax\CSharpSyntaxNode.cs (8)
98
public
SyntaxToken
GetFirstToken()
100
return (
SyntaxToken
)this.GetFirstTerminal();
103
public
SyntaxToken
GetLastToken()
105
return (
SyntaxToken
)this.GetLastTerminal();
108
public
SyntaxToken
GetLastNonmissingToken()
110
return (
SyntaxToken
)this.GetLastNonmissingTerminal();
199
var
t = node as
SyntaxToken
;
Syntax\InternalSyntax\CSharpSyntaxRewriter.cs (1)
21
public override CSharpSyntaxNode VisitToken(
SyntaxToken
token)
Syntax\InternalSyntax\CSharpSyntaxVisitor.cs (2)
25
public virtual TResult VisitToken(
SyntaxToken
token)
53
public virtual void VisitToken(
SyntaxToken
token)
Syntax\InternalSyntax\SyntaxFactory.cs (55)
32
private static
SyntaxToken
s_xmlCarriageReturnLineFeed;
33
private static
SyntaxToken
XmlCarriageReturnLineFeed
116
public static
SyntaxToken
Token(SyntaxKind kind)
118
return
SyntaxToken
.Create(kind);
121
internal static
SyntaxToken
Token(GreenNode leading, SyntaxKind kind, GreenNode trailing)
123
return
SyntaxToken
.Create(kind, leading, trailing);
127
/// Creates a token whose <see cref="
SyntaxToken
.Text"/> and <see cref="
SyntaxToken
.ValueText"/> are the same.
129
internal static
SyntaxToken
Token(GreenNode leading, SyntaxKind kind, string text, GreenNode trailing)
134
internal static
SyntaxToken
Token(GreenNode leading, SyntaxKind kind, string text, string valueText, GreenNode trailing)
142
return kind >=
SyntaxToken
.FirstTokenWithWellKnownText && kind <=
SyntaxToken
.LastTokenWithWellKnownText && text == defaultText && valueText == defaultText
144
:
SyntaxToken
.WithValue(kind, leading, text, valueText, trailing);
147
internal static
SyntaxToken
MissingToken(SyntaxKind kind)
149
return
SyntaxToken
.CreateMissing(kind);
152
internal static
SyntaxToken
MissingToken(GreenNode leading, SyntaxKind kind, GreenNode trailing)
154
return
SyntaxToken
.CreateMissing(kind, leading, trailing);
157
internal static
SyntaxToken
Identifier(string text)
162
internal static
SyntaxToken
Identifier(GreenNode leading, string text, GreenNode trailing)
167
internal static
SyntaxToken
Identifier(SyntaxKind contextualKind, GreenNode leading, string text, string valueText, GreenNode trailing)
169
return
SyntaxToken
.Identifier(contextualKind, leading, text, valueText, trailing);
172
internal static
SyntaxToken
Literal(GreenNode leading, string text, int value, GreenNode trailing)
174
return
SyntaxToken
.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing);
177
internal static
SyntaxToken
Literal(GreenNode leading, string text, uint value, GreenNode trailing)
179
return
SyntaxToken
.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing);
182
internal static
SyntaxToken
Literal(GreenNode leading, string text, long value, GreenNode trailing)
184
return
SyntaxToken
.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing);
187
internal static
SyntaxToken
Literal(GreenNode leading, string text, ulong value, GreenNode trailing)
189
return
SyntaxToken
.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing);
192
internal static
SyntaxToken
Literal(GreenNode leading, string text, float value, GreenNode trailing)
194
return
SyntaxToken
.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing);
197
internal static
SyntaxToken
Literal(GreenNode leading, string text, double value, GreenNode trailing)
199
return
SyntaxToken
.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing);
202
internal static
SyntaxToken
Literal(GreenNode leading, string text, decimal value, GreenNode trailing)
204
return
SyntaxToken
.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing);
207
internal static
SyntaxToken
Literal(GreenNode leading, string text, string value, GreenNode trailing)
209
return
SyntaxToken
.WithValue(SyntaxKind.StringLiteralToken, leading, text, value, trailing);
212
internal static
SyntaxToken
Literal(GreenNode leading, string text, SyntaxKind kind, string value, GreenNode trailing)
214
return
SyntaxToken
.WithValue(kind, leading, text, value, trailing);
217
internal static
SyntaxToken
Literal(GreenNode leading, string text, char value, GreenNode trailing)
219
return
SyntaxToken
.WithValue(SyntaxKind.CharacterLiteralToken, leading, text, value, trailing);
222
internal static
SyntaxToken
BadToken(GreenNode leading, string text, GreenNode trailing)
224
return
SyntaxToken
.WithValue(SyntaxKind.BadToken, leading, text, text, trailing);
227
internal static
SyntaxToken
XmlTextLiteral(GreenNode leading, string text, string value, GreenNode trailing)
229
return
SyntaxToken
.WithValue(SyntaxKind.XmlTextLiteralToken, leading, text, value, trailing);
232
internal static
SyntaxToken
XmlTextNewLine(GreenNode leading, string text, string value, GreenNode trailing)
239
return
SyntaxToken
.WithValue(SyntaxKind.XmlTextLiteralNewLineToken, leading, text, value, trailing);
242
internal static
SyntaxToken
XmlTextNewLine(string text)
244
return
SyntaxToken
.WithValue(SyntaxKind.XmlTextLiteralNewLineToken, null, text, text, null);
247
internal static
SyntaxToken
XmlEntity(GreenNode leading, string text, string value, GreenNode trailing)
249
return
SyntaxToken
.WithValue(SyntaxKind.XmlEntityLiteralToken, leading, text, value, trailing);
307
public static SeparatedSyntaxList<TNode> SeparatedList<TNode>(
SyntaxToken
token) where TNode : CSharpSyntaxNode
312
public static SeparatedSyntaxList<TNode> SeparatedList<TNode>(TNode node1,
SyntaxToken
token, TNode node2) where TNode : CSharpSyntaxNode
344
internal static IEnumerable<
SyntaxToken
> GetWellKnownTokens()
346
return
SyntaxToken
.GetWellKnownTokens();
Syntax\InternalSyntax\SyntaxFirstTokenReplacer.cs (8)
16
private readonly
SyntaxToken
_oldToken;
17
private readonly
SyntaxToken
_newToken;
21
private SyntaxFirstTokenReplacer(
SyntaxToken
oldToken,
SyntaxToken
newToken, int diagnosticOffsetDelta)
29
internal static TRoot Replace<TRoot>(TRoot root,
SyntaxToken
oldToken,
SyntaxToken
newToken, int diagnosticOffsetDelta)
44
var
token = node as
SyntaxToken
;
Syntax\InternalSyntax\SyntaxLastTokenReplacer.cs (8)
16
private readonly
SyntaxToken
_oldToken;
17
private readonly
SyntaxToken
_newToken;
21
private SyntaxLastTokenReplacer(
SyntaxToken
oldToken,
SyntaxToken
newToken)
27
internal static TRoot Replace<TRoot>(TRoot root,
SyntaxToken
newToken)
30
var
oldToken = root.GetLastToken();
49
var
token = node as
SyntaxToken
;
Syntax\InternalSyntax\SyntaxListPoolExtensions.cs (2)
11
public static SyntaxList<
SyntaxToken
> ToTokenListAndFree(this SyntaxListPool pool, SyntaxListBuilder builder)
15
return new SyntaxList<
SyntaxToken
>(listNode);
Syntax\InternalSyntax\SyntaxToken.cs (29)
70
internal static
SyntaxToken
Create(SyntaxKind kind)
85
internal static
SyntaxToken
Create(SyntaxKind kind, GreenNode leading, GreenNode trailing)
121
internal static
SyntaxToken
CreateMissing(SyntaxKind kind)
135
internal static
SyntaxToken
CreateMissing(SyntaxKind kind, GreenNode leading, GreenNode trailing)
144
private static readonly ArrayElement<
SyntaxToken
>[] s_tokensWithNoTrivia = new ArrayElement<
SyntaxToken
>[(int)LastTokenWithWellKnownText + 1];
145
private static readonly ArrayElement<
SyntaxToken
>[] s_tokensWithElasticTrivia = new ArrayElement<
SyntaxToken
>[(int)LastTokenWithWellKnownText + 1];
146
private static readonly ArrayElement<
SyntaxToken
>[] s_tokensWithSingleTrailingSpace = new ArrayElement<
SyntaxToken
>[(int)LastTokenWithWellKnownText + 1];
147
private static readonly ArrayElement<
SyntaxToken
>[] s_tokensWithSingleTrailingCRLF = new ArrayElement<
SyntaxToken
>[(int)LastTokenWithWellKnownText + 1];
148
private static readonly ArrayElement<
SyntaxToken
>[] s_missingTokensWithNoTrivia = new ArrayElement<
SyntaxToken
>[(int)LastTokenWithWellKnownText + 1];
150
private static readonly
SyntaxToken
s_missingIdentifierTokenWithNoTrivia = new MissingTokenWithTrivia(SyntaxKind.IdentifierToken, leading: null, trailing: null);
164
internal static IEnumerable<
SyntaxToken
> GetWellKnownTokens()
199
internal static
SyntaxToken
Identifier(string text)
204
internal static
SyntaxToken
Identifier(GreenNode leading, string text, GreenNode trailing)
221
internal static
SyntaxToken
Identifier(SyntaxKind contextualKind, GreenNode leading, string text, string valueText, GreenNode trailing)
231
internal static
SyntaxToken
WithValue<T>(SyntaxKind kind, string text, T value)
236
internal static
SyntaxToken
WithValue<T>(SyntaxKind kind, GreenNode leading, string text, T value, GreenNode trailing)
241
internal static
SyntaxToken
StringLiteral(string text)
246
internal static
SyntaxToken
StringLiteral(CSharpSyntaxNode leading, string text, CSharpSyntaxNode trailing)
347
public virtual
SyntaxToken
TokenWithLeadingTrivia(GreenNode trivia)
357
public virtual
SyntaxToken
TokenWithTrailingTrivia(GreenNode trivia)
364
System.Diagnostics.Debug.Assert(this.GetType() == typeof(
SyntaxToken
));
370
System.Diagnostics.Debug.Assert(this.GetType() == typeof(
SyntaxToken
));
435
var
otherToken = (
SyntaxToken
)other;
Syntax\InternalSyntax\SyntaxToken.MissingTokenWithTrivia.cs (2)
47
public override
SyntaxToken
TokenWithLeadingTrivia(GreenNode trivia)
52
public override
SyntaxToken
TokenWithTrailingTrivia(GreenNode trivia)
Syntax\InternalSyntax\SyntaxToken.SyntaxIdentifier.cs (2)
44
public override
SyntaxToken
TokenWithLeadingTrivia(GreenNode trivia)
49
public override
SyntaxToken
TokenWithTrailingTrivia(GreenNode trivia)
Syntax\InternalSyntax\SyntaxToken.SyntaxIdentifierExtended.cs (2)
47
public override
SyntaxToken
TokenWithLeadingTrivia(GreenNode trivia)
52
public override
SyntaxToken
TokenWithTrailingTrivia(GreenNode trivia)
Syntax\InternalSyntax\SyntaxToken.SyntaxIdentifierWithTrailingTrivia.cs (2)
40
public override
SyntaxToken
TokenWithLeadingTrivia(GreenNode trivia)
45
public override
SyntaxToken
TokenWithTrailingTrivia(GreenNode trivia)
Syntax\InternalSyntax\SyntaxToken.SyntaxIdentifierWithTrivia.cs (2)
68
public override
SyntaxToken
TokenWithLeadingTrivia(GreenNode trivia)
73
public override
SyntaxToken
TokenWithTrailingTrivia(GreenNode trivia)
Syntax\InternalSyntax\SyntaxToken.SyntaxLiteral.cs (2)
57
public override
SyntaxToken
TokenWithLeadingTrivia(GreenNode trivia)
62
public override
SyntaxToken
TokenWithTrailingTrivia(GreenNode trivia)
Syntax\InternalSyntax\SyntaxToken.SyntaxLiteralWithTrivia.cs (2)
63
public override
SyntaxToken
TokenWithLeadingTrivia(GreenNode trivia)
68
public override
SyntaxToken
TokenWithTrailingTrivia(GreenNode trivia)
Syntax\InternalSyntax\SyntaxToken.SyntaxTokenWithTrivia.cs (2)
56
public override
SyntaxToken
TokenWithLeadingTrivia(GreenNode trivia)
61
public override
SyntaxToken
TokenWithTrailingTrivia(GreenNode trivia)
Syntax\InternalSyntax\TypeDeclarationSyntax.cs (37)
16
CoreSyntax.SyntaxList<
SyntaxToken
> modifiers,
17
SyntaxToken
keyword,
18
SyntaxToken
identifier,
23
SyntaxToken
openBraceToken,
25
SyntaxToken
closeBraceToken,
26
SyntaxToken
semicolonToken);
33
CoreSyntax.SyntaxList<
SyntaxToken
> modifiers,
34
SyntaxToken
keyword,
35
SyntaxToken
identifier,
40
SyntaxToken
openBraceToken,
42
SyntaxToken
closeBraceToken,
43
SyntaxToken
semicolonToken)
65
CoreSyntax.SyntaxList<
SyntaxToken
> modifiers,
66
SyntaxToken
keyword,
67
SyntaxToken
identifier,
72
SyntaxToken
openBraceToken,
74
SyntaxToken
closeBraceToken,
75
SyntaxToken
semicolonToken)
97
CoreSyntax.SyntaxList<
SyntaxToken
> modifiers,
98
SyntaxToken
keyword,
99
SyntaxToken
identifier,
104
SyntaxToken
openBraceToken,
106
SyntaxToken
closeBraceToken,
107
SyntaxToken
semicolonToken)
130
CoreSyntax.SyntaxList<
SyntaxToken
> modifiers,
131
SyntaxToken
keyword,
132
SyntaxToken
identifier,
137
SyntaxToken
openBraceToken,
139
SyntaxToken
closeBraceToken,
140
SyntaxToken
semicolonToken)
162
CoreSyntax.SyntaxList<
SyntaxToken
> modifiers,
163
SyntaxToken
keyword,
164
SyntaxToken
identifier,
169
SyntaxToken
openBraceToken,
171
SyntaxToken
closeBraceToken,
172
SyntaxToken
semicolonToken)
197
public override
SyntaxToken
Identifier => null;
Syntax\ShebangDirectiveTriviaSyntax.cs (5)
15
var
token = InternalSyntax.
SyntaxToken
.StringLiteral(this.EndOfDirectiveToken.LeadingTrivia.ToString());
25
.WithContent((InternalSyntax.
SyntaxToken
)content.Node!).CreateRed();
37
public ShebangDirectiveTriviaSyntax WithContent(
SyntaxToken
content)
39
SyntaxToken
endOfDirectiveToken = this.EndOfDirectiveToken;
Syntax\SyntaxEquivalence.cs (4)
80
if (((Green.
SyntaxToken
)before).ValueText != ((Green.
SyntaxToken
)after).ValueText)
95
if (((Green.
SyntaxToken
)before).Text != ((Green.
SyntaxToken
)after).Text)
Syntax\SyntaxFactory.cs (1)
1663
var
token = lexer.Lex(InternalSyntax.LexerMode.Syntax);
Syntax\SyntaxFacts.cs (2)
443
internal static bool IsIdentifierVar(this Syntax.InternalSyntax.
SyntaxToken
node)
448
internal static bool IsIdentifierVarOrPredefinedType(this Syntax.InternalSyntax.
SyntaxToken
node)
Syntax\SyntaxTokenParser.cs (3)
55
var
token = _lexer.Lex(InternalSyntax.LexerMode.Syntax);
70
var
containingToken = InternalSyntax.SyntaxFactory.MissingToken(leading: leadingTrivia.Node, SyntaxKind.None, trailing: null);
85
var
containingToken = InternalSyntax.SyntaxFactory.MissingToken(leading: null, SyntaxKind.None, trailing: trailingTrivia.Node);
Syntax\SyntaxTreeDiagnosticEnumerator.cs (3)
142
var
token = node as Syntax.InternalSyntax.
SyntaxToken
;
153
private void PushToken(Syntax.InternalSyntax.
SyntaxToken
token)
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (4)
IncrementalParsing\IncrementalParsingTests.cs (2)
3504
var
oldToken = ((Syntax.InternalSyntax.ClassDeclarationSyntax)oldClassC).Identifier;
3505
var
newToken = ((Syntax.InternalSyntax.ClassDeclarationSyntax)newClassC).Identifier;
LexicalAndXml\CrefLexerTests.cs (1)
448
var
token = lexer.Lex(InternalSyntax.LexerMode.XmlCrefQuote | InternalSyntax.LexerMode.XmlDocCommentStyleSingleLine | InternalSyntax.LexerMode.XmlDocCommentLocationInterior);
LexicalAndXml\NameAttributeValueLexerTests.cs (1)
412
var
token = lexer.Lex(InternalSyntax.LexerMode.XmlNameQuote | InternalSyntax.LexerMode.XmlDocCommentStyleSingleLine | InternalSyntax.LexerMode.XmlDocCommentLocationInterior);