1022 references to SyntaxKind
CSharpSyntaxGenerator (1022)
Grammar\GrammarGenerator.cs (8)
147
.Where(n => GetSyntaxKind(n + "Keyword") !=
SyntaxKind
.None)
151
var keywords = JoinWords(GetMembers<
SyntaxKind
>().Where(k => SyntaxFacts.IsReservedKeyword(k)).Select(SyntaxFacts.GetText).Where(t => !modifierWords.Contains(t)));
155
var operatorTokens = GetMembers<
SyntaxKind
>().Where(m => SyntaxFacts.IsBinaryExpressionOperatorToken(m) || SyntaxFacts.IsPostfixUnaryExpression(m) || SyntaxFacts.IsPrefixUnaryExpression(m) || SyntaxFacts.IsAssignmentExpressionOperatorToken(m));
158
rules.Add("PunctuationToken", JoinWords(GetMembers<
SyntaxKind
>()
345
field.Name == "TextTokens" ? RuleReference(nameof(
SyntaxKind
.XmlTextLiteralToken)) : RuleReference(elementType))
354
=> GetSyntaxKind(tokenName) is var kind && kind ==
SyntaxKind
.None ? RuleReference("SyntaxToken") :
359
private static
SyntaxKind
GetSyntaxKind(string name)
360
=> GetMembers<
SyntaxKind
>().Where(k => k.ToString() == name).SingleOrDefault();
src\Compilers\CSharp\Portable\Syntax\SyntaxKindFacts.cs (1014)
13
public static bool IsKeywordKind(
SyntaxKind
kind)
18
public static IEnumerable<
SyntaxKind
> GetReservedKeywordKinds()
20
for (int i = (int)
SyntaxKind
.BoolKeyword; i <= (int)
SyntaxKind
.ImplicitKeyword; i++)
22
Debug.Assert(Enum.IsDefined(typeof(
SyntaxKind
), (
SyntaxKind
)i));
23
yield return (
SyntaxKind
)i;
27
public static IEnumerable<
SyntaxKind
> GetKeywordKinds()
29
foreach (
var
reserved in GetReservedKeywordKinds())
34
foreach (
var
contextual in GetContextualKeywordKinds())
40
public static bool IsReservedKeyword(
SyntaxKind
kind)
42
return kind >=
SyntaxKind
.BoolKeyword && kind <=
SyntaxKind
.ImplicitKeyword;
45
public static bool IsAttributeTargetSpecifier(
SyntaxKind
kind)
49
case
SyntaxKind
.AssemblyKeyword:
50
case
SyntaxKind
.ModuleKeyword:
51
case
SyntaxKind
.EventKeyword:
52
case
SyntaxKind
.FieldKeyword:
53
case
SyntaxKind
.MethodKeyword:
54
case
SyntaxKind
.ParamKeyword:
55
case
SyntaxKind
.PropertyKeyword:
56
case
SyntaxKind
.ReturnKeyword:
57
case
SyntaxKind
.TypeKeyword:
58
case
SyntaxKind
.TypeVarKeyword:
65
public static bool IsAccessibilityModifier(
SyntaxKind
kind)
69
case
SyntaxKind
.PrivateKeyword:
70
case
SyntaxKind
.ProtectedKeyword:
71
case
SyntaxKind
.InternalKeyword:
72
case
SyntaxKind
.PublicKeyword:
79
public static bool IsPreprocessorKeyword(
SyntaxKind
kind)
83
case
SyntaxKind
.TrueKeyword:
84
case
SyntaxKind
.FalseKeyword:
85
case
SyntaxKind
.DefaultKeyword:
86
case
SyntaxKind
.IfKeyword:
87
case
SyntaxKind
.ElseKeyword:
88
case
SyntaxKind
.ElifKeyword:
89
case
SyntaxKind
.EndIfKeyword:
90
case
SyntaxKind
.RegionKeyword:
91
case
SyntaxKind
.EndRegionKeyword:
92
case
SyntaxKind
.DefineKeyword:
93
case
SyntaxKind
.UndefKeyword:
94
case
SyntaxKind
.WarningKeyword:
95
case
SyntaxKind
.ErrorKeyword:
96
case
SyntaxKind
.LineKeyword:
97
case
SyntaxKind
.PragmaKeyword:
98
case
SyntaxKind
.HiddenKeyword:
99
case
SyntaxKind
.ChecksumKeyword:
100
case
SyntaxKind
.DisableKeyword:
101
case
SyntaxKind
.RestoreKeyword:
102
case
SyntaxKind
.ReferenceKeyword:
103
case
SyntaxKind
.LoadKeyword:
104
case
SyntaxKind
.NullableKeyword:
105
case
SyntaxKind
.EnableKeyword:
106
case
SyntaxKind
.WarningsKeyword:
107
case
SyntaxKind
.AnnotationsKeyword:
123
internal static bool IsPreprocessorContextualKeyword(
SyntaxKind
kind)
127
case
SyntaxKind
.TrueKeyword:
128
case
SyntaxKind
.FalseKeyword:
129
case
SyntaxKind
.DefaultKeyword:
130
case
SyntaxKind
.HiddenKeyword:
131
case
SyntaxKind
.ChecksumKeyword:
132
case
SyntaxKind
.DisableKeyword:
133
case
SyntaxKind
.RestoreKeyword:
134
case
SyntaxKind
.EnableKeyword:
135
case
SyntaxKind
.WarningsKeyword:
136
case
SyntaxKind
.AnnotationsKeyword:
143
public static IEnumerable<
SyntaxKind
> GetPreprocessorKeywordKinds()
145
yield return
SyntaxKind
.TrueKeyword;
146
yield return
SyntaxKind
.FalseKeyword;
147
yield return
SyntaxKind
.DefaultKeyword;
149
for (int i = (int)
SyntaxKind
.ElifKeyword; i <= (int)
SyntaxKind
.RestoreKeyword; i++)
151
Debug.Assert(Enum.IsDefined(typeof(
SyntaxKind
), (
SyntaxKind
)i));
152
yield return (
SyntaxKind
)i;
156
public static bool IsPunctuation(
SyntaxKind
kind)
158
return kind >=
SyntaxKind
.TildeToken && kind <=
SyntaxKind
.GreaterThanGreaterThanGreaterThanEqualsToken;
161
public static bool IsLanguagePunctuation(
SyntaxKind
kind)
166
public static bool IsPreprocessorPunctuation(
SyntaxKind
kind)
168
return kind ==
SyntaxKind
.HashToken;
171
private static bool IsDebuggerSpecialPunctuation(
SyntaxKind
kind)
174
return kind ==
SyntaxKind
.DollarToken;
177
public static IEnumerable<
SyntaxKind
> GetPunctuationKinds()
179
for (int i = (int)
SyntaxKind
.TildeToken; i <= (int)
SyntaxKind
.DotDotToken; i++)
181
Debug.Assert(Enum.IsDefined(typeof(
SyntaxKind
), (
SyntaxKind
)i));
182
yield return (
SyntaxKind
)i;
185
for (int i = (int)
SyntaxKind
.SlashGreaterThanToken; i <= (int)
SyntaxKind
.XmlProcessingInstructionEndToken; i++)
187
Debug.Assert(Enum.IsDefined(typeof(
SyntaxKind
), (
SyntaxKind
)i));
188
yield return (
SyntaxKind
)i;
191
for (int i = (int)
SyntaxKind
.BarBarToken; i <= (int)
SyntaxKind
.QuestionQuestionEqualsToken; i++)
193
Debug.Assert(Enum.IsDefined(typeof(
SyntaxKind
), (
SyntaxKind
)i));
194
yield return (
SyntaxKind
)i;
197
yield return
SyntaxKind
.GreaterThanGreaterThanGreaterThanToken;
198
yield return
SyntaxKind
.GreaterThanGreaterThanGreaterThanEqualsToken;
201
public static bool IsPunctuationOrKeyword(
SyntaxKind
kind)
203
return kind >=
SyntaxKind
.TildeToken && kind <=
SyntaxKind
.EndOfFileToken;
206
internal static bool IsLiteral(
SyntaxKind
kind)
210
case
SyntaxKind
.IdentifierToken:
211
case
SyntaxKind
.StringLiteralToken:
212
case
SyntaxKind
.Utf8StringLiteralToken:
213
case
SyntaxKind
.SingleLineRawStringLiteralToken:
214
case
SyntaxKind
.Utf8SingleLineRawStringLiteralToken:
215
case
SyntaxKind
.MultiLineRawStringLiteralToken:
216
case
SyntaxKind
.Utf8MultiLineRawStringLiteralToken:
217
case
SyntaxKind
.CharacterLiteralToken:
218
case
SyntaxKind
.NumericLiteralToken:
219
case
SyntaxKind
.XmlTextLiteralToken:
220
case
SyntaxKind
.XmlTextLiteralNewLineToken:
221
case
SyntaxKind
.XmlEntityLiteralToken:
228
public static bool IsAnyToken(
SyntaxKind
kind)
230
if (kind >=
SyntaxKind
.TildeToken && kind <
SyntaxKind
.EndOfLineTrivia) return true;
233
case
SyntaxKind
.InterpolatedStringToken:
234
case
SyntaxKind
.InterpolatedStringStartToken:
235
case
SyntaxKind
.InterpolatedVerbatimStringStartToken:
236
case
SyntaxKind
.InterpolatedMultiLineRawStringStartToken:
237
case
SyntaxKind
.InterpolatedSingleLineRawStringStartToken:
238
case
SyntaxKind
.InterpolatedStringTextToken:
239
case
SyntaxKind
.InterpolatedStringEndToken:
240
case
SyntaxKind
.InterpolatedRawStringEndToken:
241
case
SyntaxKind
.LoadKeyword:
242
case
SyntaxKind
.NullableKeyword:
243
case
SyntaxKind
.EnableKeyword:
244
case
SyntaxKind
.UnderscoreToken:
245
case
SyntaxKind
.MultiLineRawStringLiteralToken:
246
case
SyntaxKind
.SingleLineRawStringLiteralToken:
253
public static bool IsTrivia(
SyntaxKind
kind)
257
case
SyntaxKind
.EndOfLineTrivia:
258
case
SyntaxKind
.WhitespaceTrivia:
259
case
SyntaxKind
.SingleLineCommentTrivia:
260
case
SyntaxKind
.MultiLineCommentTrivia:
261
case
SyntaxKind
.SingleLineDocumentationCommentTrivia:
262
case
SyntaxKind
.MultiLineDocumentationCommentTrivia:
263
case
SyntaxKind
.DisabledTextTrivia:
264
case
SyntaxKind
.DocumentationCommentExteriorTrivia:
265
case
SyntaxKind
.ConflictMarkerTrivia:
272
public static bool IsPreprocessorDirective(
SyntaxKind
kind)
276
case
SyntaxKind
.IfDirectiveTrivia:
277
case
SyntaxKind
.ElifDirectiveTrivia:
278
case
SyntaxKind
.ElseDirectiveTrivia:
279
case
SyntaxKind
.EndIfDirectiveTrivia:
280
case
SyntaxKind
.RegionDirectiveTrivia:
281
case
SyntaxKind
.EndRegionDirectiveTrivia:
282
case
SyntaxKind
.DefineDirectiveTrivia:
283
case
SyntaxKind
.UndefDirectiveTrivia:
284
case
SyntaxKind
.ErrorDirectiveTrivia:
285
case
SyntaxKind
.WarningDirectiveTrivia:
286
case
SyntaxKind
.LineDirectiveTrivia:
287
case
SyntaxKind
.LineSpanDirectiveTrivia:
288
case
SyntaxKind
.PragmaWarningDirectiveTrivia:
289
case
SyntaxKind
.PragmaChecksumDirectiveTrivia:
290
case
SyntaxKind
.ReferenceDirectiveTrivia:
291
case
SyntaxKind
.LoadDirectiveTrivia:
292
case
SyntaxKind
.BadDirectiveTrivia:
293
case
SyntaxKind
.ShebangDirectiveTrivia:
294
case
SyntaxKind
.IgnoredDirectiveTrivia:
295
case
SyntaxKind
.NullableDirectiveTrivia:
302
public static bool IsName(
SyntaxKind
kind)
306
case
SyntaxKind
.IdentifierName:
307
case
SyntaxKind
.GenericName:
308
case
SyntaxKind
.QualifiedName:
309
case
SyntaxKind
.AliasQualifiedName:
316
public static bool IsPredefinedType(
SyntaxKind
kind)
320
case
SyntaxKind
.BoolKeyword:
321
case
SyntaxKind
.ByteKeyword:
322
case
SyntaxKind
.SByteKeyword:
323
case
SyntaxKind
.IntKeyword:
324
case
SyntaxKind
.UIntKeyword:
325
case
SyntaxKind
.ShortKeyword:
326
case
SyntaxKind
.UShortKeyword:
327
case
SyntaxKind
.LongKeyword:
328
case
SyntaxKind
.ULongKeyword:
329
case
SyntaxKind
.FloatKeyword:
330
case
SyntaxKind
.DoubleKeyword:
331
case
SyntaxKind
.DecimalKeyword:
332
case
SyntaxKind
.StringKeyword:
333
case
SyntaxKind
.CharKeyword:
334
case
SyntaxKind
.ObjectKeyword:
335
case
SyntaxKind
.VoidKeyword:
342
public static bool IsTypeSyntax(
SyntaxKind
kind)
346
case
SyntaxKind
.ArrayType:
347
case
SyntaxKind
.PointerType:
348
case
SyntaxKind
.NullableType:
349
case
SyntaxKind
.PredefinedType:
350
case
SyntaxKind
.TupleType:
351
case
SyntaxKind
.FunctionPointerType:
361
public static bool IsGlobalMemberDeclaration(
SyntaxKind
kind)
365
case
SyntaxKind
.GlobalStatement:
366
case
SyntaxKind
.FieldDeclaration:
367
case
SyntaxKind
.MethodDeclaration:
368
case
SyntaxKind
.PropertyDeclaration:
369
case
SyntaxKind
.EventDeclaration:
370
case
SyntaxKind
.EventFieldDeclaration:
376
public static bool IsTypeDeclaration(
SyntaxKind
kind)
380
case
SyntaxKind
.ClassDeclaration:
381
case
SyntaxKind
.StructDeclaration:
382
case
SyntaxKind
.InterfaceDeclaration:
383
case
SyntaxKind
.DelegateDeclaration:
384
case
SyntaxKind
.EnumDeclaration:
385
case
SyntaxKind
.RecordDeclaration:
386
case
SyntaxKind
.RecordStructDeclaration:
387
case
SyntaxKind
.ExtensionBlockDeclaration:
395
public static bool IsNamespaceMemberDeclaration(
SyntaxKind
kind)
397
kind ==
SyntaxKind
.NamespaceDeclaration ||
398
kind ==
SyntaxKind
.FileScopedNamespaceDeclaration;
400
public static bool IsAnyUnaryExpression(
SyntaxKind
token)
405
public static bool IsPrefixUnaryExpression(
SyntaxKind
token)
407
return GetPrefixUnaryExpression(token) !=
SyntaxKind
.None;
410
public static bool IsPrefixUnaryExpressionOperatorToken(
SyntaxKind
token)
412
return GetPrefixUnaryExpression(token) !=
SyntaxKind
.None;
415
public static
SyntaxKind
GetPrefixUnaryExpression(
SyntaxKind
token)
419
case
SyntaxKind
.PlusToken:
420
return
SyntaxKind
.UnaryPlusExpression;
421
case
SyntaxKind
.MinusToken:
422
return
SyntaxKind
.UnaryMinusExpression;
423
case
SyntaxKind
.TildeToken:
424
return
SyntaxKind
.BitwiseNotExpression;
425
case
SyntaxKind
.ExclamationToken:
426
return
SyntaxKind
.LogicalNotExpression;
427
case
SyntaxKind
.PlusPlusToken:
428
return
SyntaxKind
.PreIncrementExpression;
429
case
SyntaxKind
.MinusMinusToken:
430
return
SyntaxKind
.PreDecrementExpression;
431
case
SyntaxKind
.AmpersandToken:
432
return
SyntaxKind
.AddressOfExpression;
433
case
SyntaxKind
.AsteriskToken:
434
return
SyntaxKind
.PointerIndirectionExpression;
435
case
SyntaxKind
.CaretToken:
436
return
SyntaxKind
.IndexExpression;
438
return
SyntaxKind
.None;
442
public static bool IsPostfixUnaryExpression(
SyntaxKind
token)
444
return GetPostfixUnaryExpression(token) !=
SyntaxKind
.None;
447
public static bool IsPostfixUnaryExpressionToken(
SyntaxKind
token)
449
return GetPostfixUnaryExpression(token) !=
SyntaxKind
.None;
452
public static
SyntaxKind
GetPostfixUnaryExpression(
SyntaxKind
token)
456
case
SyntaxKind
.PlusPlusToken:
457
return
SyntaxKind
.PostIncrementExpression;
458
case
SyntaxKind
.MinusMinusToken:
459
return
SyntaxKind
.PostDecrementExpression;
460
case
SyntaxKind
.ExclamationToken:
461
return
SyntaxKind
.SuppressNullableWarningExpression;
463
return
SyntaxKind
.None;
467
internal static bool IsIncrementOrDecrementOperator(
SyntaxKind
token)
471
case
SyntaxKind
.PlusPlusToken:
472
case
SyntaxKind
.MinusMinusToken:
479
public static bool IsUnaryOperatorDeclarationToken(
SyntaxKind
token)
482
token ==
SyntaxKind
.TrueKeyword ||
483
token ==
SyntaxKind
.FalseKeyword;
486
public static bool IsAnyOverloadableOperator(
SyntaxKind
kind)
493
public static bool IsOverloadableBinaryOperator(
SyntaxKind
kind)
497
case
SyntaxKind
.PlusToken:
498
case
SyntaxKind
.MinusToken:
499
case
SyntaxKind
.AsteriskToken:
500
case
SyntaxKind
.SlashToken:
501
case
SyntaxKind
.PercentToken:
502
case
SyntaxKind
.CaretToken:
503
case
SyntaxKind
.AmpersandToken:
504
case
SyntaxKind
.BarToken:
505
case
SyntaxKind
.EqualsEqualsToken:
506
case
SyntaxKind
.LessThanToken:
507
case
SyntaxKind
.LessThanEqualsToken:
508
case
SyntaxKind
.LessThanLessThanToken:
509
case
SyntaxKind
.GreaterThanToken:
510
case
SyntaxKind
.GreaterThanEqualsToken:
511
case
SyntaxKind
.GreaterThanGreaterThanToken:
512
case
SyntaxKind
.GreaterThanGreaterThanGreaterThanToken:
513
case
SyntaxKind
.ExclamationEqualsToken:
520
public static bool IsOverloadableUnaryOperator(
SyntaxKind
kind)
524
case
SyntaxKind
.PlusToken:
525
case
SyntaxKind
.MinusToken:
526
case
SyntaxKind
.TildeToken:
527
case
SyntaxKind
.ExclamationToken:
528
case
SyntaxKind
.PlusPlusToken:
529
case
SyntaxKind
.MinusMinusToken:
530
case
SyntaxKind
.TrueKeyword:
531
case
SyntaxKind
.FalseKeyword:
538
public static bool IsOverloadableCompoundAssignmentOperator(
SyntaxKind
kind)
542
case
SyntaxKind
.PlusEqualsToken:
543
case
SyntaxKind
.MinusEqualsToken:
544
case
SyntaxKind
.AsteriskEqualsToken:
545
case
SyntaxKind
.SlashEqualsToken:
546
case
SyntaxKind
.PercentEqualsToken:
547
case
SyntaxKind
.AmpersandEqualsToken:
548
case
SyntaxKind
.BarEqualsToken:
549
case
SyntaxKind
.CaretEqualsToken:
550
case
SyntaxKind
.LessThanLessThanEqualsToken:
551
case
SyntaxKind
.GreaterThanGreaterThanEqualsToken:
552
case
SyntaxKind
.GreaterThanGreaterThanGreaterThanEqualsToken:
559
public static bool IsPrimaryFunction(
SyntaxKind
keyword)
561
return GetPrimaryFunction(keyword) !=
SyntaxKind
.None;
564
public static
SyntaxKind
GetPrimaryFunction(
SyntaxKind
keyword)
568
case
SyntaxKind
.MakeRefKeyword:
569
return
SyntaxKind
.MakeRefExpression;
570
case
SyntaxKind
.RefTypeKeyword:
571
return
SyntaxKind
.RefTypeExpression;
572
case
SyntaxKind
.RefValueKeyword:
573
return
SyntaxKind
.RefValueExpression;
574
case
SyntaxKind
.CheckedKeyword:
575
return
SyntaxKind
.CheckedExpression;
576
case
SyntaxKind
.UncheckedKeyword:
577
return
SyntaxKind
.UncheckedExpression;
578
case
SyntaxKind
.DefaultKeyword:
579
return
SyntaxKind
.DefaultExpression;
580
case
SyntaxKind
.TypeOfKeyword:
581
return
SyntaxKind
.TypeOfExpression;
582
case
SyntaxKind
.SizeOfKeyword:
583
return
SyntaxKind
.SizeOfExpression;
585
return
SyntaxKind
.None;
589
public static bool IsLiteralExpression(
SyntaxKind
token)
591
return GetLiteralExpression(token) !=
SyntaxKind
.None;
594
public static
SyntaxKind
GetLiteralExpression(
SyntaxKind
token)
598
SyntaxKind
.StringLiteralToken =>
SyntaxKind
.StringLiteralExpression,
599
SyntaxKind
.Utf8StringLiteralToken =>
SyntaxKind
.Utf8StringLiteralExpression,
600
SyntaxKind
.SingleLineRawStringLiteralToken =>
SyntaxKind
.StringLiteralExpression,
601
SyntaxKind
.Utf8SingleLineRawStringLiteralToken =>
SyntaxKind
.Utf8StringLiteralExpression,
602
SyntaxKind
.MultiLineRawStringLiteralToken =>
SyntaxKind
.StringLiteralExpression,
603
SyntaxKind
.Utf8MultiLineRawStringLiteralToken =>
SyntaxKind
.Utf8StringLiteralExpression,
604
SyntaxKind
.CharacterLiteralToken =>
SyntaxKind
.CharacterLiteralExpression,
605
SyntaxKind
.NumericLiteralToken =>
SyntaxKind
.NumericLiteralExpression,
606
SyntaxKind
.NullKeyword =>
SyntaxKind
.NullLiteralExpression,
607
SyntaxKind
.TrueKeyword =>
SyntaxKind
.TrueLiteralExpression,
608
SyntaxKind
.FalseKeyword =>
SyntaxKind
.FalseLiteralExpression,
609
SyntaxKind
.ArgListKeyword =>
SyntaxKind
.ArgListExpression,
610
_ =>
SyntaxKind
.None,
614
public static bool IsInstanceExpression(
SyntaxKind
token)
616
return GetInstanceExpression(token) !=
SyntaxKind
.None;
619
public static
SyntaxKind
GetInstanceExpression(
SyntaxKind
token)
623
case
SyntaxKind
.ThisKeyword:
624
return
SyntaxKind
.ThisExpression;
625
case
SyntaxKind
.BaseKeyword:
626
return
SyntaxKind
.BaseExpression;
628
return
SyntaxKind
.None;
632
public static bool IsBinaryExpression(
SyntaxKind
token)
634
return GetBinaryExpression(token) !=
SyntaxKind
.None;
637
public static bool IsBinaryExpressionOperatorToken(
SyntaxKind
token)
639
return GetBinaryExpression(token) !=
SyntaxKind
.None;
642
public static
SyntaxKind
GetBinaryExpression(
SyntaxKind
token)
646
case
SyntaxKind
.QuestionQuestionToken:
647
return
SyntaxKind
.CoalesceExpression;
648
case
SyntaxKind
.IsKeyword:
649
return
SyntaxKind
.IsExpression;
650
case
SyntaxKind
.AsKeyword:
651
return
SyntaxKind
.AsExpression;
652
case
SyntaxKind
.BarToken:
653
return
SyntaxKind
.BitwiseOrExpression;
654
case
SyntaxKind
.CaretToken:
655
return
SyntaxKind
.ExclusiveOrExpression;
656
case
SyntaxKind
.AmpersandToken:
657
return
SyntaxKind
.BitwiseAndExpression;
658
case
SyntaxKind
.EqualsEqualsToken:
659
return
SyntaxKind
.EqualsExpression;
660
case
SyntaxKind
.ExclamationEqualsToken:
661
return
SyntaxKind
.NotEqualsExpression;
662
case
SyntaxKind
.LessThanToken:
663
return
SyntaxKind
.LessThanExpression;
664
case
SyntaxKind
.LessThanEqualsToken:
665
return
SyntaxKind
.LessThanOrEqualExpression;
666
case
SyntaxKind
.GreaterThanToken:
667
return
SyntaxKind
.GreaterThanExpression;
668
case
SyntaxKind
.GreaterThanEqualsToken:
669
return
SyntaxKind
.GreaterThanOrEqualExpression;
670
case
SyntaxKind
.LessThanLessThanToken:
671
return
SyntaxKind
.LeftShiftExpression;
672
case
SyntaxKind
.GreaterThanGreaterThanToken:
673
return
SyntaxKind
.RightShiftExpression;
674
case
SyntaxKind
.GreaterThanGreaterThanGreaterThanToken:
675
return
SyntaxKind
.UnsignedRightShiftExpression;
676
case
SyntaxKind
.PlusToken:
677
return
SyntaxKind
.AddExpression;
678
case
SyntaxKind
.MinusToken:
679
return
SyntaxKind
.SubtractExpression;
680
case
SyntaxKind
.AsteriskToken:
681
return
SyntaxKind
.MultiplyExpression;
682
case
SyntaxKind
.SlashToken:
683
return
SyntaxKind
.DivideExpression;
684
case
SyntaxKind
.PercentToken:
685
return
SyntaxKind
.ModuloExpression;
686
case
SyntaxKind
.AmpersandAmpersandToken:
687
return
SyntaxKind
.LogicalAndExpression;
688
case
SyntaxKind
.BarBarToken:
689
return
SyntaxKind
.LogicalOrExpression;
691
return
SyntaxKind
.None;
695
public static bool IsAssignmentExpression(
SyntaxKind
kind)
699
case
SyntaxKind
.CoalesceAssignmentExpression:
700
case
SyntaxKind
.OrAssignmentExpression:
701
case
SyntaxKind
.AndAssignmentExpression:
702
case
SyntaxKind
.ExclusiveOrAssignmentExpression:
703
case
SyntaxKind
.LeftShiftAssignmentExpression:
704
case
SyntaxKind
.RightShiftAssignmentExpression:
705
case
SyntaxKind
.UnsignedRightShiftAssignmentExpression:
706
case
SyntaxKind
.AddAssignmentExpression:
707
case
SyntaxKind
.SubtractAssignmentExpression:
708
case
SyntaxKind
.MultiplyAssignmentExpression:
709
case
SyntaxKind
.DivideAssignmentExpression:
710
case
SyntaxKind
.ModuloAssignmentExpression:
711
case
SyntaxKind
.SimpleAssignmentExpression:
718
public static bool IsAssignmentExpressionOperatorToken(
SyntaxKind
token)
722
case
SyntaxKind
.QuestionQuestionEqualsToken:
723
case
SyntaxKind
.BarEqualsToken:
724
case
SyntaxKind
.AmpersandEqualsToken:
725
case
SyntaxKind
.CaretEqualsToken:
726
case
SyntaxKind
.LessThanLessThanEqualsToken:
727
case
SyntaxKind
.GreaterThanGreaterThanEqualsToken:
728
case
SyntaxKind
.GreaterThanGreaterThanGreaterThanEqualsToken:
729
case
SyntaxKind
.PlusEqualsToken:
730
case
SyntaxKind
.MinusEqualsToken:
731
case
SyntaxKind
.AsteriskEqualsToken:
732
case
SyntaxKind
.SlashEqualsToken:
733
case
SyntaxKind
.PercentEqualsToken:
734
case
SyntaxKind
.EqualsToken:
741
public static
SyntaxKind
GetAssignmentExpression(
SyntaxKind
token)
745
case
SyntaxKind
.BarEqualsToken:
746
return
SyntaxKind
.OrAssignmentExpression;
747
case
SyntaxKind
.AmpersandEqualsToken:
748
return
SyntaxKind
.AndAssignmentExpression;
749
case
SyntaxKind
.CaretEqualsToken:
750
return
SyntaxKind
.ExclusiveOrAssignmentExpression;
751
case
SyntaxKind
.LessThanLessThanEqualsToken:
752
return
SyntaxKind
.LeftShiftAssignmentExpression;
753
case
SyntaxKind
.GreaterThanGreaterThanEqualsToken:
754
return
SyntaxKind
.RightShiftAssignmentExpression;
755
case
SyntaxKind
.GreaterThanGreaterThanGreaterThanEqualsToken:
756
return
SyntaxKind
.UnsignedRightShiftAssignmentExpression;
757
case
SyntaxKind
.PlusEqualsToken:
758
return
SyntaxKind
.AddAssignmentExpression;
759
case
SyntaxKind
.MinusEqualsToken:
760
return
SyntaxKind
.SubtractAssignmentExpression;
761
case
SyntaxKind
.AsteriskEqualsToken:
762
return
SyntaxKind
.MultiplyAssignmentExpression;
763
case
SyntaxKind
.SlashEqualsToken:
764
return
SyntaxKind
.DivideAssignmentExpression;
765
case
SyntaxKind
.PercentEqualsToken:
766
return
SyntaxKind
.ModuloAssignmentExpression;
767
case
SyntaxKind
.EqualsToken:
768
return
SyntaxKind
.SimpleAssignmentExpression;
769
case
SyntaxKind
.QuestionQuestionEqualsToken:
770
return
SyntaxKind
.CoalesceAssignmentExpression;
772
return
SyntaxKind
.None;
776
public static
SyntaxKind
GetCheckStatement(
SyntaxKind
keyword)
780
case
SyntaxKind
.CheckedKeyword:
781
return
SyntaxKind
.CheckedStatement;
782
case
SyntaxKind
.UncheckedKeyword:
783
return
SyntaxKind
.UncheckedStatement;
785
return
SyntaxKind
.None;
789
public static
SyntaxKind
GetAccessorDeclarationKind(
SyntaxKind
keyword)
793
case
SyntaxKind
.GetKeyword:
794
return
SyntaxKind
.GetAccessorDeclaration;
795
case
SyntaxKind
.SetKeyword:
796
return
SyntaxKind
.SetAccessorDeclaration;
797
case
SyntaxKind
.InitKeyword:
798
return
SyntaxKind
.InitAccessorDeclaration;
799
case
SyntaxKind
.AddKeyword:
800
return
SyntaxKind
.AddAccessorDeclaration;
801
case
SyntaxKind
.RemoveKeyword:
802
return
SyntaxKind
.RemoveAccessorDeclaration;
804
return
SyntaxKind
.None;
808
public static bool IsAccessorDeclaration(
SyntaxKind
kind)
812
case
SyntaxKind
.GetAccessorDeclaration:
813
case
SyntaxKind
.SetAccessorDeclaration:
814
case
SyntaxKind
.InitAccessorDeclaration:
815
case
SyntaxKind
.AddAccessorDeclaration:
816
case
SyntaxKind
.RemoveAccessorDeclaration:
823
public static bool IsAccessorDeclarationKeyword(
SyntaxKind
keyword)
827
case
SyntaxKind
.GetKeyword:
828
case
SyntaxKind
.SetKeyword:
829
case
SyntaxKind
.InitKeyword:
830
case
SyntaxKind
.AddKeyword:
831
case
SyntaxKind
.RemoveKeyword:
838
public static
SyntaxKind
GetSwitchLabelKind(
SyntaxKind
keyword)
842
case
SyntaxKind
.CaseKeyword:
843
return
SyntaxKind
.CaseSwitchLabel;
844
case
SyntaxKind
.DefaultKeyword:
845
return
SyntaxKind
.DefaultSwitchLabel;
847
return
SyntaxKind
.None;
851
public static
SyntaxKind
GetBaseTypeDeclarationKind(
SyntaxKind
kind)
853
return kind ==
SyntaxKind
.EnumKeyword ?
SyntaxKind
.EnumDeclaration : GetTypeDeclarationKind(kind);
856
public static
SyntaxKind
GetTypeDeclarationKind(
SyntaxKind
kind)
860
case
SyntaxKind
.ClassKeyword:
861
return
SyntaxKind
.ClassDeclaration;
862
case
SyntaxKind
.StructKeyword:
863
return
SyntaxKind
.StructDeclaration;
864
case
SyntaxKind
.InterfaceKeyword:
865
return
SyntaxKind
.InterfaceDeclaration;
866
case
SyntaxKind
.RecordKeyword:
867
return
SyntaxKind
.RecordDeclaration;
868
case
SyntaxKind
.ExtensionKeyword:
869
return
SyntaxKind
.ExtensionBlockDeclaration;
871
return
SyntaxKind
.None;
875
public static
SyntaxKind
GetKeywordKind(string text)
880
return
SyntaxKind
.BoolKeyword;
882
return
SyntaxKind
.ByteKeyword;
884
return
SyntaxKind
.SByteKeyword;
886
return
SyntaxKind
.ShortKeyword;
888
return
SyntaxKind
.UShortKeyword;
890
return
SyntaxKind
.IntKeyword;
892
return
SyntaxKind
.UIntKeyword;
894
return
SyntaxKind
.LongKeyword;
896
return
SyntaxKind
.ULongKeyword;
898
return
SyntaxKind
.DoubleKeyword;
900
return
SyntaxKind
.FloatKeyword;
902
return
SyntaxKind
.DecimalKeyword;
904
return
SyntaxKind
.StringKeyword;
906
return
SyntaxKind
.CharKeyword;
908
return
SyntaxKind
.VoidKeyword;
910
return
SyntaxKind
.ObjectKeyword;
912
return
SyntaxKind
.TypeOfKeyword;
914
return
SyntaxKind
.SizeOfKeyword;
916
return
SyntaxKind
.NullKeyword;
918
return
SyntaxKind
.TrueKeyword;
920
return
SyntaxKind
.FalseKeyword;
922
return
SyntaxKind
.IfKeyword;
924
return
SyntaxKind
.ElseKeyword;
926
return
SyntaxKind
.WhileKeyword;
928
return
SyntaxKind
.ForKeyword;
930
return
SyntaxKind
.ForEachKeyword;
932
return
SyntaxKind
.DoKeyword;
934
return
SyntaxKind
.SwitchKeyword;
936
return
SyntaxKind
.CaseKeyword;
938
return
SyntaxKind
.DefaultKeyword;
940
return
SyntaxKind
.LockKeyword;
942
return
SyntaxKind
.TryKeyword;
944
return
SyntaxKind
.ThrowKeyword;
946
return
SyntaxKind
.CatchKeyword;
948
return
SyntaxKind
.FinallyKeyword;
950
return
SyntaxKind
.GotoKeyword;
952
return
SyntaxKind
.BreakKeyword;
954
return
SyntaxKind
.ContinueKeyword;
956
return
SyntaxKind
.ReturnKeyword;
958
return
SyntaxKind
.PublicKeyword;
960
return
SyntaxKind
.PrivateKeyword;
962
return
SyntaxKind
.InternalKeyword;
964
return
SyntaxKind
.ProtectedKeyword;
966
return
SyntaxKind
.StaticKeyword;
968
return
SyntaxKind
.ReadOnlyKeyword;
970
return
SyntaxKind
.SealedKeyword;
972
return
SyntaxKind
.ConstKeyword;
974
return
SyntaxKind
.FixedKeyword;
976
return
SyntaxKind
.StackAllocKeyword;
978
return
SyntaxKind
.VolatileKeyword;
980
return
SyntaxKind
.NewKeyword;
982
return
SyntaxKind
.OverrideKeyword;
984
return
SyntaxKind
.AbstractKeyword;
986
return
SyntaxKind
.VirtualKeyword;
988
return
SyntaxKind
.EventKeyword;
990
return
SyntaxKind
.ExternKeyword;
992
return
SyntaxKind
.RefKeyword;
994
return
SyntaxKind
.OutKeyword;
996
return
SyntaxKind
.InKeyword;
998
return
SyntaxKind
.IsKeyword;
1000
return
SyntaxKind
.AsKeyword;
1002
return
SyntaxKind
.ParamsKeyword;
1004
return
SyntaxKind
.ArgListKeyword;
1006
return
SyntaxKind
.MakeRefKeyword;
1008
return
SyntaxKind
.RefTypeKeyword;
1010
return
SyntaxKind
.RefValueKeyword;
1012
return
SyntaxKind
.ThisKeyword;
1014
return
SyntaxKind
.BaseKeyword;
1016
return
SyntaxKind
.NamespaceKeyword;
1018
return
SyntaxKind
.UsingKeyword;
1020
return
SyntaxKind
.ClassKeyword;
1022
return
SyntaxKind
.StructKeyword;
1024
return
SyntaxKind
.InterfaceKeyword;
1026
return
SyntaxKind
.EnumKeyword;
1028
return
SyntaxKind
.DelegateKeyword;
1030
return
SyntaxKind
.CheckedKeyword;
1032
return
SyntaxKind
.UncheckedKeyword;
1034
return
SyntaxKind
.UnsafeKeyword;
1036
return
SyntaxKind
.OperatorKeyword;
1038
return
SyntaxKind
.ImplicitKeyword;
1040
return
SyntaxKind
.ExplicitKeyword;
1042
return
SyntaxKind
.None;
1046
public static
SyntaxKind
GetOperatorKind(string operatorMetadataName)
1052
return
SyntaxKind
.PlusToken;
1054
case WellKnownMemberNames.BitwiseAndOperatorName: return
SyntaxKind
.AmpersandToken;
1055
case WellKnownMemberNames.BitwiseOrOperatorName: return
SyntaxKind
.BarToken;
1062
return
SyntaxKind
.MinusMinusToken;
1066
return
SyntaxKind
.SlashToken;
1068
case WellKnownMemberNames.EqualityOperatorName: return
SyntaxKind
.EqualsEqualsToken;
1069
case WellKnownMemberNames.ExclusiveOrOperatorName: return
SyntaxKind
.CaretToken;
1073
return
SyntaxKind
.ExplicitKeyword;
1076
case WellKnownMemberNames.FalseOperatorName: return
SyntaxKind
.FalseKeyword;
1077
case WellKnownMemberNames.GreaterThanOperatorName: return
SyntaxKind
.GreaterThanToken;
1078
case WellKnownMemberNames.GreaterThanOrEqualOperatorName: return
SyntaxKind
.GreaterThanEqualsToken;
1079
case WellKnownMemberNames.ImplicitConversionName: return
SyntaxKind
.ImplicitKeyword;
1085
return
SyntaxKind
.PlusPlusToken;
1087
case WellKnownMemberNames.InequalityOperatorName: return
SyntaxKind
.ExclamationEqualsToken;
1089
case WellKnownMemberNames.LeftShiftOperatorName: return
SyntaxKind
.LessThanLessThanToken;
1090
case WellKnownMemberNames.LessThanOperatorName: return
SyntaxKind
.LessThanToken;
1091
case WellKnownMemberNames.LessThanOrEqualOperatorName: return
SyntaxKind
.LessThanEqualsToken;
1093
case WellKnownMemberNames.LogicalNotOperatorName: return
SyntaxKind
.ExclamationToken;
1094
case WellKnownMemberNames.ModulusOperatorName: return
SyntaxKind
.PercentToken;
1098
return
SyntaxKind
.AsteriskToken;
1100
case WellKnownMemberNames.OnesComplementOperatorName: return
SyntaxKind
.TildeToken;
1101
case WellKnownMemberNames.RightShiftOperatorName: return
SyntaxKind
.GreaterThanGreaterThanToken;
1102
case WellKnownMemberNames.UnsignedRightShiftOperatorName: return
SyntaxKind
.GreaterThanGreaterThanGreaterThanToken;
1106
return
SyntaxKind
.MinusToken;
1108
case WellKnownMemberNames.TrueOperatorName: return
SyntaxKind
.TrueKeyword;
1112
return
SyntaxKind
.MinusToken;
1114
case WellKnownMemberNames.UnaryPlusOperatorName: return
SyntaxKind
.PlusToken;
1118
return
SyntaxKind
.PlusEqualsToken;
1122
return
SyntaxKind
.SlashEqualsToken;
1126
return
SyntaxKind
.AsteriskEqualsToken;
1130
return
SyntaxKind
.MinusEqualsToken;
1132
case WellKnownMemberNames.ModulusAssignmentOperatorName: return
SyntaxKind
.PercentEqualsToken;
1134
case WellKnownMemberNames.BitwiseAndAssignmentOperatorName: return
SyntaxKind
.AmpersandEqualsToken;
1136
case WellKnownMemberNames.BitwiseOrAssignmentOperatorName: return
SyntaxKind
.BarEqualsToken;
1138
case WellKnownMemberNames.ExclusiveOrAssignmentOperatorName: return
SyntaxKind
.CaretEqualsToken;
1140
case WellKnownMemberNames.LeftShiftAssignmentOperatorName: return
SyntaxKind
.LessThanLessThanEqualsToken;
1142
case WellKnownMemberNames.RightShiftAssignmentOperatorName: return
SyntaxKind
.GreaterThanGreaterThanEqualsToken;
1144
case WellKnownMemberNames.UnsignedRightShiftAssignmentOperatorName: return
SyntaxKind
.GreaterThanGreaterThanGreaterThanEqualsToken;
1147
return
SyntaxKind
.None;
1176
public static
SyntaxKind
GetPreprocessorKeywordKind(string text)
1181
return
SyntaxKind
.TrueKeyword;
1183
return
SyntaxKind
.FalseKeyword;
1185
return
SyntaxKind
.DefaultKeyword;
1187
return
SyntaxKind
.IfKeyword;
1189
return
SyntaxKind
.ElseKeyword;
1191
return
SyntaxKind
.ElifKeyword;
1193
return
SyntaxKind
.EndIfKeyword;
1195
return
SyntaxKind
.RegionKeyword;
1197
return
SyntaxKind
.EndRegionKeyword;
1199
return
SyntaxKind
.DefineKeyword;
1201
return
SyntaxKind
.UndefKeyword;
1203
return
SyntaxKind
.WarningKeyword;
1205
return
SyntaxKind
.ErrorKeyword;
1207
return
SyntaxKind
.LineKeyword;
1209
return
SyntaxKind
.PragmaKeyword;
1211
return
SyntaxKind
.HiddenKeyword;
1213
return
SyntaxKind
.ChecksumKeyword;
1215
return
SyntaxKind
.DisableKeyword;
1217
return
SyntaxKind
.RestoreKeyword;
1219
return
SyntaxKind
.ReferenceKeyword;
1221
return
SyntaxKind
.LoadKeyword;
1223
return
SyntaxKind
.NullableKeyword;
1225
return
SyntaxKind
.EnableKeyword;
1227
return
SyntaxKind
.WarningsKeyword;
1229
return
SyntaxKind
.AnnotationsKeyword;
1231
return
SyntaxKind
.None;
1235
public static IEnumerable<
SyntaxKind
> GetContextualKeywordKinds()
1237
for (int i = (int)
SyntaxKind
.YieldKeyword; i <= (int)
SyntaxKind
.ExtensionKeyword; i++)
1242
Debug.Assert(Enum.IsDefined(typeof(
SyntaxKind
), (
SyntaxKind
)i));
1243
yield return (
SyntaxKind
)i;
1248
public static bool IsContextualKeyword(
SyntaxKind
kind)
1252
case
SyntaxKind
.YieldKeyword:
1253
case
SyntaxKind
.PartialKeyword:
1254
case
SyntaxKind
.FromKeyword:
1255
case
SyntaxKind
.GroupKeyword:
1256
case
SyntaxKind
.JoinKeyword:
1257
case
SyntaxKind
.IntoKeyword:
1258
case
SyntaxKind
.LetKeyword:
1259
case
SyntaxKind
.ByKeyword:
1260
case
SyntaxKind
.WhereKeyword:
1261
case
SyntaxKind
.SelectKeyword:
1262
case
SyntaxKind
.GetKeyword:
1263
case
SyntaxKind
.SetKeyword:
1264
case
SyntaxKind
.AddKeyword:
1265
case
SyntaxKind
.RemoveKeyword:
1266
case
SyntaxKind
.OrderByKeyword:
1267
case
SyntaxKind
.AliasKeyword:
1268
case
SyntaxKind
.OnKeyword:
1269
case
SyntaxKind
.EqualsKeyword:
1270
case
SyntaxKind
.AscendingKeyword:
1271
case
SyntaxKind
.DescendingKeyword:
1272
case
SyntaxKind
.AssemblyKeyword:
1273
case
SyntaxKind
.ModuleKeyword:
1274
case
SyntaxKind
.TypeKeyword:
1275
case
SyntaxKind
.GlobalKeyword:
1276
case
SyntaxKind
.FieldKeyword:
1277
case
SyntaxKind
.MethodKeyword:
1278
case
SyntaxKind
.ParamKeyword:
1279
case
SyntaxKind
.PropertyKeyword:
1280
case
SyntaxKind
.TypeVarKeyword:
1281
case
SyntaxKind
.NameOfKeyword:
1282
case
SyntaxKind
.AsyncKeyword:
1283
case
SyntaxKind
.AwaitKeyword:
1284
case
SyntaxKind
.WhenKeyword:
1285
case
SyntaxKind
.UnderscoreToken:
1286
case
SyntaxKind
.VarKeyword:
1287
case
SyntaxKind
.OrKeyword:
1288
case
SyntaxKind
.AndKeyword:
1289
case
SyntaxKind
.NotKeyword:
1290
case
SyntaxKind
.WithKeyword:
1291
case
SyntaxKind
.InitKeyword:
1292
case
SyntaxKind
.RecordKeyword:
1293
case
SyntaxKind
.ManagedKeyword:
1294
case
SyntaxKind
.UnmanagedKeyword:
1295
case
SyntaxKind
.RequiredKeyword:
1296
case
SyntaxKind
.ScopedKeyword:
1297
case
SyntaxKind
.FileKeyword:
1298
case
SyntaxKind
.AllowsKeyword:
1299
case
SyntaxKind
.ExtensionKeyword:
1306
public static bool IsQueryContextualKeyword(
SyntaxKind
kind)
1310
case
SyntaxKind
.FromKeyword:
1311
case
SyntaxKind
.WhereKeyword:
1312
case
SyntaxKind
.SelectKeyword:
1313
case
SyntaxKind
.GroupKeyword:
1314
case
SyntaxKind
.IntoKeyword:
1315
case
SyntaxKind
.OrderByKeyword:
1316
case
SyntaxKind
.JoinKeyword:
1317
case
SyntaxKind
.LetKeyword:
1318
case
SyntaxKind
.OnKeyword:
1319
case
SyntaxKind
.EqualsKeyword:
1320
case
SyntaxKind
.ByKeyword:
1321
case
SyntaxKind
.AscendingKeyword:
1322
case
SyntaxKind
.DescendingKeyword:
1329
public static
SyntaxKind
GetContextualKeywordKind(string text)
1334
return
SyntaxKind
.YieldKeyword;
1336
return
SyntaxKind
.PartialKeyword;
1338
return
SyntaxKind
.FromKeyword;
1340
return
SyntaxKind
.GroupKeyword;
1342
return
SyntaxKind
.JoinKeyword;
1344
return
SyntaxKind
.IntoKeyword;
1346
return
SyntaxKind
.LetKeyword;
1348
return
SyntaxKind
.ByKeyword;
1350
return
SyntaxKind
.WhereKeyword;
1352
return
SyntaxKind
.SelectKeyword;
1354
return
SyntaxKind
.GetKeyword;
1356
return
SyntaxKind
.SetKeyword;
1358
return
SyntaxKind
.AddKeyword;
1360
return
SyntaxKind
.RemoveKeyword;
1362
return
SyntaxKind
.OrderByKeyword;
1364
return
SyntaxKind
.AliasKeyword;
1366
return
SyntaxKind
.OnKeyword;
1368
return
SyntaxKind
.EqualsKeyword;
1370
return
SyntaxKind
.AscendingKeyword;
1372
return
SyntaxKind
.DescendingKeyword;
1374
return
SyntaxKind
.AssemblyKeyword;
1376
return
SyntaxKind
.ModuleKeyword;
1378
return
SyntaxKind
.TypeKeyword;
1380
return
SyntaxKind
.FieldKeyword;
1382
return
SyntaxKind
.MethodKeyword;
1384
return
SyntaxKind
.ParamKeyword;
1386
return
SyntaxKind
.PropertyKeyword;
1388
return
SyntaxKind
.TypeVarKeyword;
1390
return
SyntaxKind
.GlobalKeyword;
1392
return
SyntaxKind
.AsyncKeyword;
1394
return
SyntaxKind
.AwaitKeyword;
1396
return
SyntaxKind
.WhenKeyword;
1398
return
SyntaxKind
.NameOfKeyword;
1400
return
SyntaxKind
.UnderscoreToken;
1402
return
SyntaxKind
.VarKeyword;
1404
return
SyntaxKind
.AndKeyword;
1406
return
SyntaxKind
.OrKeyword;
1408
return
SyntaxKind
.NotKeyword;
1410
return
SyntaxKind
.WithKeyword;
1412
return
SyntaxKind
.InitKeyword;
1414
return
SyntaxKind
.RecordKeyword;
1416
return
SyntaxKind
.ManagedKeyword;
1418
return
SyntaxKind
.UnmanagedKeyword;
1420
return
SyntaxKind
.RequiredKeyword;
1422
return
SyntaxKind
.ScopedKeyword;
1424
return
SyntaxKind
.FileKeyword;
1426
return
SyntaxKind
.AllowsKeyword;
1428
return
SyntaxKind
.ExtensionKeyword;
1430
return
SyntaxKind
.None;
1434
public static string GetText(
SyntaxKind
kind)
1438
case
SyntaxKind
.TildeToken:
1440
case
SyntaxKind
.ExclamationToken:
1442
case
SyntaxKind
.DollarToken:
1444
case
SyntaxKind
.PercentToken:
1446
case
SyntaxKind
.CaretToken:
1448
case
SyntaxKind
.AmpersandToken:
1450
case
SyntaxKind
.AsteriskToken:
1452
case
SyntaxKind
.OpenParenToken:
1454
case
SyntaxKind
.CloseParenToken:
1456
case
SyntaxKind
.MinusToken:
1458
case
SyntaxKind
.PlusToken:
1460
case
SyntaxKind
.EqualsToken:
1462
case
SyntaxKind
.OpenBraceToken:
1464
case
SyntaxKind
.CloseBraceToken:
1466
case
SyntaxKind
.OpenBracketToken:
1468
case
SyntaxKind
.CloseBracketToken:
1470
case
SyntaxKind
.BarToken:
1472
case
SyntaxKind
.BackslashToken:
1474
case
SyntaxKind
.ColonToken:
1476
case
SyntaxKind
.SemicolonToken:
1478
case
SyntaxKind
.DoubleQuoteToken:
1480
case
SyntaxKind
.SingleQuoteToken:
1482
case
SyntaxKind
.LessThanToken:
1484
case
SyntaxKind
.CommaToken:
1486
case
SyntaxKind
.GreaterThanToken:
1488
case
SyntaxKind
.DotToken:
1490
case
SyntaxKind
.QuestionToken:
1492
case
SyntaxKind
.HashToken:
1494
case
SyntaxKind
.SlashToken:
1496
case
SyntaxKind
.SlashGreaterThanToken:
1498
case
SyntaxKind
.LessThanSlashToken:
1500
case
SyntaxKind
.XmlCommentStartToken:
1502
case
SyntaxKind
.XmlCommentEndToken:
1504
case
SyntaxKind
.XmlCDataStartToken:
1506
case
SyntaxKind
.XmlCDataEndToken:
1508
case
SyntaxKind
.XmlProcessingInstructionStartToken:
1510
case
SyntaxKind
.XmlProcessingInstructionEndToken:
1514
case
SyntaxKind
.BarBarToken:
1516
case
SyntaxKind
.AmpersandAmpersandToken:
1518
case
SyntaxKind
.MinusMinusToken:
1520
case
SyntaxKind
.PlusPlusToken:
1522
case
SyntaxKind
.ColonColonToken:
1524
case
SyntaxKind
.QuestionQuestionToken:
1526
case
SyntaxKind
.MinusGreaterThanToken:
1528
case
SyntaxKind
.ExclamationEqualsToken:
1530
case
SyntaxKind
.EqualsEqualsToken:
1532
case
SyntaxKind
.EqualsGreaterThanToken:
1534
case
SyntaxKind
.LessThanEqualsToken:
1536
case
SyntaxKind
.LessThanLessThanToken:
1538
case
SyntaxKind
.LessThanLessThanEqualsToken:
1540
case
SyntaxKind
.GreaterThanEqualsToken:
1542
case
SyntaxKind
.GreaterThanGreaterThanToken:
1544
case
SyntaxKind
.GreaterThanGreaterThanEqualsToken:
1546
case
SyntaxKind
.GreaterThanGreaterThanGreaterThanToken:
1548
case
SyntaxKind
.GreaterThanGreaterThanGreaterThanEqualsToken:
1550
case
SyntaxKind
.SlashEqualsToken:
1552
case
SyntaxKind
.AsteriskEqualsToken:
1554
case
SyntaxKind
.BarEqualsToken:
1556
case
SyntaxKind
.AmpersandEqualsToken:
1558
case
SyntaxKind
.PlusEqualsToken:
1560
case
SyntaxKind
.MinusEqualsToken:
1562
case
SyntaxKind
.CaretEqualsToken:
1564
case
SyntaxKind
.PercentEqualsToken:
1566
case
SyntaxKind
.QuestionQuestionEqualsToken:
1568
case
SyntaxKind
.DotDotToken:
1572
case
SyntaxKind
.BoolKeyword:
1574
case
SyntaxKind
.ByteKeyword:
1576
case
SyntaxKind
.SByteKeyword:
1578
case
SyntaxKind
.ShortKeyword:
1580
case
SyntaxKind
.UShortKeyword:
1582
case
SyntaxKind
.IntKeyword:
1584
case
SyntaxKind
.UIntKeyword:
1586
case
SyntaxKind
.LongKeyword:
1588
case
SyntaxKind
.ULongKeyword:
1590
case
SyntaxKind
.DoubleKeyword:
1592
case
SyntaxKind
.FloatKeyword:
1594
case
SyntaxKind
.DecimalKeyword:
1596
case
SyntaxKind
.StringKeyword:
1598
case
SyntaxKind
.CharKeyword:
1600
case
SyntaxKind
.VoidKeyword:
1602
case
SyntaxKind
.ObjectKeyword:
1604
case
SyntaxKind
.TypeOfKeyword:
1606
case
SyntaxKind
.SizeOfKeyword:
1608
case
SyntaxKind
.NullKeyword:
1610
case
SyntaxKind
.TrueKeyword:
1612
case
SyntaxKind
.FalseKeyword:
1614
case
SyntaxKind
.IfKeyword:
1616
case
SyntaxKind
.ElseKeyword:
1618
case
SyntaxKind
.WhileKeyword:
1620
case
SyntaxKind
.ForKeyword:
1622
case
SyntaxKind
.ForEachKeyword:
1624
case
SyntaxKind
.DoKeyword:
1626
case
SyntaxKind
.SwitchKeyword:
1628
case
SyntaxKind
.CaseKeyword:
1630
case
SyntaxKind
.DefaultKeyword:
1632
case
SyntaxKind
.TryKeyword:
1634
case
SyntaxKind
.CatchKeyword:
1636
case
SyntaxKind
.FinallyKeyword:
1638
case
SyntaxKind
.LockKeyword:
1640
case
SyntaxKind
.GotoKeyword:
1642
case
SyntaxKind
.BreakKeyword:
1644
case
SyntaxKind
.ContinueKeyword:
1646
case
SyntaxKind
.ReturnKeyword:
1648
case
SyntaxKind
.ThrowKeyword:
1650
case
SyntaxKind
.PublicKeyword:
1652
case
SyntaxKind
.PrivateKeyword:
1654
case
SyntaxKind
.InternalKeyword:
1656
case
SyntaxKind
.ProtectedKeyword:
1658
case
SyntaxKind
.StaticKeyword:
1660
case
SyntaxKind
.ReadOnlyKeyword:
1662
case
SyntaxKind
.SealedKeyword:
1664
case
SyntaxKind
.ConstKeyword:
1666
case
SyntaxKind
.FixedKeyword:
1668
case
SyntaxKind
.StackAllocKeyword:
1670
case
SyntaxKind
.VolatileKeyword:
1672
case
SyntaxKind
.NewKeyword:
1674
case
SyntaxKind
.OverrideKeyword:
1676
case
SyntaxKind
.AbstractKeyword:
1678
case
SyntaxKind
.VirtualKeyword:
1680
case
SyntaxKind
.EventKeyword:
1682
case
SyntaxKind
.ExternKeyword:
1684
case
SyntaxKind
.RefKeyword:
1686
case
SyntaxKind
.OutKeyword:
1688
case
SyntaxKind
.InKeyword:
1690
case
SyntaxKind
.IsKeyword:
1692
case
SyntaxKind
.AsKeyword:
1694
case
SyntaxKind
.ParamsKeyword:
1696
case
SyntaxKind
.ArgListKeyword:
1698
case
SyntaxKind
.MakeRefKeyword:
1700
case
SyntaxKind
.RefTypeKeyword:
1702
case
SyntaxKind
.RefValueKeyword:
1704
case
SyntaxKind
.ThisKeyword:
1706
case
SyntaxKind
.BaseKeyword:
1708
case
SyntaxKind
.NamespaceKeyword:
1710
case
SyntaxKind
.UsingKeyword:
1712
case
SyntaxKind
.ClassKeyword:
1714
case
SyntaxKind
.StructKeyword:
1716
case
SyntaxKind
.InterfaceKeyword:
1718
case
SyntaxKind
.EnumKeyword:
1720
case
SyntaxKind
.DelegateKeyword:
1722
case
SyntaxKind
.CheckedKeyword:
1724
case
SyntaxKind
.UncheckedKeyword:
1726
case
SyntaxKind
.UnsafeKeyword:
1728
case
SyntaxKind
.OperatorKeyword:
1730
case
SyntaxKind
.ImplicitKeyword:
1732
case
SyntaxKind
.ExplicitKeyword:
1734
case
SyntaxKind
.ElifKeyword:
1736
case
SyntaxKind
.EndIfKeyword:
1738
case
SyntaxKind
.RegionKeyword:
1740
case
SyntaxKind
.EndRegionKeyword:
1742
case
SyntaxKind
.DefineKeyword:
1744
case
SyntaxKind
.UndefKeyword:
1746
case
SyntaxKind
.WarningKeyword:
1748
case
SyntaxKind
.ErrorKeyword:
1750
case
SyntaxKind
.LineKeyword:
1752
case
SyntaxKind
.PragmaKeyword:
1754
case
SyntaxKind
.HiddenKeyword:
1756
case
SyntaxKind
.ChecksumKeyword:
1758
case
SyntaxKind
.DisableKeyword:
1760
case
SyntaxKind
.RestoreKeyword:
1762
case
SyntaxKind
.ReferenceKeyword:
1764
case
SyntaxKind
.LoadKeyword:
1766
case
SyntaxKind
.NullableKeyword:
1768
case
SyntaxKind
.EnableKeyword:
1770
case
SyntaxKind
.WarningsKeyword:
1772
case
SyntaxKind
.AnnotationsKeyword:
1776
case
SyntaxKind
.YieldKeyword:
1778
case
SyntaxKind
.PartialKeyword:
1780
case
SyntaxKind
.FromKeyword:
1782
case
SyntaxKind
.GroupKeyword:
1784
case
SyntaxKind
.JoinKeyword:
1786
case
SyntaxKind
.IntoKeyword:
1788
case
SyntaxKind
.LetKeyword:
1790
case
SyntaxKind
.ByKeyword:
1792
case
SyntaxKind
.WhereKeyword:
1794
case
SyntaxKind
.SelectKeyword:
1796
case
SyntaxKind
.GetKeyword:
1798
case
SyntaxKind
.SetKeyword:
1800
case
SyntaxKind
.AddKeyword:
1802
case
SyntaxKind
.RemoveKeyword:
1804
case
SyntaxKind
.OrderByKeyword:
1806
case
SyntaxKind
.AliasKeyword:
1808
case
SyntaxKind
.OnKeyword:
1810
case
SyntaxKind
.EqualsKeyword:
1812
case
SyntaxKind
.AscendingKeyword:
1814
case
SyntaxKind
.DescendingKeyword:
1816
case
SyntaxKind
.AssemblyKeyword:
1818
case
SyntaxKind
.ModuleKeyword:
1820
case
SyntaxKind
.TypeKeyword:
1822
case
SyntaxKind
.FieldKeyword:
1824
case
SyntaxKind
.MethodKeyword:
1826
case
SyntaxKind
.ParamKeyword:
1828
case
SyntaxKind
.PropertyKeyword:
1830
case
SyntaxKind
.TypeVarKeyword:
1832
case
SyntaxKind
.GlobalKeyword:
1834
case
SyntaxKind
.NameOfKeyword:
1836
case
SyntaxKind
.AsyncKeyword:
1838
case
SyntaxKind
.AwaitKeyword:
1840
case
SyntaxKind
.WhenKeyword:
1842
case
SyntaxKind
.InterpolatedStringStartToken:
1844
case
SyntaxKind
.InterpolatedStringEndToken:
1846
case
SyntaxKind
.InterpolatedVerbatimStringStartToken:
1848
case
SyntaxKind
.UnderscoreToken:
1850
case
SyntaxKind
.VarKeyword:
1852
case
SyntaxKind
.AndKeyword:
1854
case
SyntaxKind
.OrKeyword:
1856
case
SyntaxKind
.NotKeyword:
1858
case
SyntaxKind
.WithKeyword:
1860
case
SyntaxKind
.InitKeyword:
1862
case
SyntaxKind
.RecordKeyword:
1864
case
SyntaxKind
.ManagedKeyword:
1866
case
SyntaxKind
.UnmanagedKeyword:
1868
case
SyntaxKind
.RequiredKeyword:
1870
case
SyntaxKind
.ScopedKeyword:
1872
case
SyntaxKind
.FileKeyword:
1874
case
SyntaxKind
.AllowsKeyword:
1876
case
SyntaxKind
.ExtensionKeyword:
1883
public static bool IsTypeParameterVarianceKeyword(
SyntaxKind
kind)
1885
return kind ==
SyntaxKind
.OutKeyword || kind ==
SyntaxKind
.InKeyword;
1888
public static bool IsDocumentationCommentTrivia(
SyntaxKind
kind)
1890
return kind ==
SyntaxKind
.SingleLineDocumentationCommentTrivia ||
1891
kind ==
SyntaxKind
.MultiLineDocumentationCommentTrivia;