1020 references to SyntaxKind
CSharpSyntaxGenerator (1020)
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 (1012)
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
.ExtensionDeclaration:
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);
857
public static
SyntaxKind
GetTypeDeclarationKind(
SyntaxKind
kind)
861
case
SyntaxKind
.ClassKeyword:
862
return
SyntaxKind
.ClassDeclaration;
863
case
SyntaxKind
.StructKeyword:
864
return
SyntaxKind
.StructDeclaration;
865
case
SyntaxKind
.InterfaceKeyword:
866
return
SyntaxKind
.InterfaceDeclaration;
867
case
SyntaxKind
.RecordKeyword:
868
return
SyntaxKind
.RecordDeclaration;
870
return
SyntaxKind
.None;
874
public static
SyntaxKind
GetKeywordKind(string text)
879
return
SyntaxKind
.BoolKeyword;
881
return
SyntaxKind
.ByteKeyword;
883
return
SyntaxKind
.SByteKeyword;
885
return
SyntaxKind
.ShortKeyword;
887
return
SyntaxKind
.UShortKeyword;
889
return
SyntaxKind
.IntKeyword;
891
return
SyntaxKind
.UIntKeyword;
893
return
SyntaxKind
.LongKeyword;
895
return
SyntaxKind
.ULongKeyword;
897
return
SyntaxKind
.DoubleKeyword;
899
return
SyntaxKind
.FloatKeyword;
901
return
SyntaxKind
.DecimalKeyword;
903
return
SyntaxKind
.StringKeyword;
905
return
SyntaxKind
.CharKeyword;
907
return
SyntaxKind
.VoidKeyword;
909
return
SyntaxKind
.ObjectKeyword;
911
return
SyntaxKind
.TypeOfKeyword;
913
return
SyntaxKind
.SizeOfKeyword;
915
return
SyntaxKind
.NullKeyword;
917
return
SyntaxKind
.TrueKeyword;
919
return
SyntaxKind
.FalseKeyword;
921
return
SyntaxKind
.IfKeyword;
923
return
SyntaxKind
.ElseKeyword;
925
return
SyntaxKind
.WhileKeyword;
927
return
SyntaxKind
.ForKeyword;
929
return
SyntaxKind
.ForEachKeyword;
931
return
SyntaxKind
.DoKeyword;
933
return
SyntaxKind
.SwitchKeyword;
935
return
SyntaxKind
.CaseKeyword;
937
return
SyntaxKind
.DefaultKeyword;
939
return
SyntaxKind
.LockKeyword;
941
return
SyntaxKind
.TryKeyword;
943
return
SyntaxKind
.ThrowKeyword;
945
return
SyntaxKind
.CatchKeyword;
947
return
SyntaxKind
.FinallyKeyword;
949
return
SyntaxKind
.GotoKeyword;
951
return
SyntaxKind
.BreakKeyword;
953
return
SyntaxKind
.ContinueKeyword;
955
return
SyntaxKind
.ReturnKeyword;
957
return
SyntaxKind
.PublicKeyword;
959
return
SyntaxKind
.PrivateKeyword;
961
return
SyntaxKind
.InternalKeyword;
963
return
SyntaxKind
.ProtectedKeyword;
965
return
SyntaxKind
.StaticKeyword;
967
return
SyntaxKind
.ReadOnlyKeyword;
969
return
SyntaxKind
.SealedKeyword;
971
return
SyntaxKind
.ConstKeyword;
973
return
SyntaxKind
.FixedKeyword;
975
return
SyntaxKind
.StackAllocKeyword;
977
return
SyntaxKind
.VolatileKeyword;
979
return
SyntaxKind
.NewKeyword;
981
return
SyntaxKind
.OverrideKeyword;
983
return
SyntaxKind
.AbstractKeyword;
985
return
SyntaxKind
.VirtualKeyword;
987
return
SyntaxKind
.EventKeyword;
989
return
SyntaxKind
.ExternKeyword;
991
return
SyntaxKind
.RefKeyword;
993
return
SyntaxKind
.OutKeyword;
995
return
SyntaxKind
.InKeyword;
997
return
SyntaxKind
.IsKeyword;
999
return
SyntaxKind
.AsKeyword;
1001
return
SyntaxKind
.ParamsKeyword;
1003
return
SyntaxKind
.ArgListKeyword;
1005
return
SyntaxKind
.MakeRefKeyword;
1007
return
SyntaxKind
.RefTypeKeyword;
1009
return
SyntaxKind
.RefValueKeyword;
1011
return
SyntaxKind
.ThisKeyword;
1013
return
SyntaxKind
.BaseKeyword;
1015
return
SyntaxKind
.NamespaceKeyword;
1017
return
SyntaxKind
.UsingKeyword;
1019
return
SyntaxKind
.ClassKeyword;
1021
return
SyntaxKind
.StructKeyword;
1023
return
SyntaxKind
.InterfaceKeyword;
1025
return
SyntaxKind
.EnumKeyword;
1027
return
SyntaxKind
.DelegateKeyword;
1029
return
SyntaxKind
.CheckedKeyword;
1031
return
SyntaxKind
.UncheckedKeyword;
1033
return
SyntaxKind
.UnsafeKeyword;
1035
return
SyntaxKind
.OperatorKeyword;
1037
return
SyntaxKind
.ImplicitKeyword;
1039
return
SyntaxKind
.ExplicitKeyword;
1041
return
SyntaxKind
.None;
1045
public static
SyntaxKind
GetOperatorKind(string operatorMetadataName)
1051
return
SyntaxKind
.PlusToken;
1053
case WellKnownMemberNames.BitwiseAndOperatorName: return
SyntaxKind
.AmpersandToken;
1054
case WellKnownMemberNames.BitwiseOrOperatorName: return
SyntaxKind
.BarToken;
1061
return
SyntaxKind
.MinusMinusToken;
1065
return
SyntaxKind
.SlashToken;
1067
case WellKnownMemberNames.EqualityOperatorName: return
SyntaxKind
.EqualsEqualsToken;
1068
case WellKnownMemberNames.ExclusiveOrOperatorName: return
SyntaxKind
.CaretToken;
1072
return
SyntaxKind
.ExplicitKeyword;
1075
case WellKnownMemberNames.FalseOperatorName: return
SyntaxKind
.FalseKeyword;
1076
case WellKnownMemberNames.GreaterThanOperatorName: return
SyntaxKind
.GreaterThanToken;
1077
case WellKnownMemberNames.GreaterThanOrEqualOperatorName: return
SyntaxKind
.GreaterThanEqualsToken;
1078
case WellKnownMemberNames.ImplicitConversionName: return
SyntaxKind
.ImplicitKeyword;
1084
return
SyntaxKind
.PlusPlusToken;
1086
case WellKnownMemberNames.InequalityOperatorName: return
SyntaxKind
.ExclamationEqualsToken;
1088
case WellKnownMemberNames.LeftShiftOperatorName: return
SyntaxKind
.LessThanLessThanToken;
1089
case WellKnownMemberNames.LessThanOperatorName: return
SyntaxKind
.LessThanToken;
1090
case WellKnownMemberNames.LessThanOrEqualOperatorName: return
SyntaxKind
.LessThanEqualsToken;
1092
case WellKnownMemberNames.LogicalNotOperatorName: return
SyntaxKind
.ExclamationToken;
1093
case WellKnownMemberNames.ModulusOperatorName: return
SyntaxKind
.PercentToken;
1097
return
SyntaxKind
.AsteriskToken;
1099
case WellKnownMemberNames.OnesComplementOperatorName: return
SyntaxKind
.TildeToken;
1100
case WellKnownMemberNames.RightShiftOperatorName: return
SyntaxKind
.GreaterThanGreaterThanToken;
1101
case WellKnownMemberNames.UnsignedRightShiftOperatorName: return
SyntaxKind
.GreaterThanGreaterThanGreaterThanToken;
1105
return
SyntaxKind
.MinusToken;
1107
case WellKnownMemberNames.TrueOperatorName: return
SyntaxKind
.TrueKeyword;
1111
return
SyntaxKind
.MinusToken;
1113
case WellKnownMemberNames.UnaryPlusOperatorName: return
SyntaxKind
.PlusToken;
1117
return
SyntaxKind
.PlusEqualsToken;
1121
return
SyntaxKind
.SlashEqualsToken;
1125
return
SyntaxKind
.AsteriskEqualsToken;
1129
return
SyntaxKind
.MinusEqualsToken;
1131
case WellKnownMemberNames.ModulusAssignmentOperatorName: return
SyntaxKind
.PercentEqualsToken;
1133
case WellKnownMemberNames.BitwiseAndAssignmentOperatorName: return
SyntaxKind
.AmpersandEqualsToken;
1135
case WellKnownMemberNames.BitwiseOrAssignmentOperatorName: return
SyntaxKind
.BarEqualsToken;
1137
case WellKnownMemberNames.ExclusiveOrAssignmentOperatorName: return
SyntaxKind
.CaretEqualsToken;
1139
case WellKnownMemberNames.LeftShiftAssignmentOperatorName: return
SyntaxKind
.LessThanLessThanEqualsToken;
1141
case WellKnownMemberNames.RightShiftAssignmentOperatorName: return
SyntaxKind
.GreaterThanGreaterThanEqualsToken;
1143
case WellKnownMemberNames.UnsignedRightShiftAssignmentOperatorName: return
SyntaxKind
.GreaterThanGreaterThanGreaterThanEqualsToken;
1146
return
SyntaxKind
.None;
1175
public static
SyntaxKind
GetPreprocessorKeywordKind(string text)
1180
return
SyntaxKind
.TrueKeyword;
1182
return
SyntaxKind
.FalseKeyword;
1184
return
SyntaxKind
.DefaultKeyword;
1186
return
SyntaxKind
.IfKeyword;
1188
return
SyntaxKind
.ElseKeyword;
1190
return
SyntaxKind
.ElifKeyword;
1192
return
SyntaxKind
.EndIfKeyword;
1194
return
SyntaxKind
.RegionKeyword;
1196
return
SyntaxKind
.EndRegionKeyword;
1198
return
SyntaxKind
.DefineKeyword;
1200
return
SyntaxKind
.UndefKeyword;
1202
return
SyntaxKind
.WarningKeyword;
1204
return
SyntaxKind
.ErrorKeyword;
1206
return
SyntaxKind
.LineKeyword;
1208
return
SyntaxKind
.PragmaKeyword;
1210
return
SyntaxKind
.HiddenKeyword;
1212
return
SyntaxKind
.ChecksumKeyword;
1214
return
SyntaxKind
.DisableKeyword;
1216
return
SyntaxKind
.RestoreKeyword;
1218
return
SyntaxKind
.ReferenceKeyword;
1220
return
SyntaxKind
.LoadKeyword;
1222
return
SyntaxKind
.NullableKeyword;
1224
return
SyntaxKind
.EnableKeyword;
1226
return
SyntaxKind
.WarningsKeyword;
1228
return
SyntaxKind
.AnnotationsKeyword;
1230
return
SyntaxKind
.None;
1234
public static IEnumerable<
SyntaxKind
> GetContextualKeywordKinds()
1236
for (int i = (int)
SyntaxKind
.YieldKeyword; i <= (int)
SyntaxKind
.ExtensionKeyword; i++)
1241
Debug.Assert(Enum.IsDefined(typeof(
SyntaxKind
), (
SyntaxKind
)i));
1242
yield return (
SyntaxKind
)i;
1247
public static bool IsContextualKeyword(
SyntaxKind
kind)
1251
case
SyntaxKind
.YieldKeyword:
1252
case
SyntaxKind
.PartialKeyword:
1253
case
SyntaxKind
.FromKeyword:
1254
case
SyntaxKind
.GroupKeyword:
1255
case
SyntaxKind
.JoinKeyword:
1256
case
SyntaxKind
.IntoKeyword:
1257
case
SyntaxKind
.LetKeyword:
1258
case
SyntaxKind
.ByKeyword:
1259
case
SyntaxKind
.WhereKeyword:
1260
case
SyntaxKind
.SelectKeyword:
1261
case
SyntaxKind
.GetKeyword:
1262
case
SyntaxKind
.SetKeyword:
1263
case
SyntaxKind
.AddKeyword:
1264
case
SyntaxKind
.RemoveKeyword:
1265
case
SyntaxKind
.OrderByKeyword:
1266
case
SyntaxKind
.AliasKeyword:
1267
case
SyntaxKind
.OnKeyword:
1268
case
SyntaxKind
.EqualsKeyword:
1269
case
SyntaxKind
.AscendingKeyword:
1270
case
SyntaxKind
.DescendingKeyword:
1271
case
SyntaxKind
.AssemblyKeyword:
1272
case
SyntaxKind
.ModuleKeyword:
1273
case
SyntaxKind
.TypeKeyword:
1274
case
SyntaxKind
.GlobalKeyword:
1275
case
SyntaxKind
.FieldKeyword:
1276
case
SyntaxKind
.MethodKeyword:
1277
case
SyntaxKind
.ParamKeyword:
1278
case
SyntaxKind
.PropertyKeyword:
1279
case
SyntaxKind
.TypeVarKeyword:
1280
case
SyntaxKind
.NameOfKeyword:
1281
case
SyntaxKind
.AsyncKeyword:
1282
case
SyntaxKind
.AwaitKeyword:
1283
case
SyntaxKind
.WhenKeyword:
1284
case
SyntaxKind
.UnderscoreToken:
1285
case
SyntaxKind
.VarKeyword:
1286
case
SyntaxKind
.OrKeyword:
1287
case
SyntaxKind
.AndKeyword:
1288
case
SyntaxKind
.NotKeyword:
1289
case
SyntaxKind
.WithKeyword:
1290
case
SyntaxKind
.InitKeyword:
1291
case
SyntaxKind
.RecordKeyword:
1292
case
SyntaxKind
.ManagedKeyword:
1293
case
SyntaxKind
.UnmanagedKeyword:
1294
case
SyntaxKind
.RequiredKeyword:
1295
case
SyntaxKind
.ScopedKeyword:
1296
case
SyntaxKind
.FileKeyword:
1297
case
SyntaxKind
.AllowsKeyword:
1298
case
SyntaxKind
.ExtensionKeyword:
1305
public static bool IsQueryContextualKeyword(
SyntaxKind
kind)
1309
case
SyntaxKind
.FromKeyword:
1310
case
SyntaxKind
.WhereKeyword:
1311
case
SyntaxKind
.SelectKeyword:
1312
case
SyntaxKind
.GroupKeyword:
1313
case
SyntaxKind
.IntoKeyword:
1314
case
SyntaxKind
.OrderByKeyword:
1315
case
SyntaxKind
.JoinKeyword:
1316
case
SyntaxKind
.LetKeyword:
1317
case
SyntaxKind
.OnKeyword:
1318
case
SyntaxKind
.EqualsKeyword:
1319
case
SyntaxKind
.ByKeyword:
1320
case
SyntaxKind
.AscendingKeyword:
1321
case
SyntaxKind
.DescendingKeyword:
1328
public static
SyntaxKind
GetContextualKeywordKind(string text)
1333
return
SyntaxKind
.YieldKeyword;
1335
return
SyntaxKind
.PartialKeyword;
1337
return
SyntaxKind
.FromKeyword;
1339
return
SyntaxKind
.GroupKeyword;
1341
return
SyntaxKind
.JoinKeyword;
1343
return
SyntaxKind
.IntoKeyword;
1345
return
SyntaxKind
.LetKeyword;
1347
return
SyntaxKind
.ByKeyword;
1349
return
SyntaxKind
.WhereKeyword;
1351
return
SyntaxKind
.SelectKeyword;
1353
return
SyntaxKind
.GetKeyword;
1355
return
SyntaxKind
.SetKeyword;
1357
return
SyntaxKind
.AddKeyword;
1359
return
SyntaxKind
.RemoveKeyword;
1361
return
SyntaxKind
.OrderByKeyword;
1363
return
SyntaxKind
.AliasKeyword;
1365
return
SyntaxKind
.OnKeyword;
1367
return
SyntaxKind
.EqualsKeyword;
1369
return
SyntaxKind
.AscendingKeyword;
1371
return
SyntaxKind
.DescendingKeyword;
1373
return
SyntaxKind
.AssemblyKeyword;
1375
return
SyntaxKind
.ModuleKeyword;
1377
return
SyntaxKind
.TypeKeyword;
1379
return
SyntaxKind
.FieldKeyword;
1381
return
SyntaxKind
.MethodKeyword;
1383
return
SyntaxKind
.ParamKeyword;
1385
return
SyntaxKind
.PropertyKeyword;
1387
return
SyntaxKind
.TypeVarKeyword;
1389
return
SyntaxKind
.GlobalKeyword;
1391
return
SyntaxKind
.AsyncKeyword;
1393
return
SyntaxKind
.AwaitKeyword;
1395
return
SyntaxKind
.WhenKeyword;
1397
return
SyntaxKind
.NameOfKeyword;
1399
return
SyntaxKind
.UnderscoreToken;
1401
return
SyntaxKind
.VarKeyword;
1403
return
SyntaxKind
.AndKeyword;
1405
return
SyntaxKind
.OrKeyword;
1407
return
SyntaxKind
.NotKeyword;
1409
return
SyntaxKind
.WithKeyword;
1411
return
SyntaxKind
.InitKeyword;
1413
return
SyntaxKind
.RecordKeyword;
1415
return
SyntaxKind
.ManagedKeyword;
1417
return
SyntaxKind
.UnmanagedKeyword;
1419
return
SyntaxKind
.RequiredKeyword;
1421
return
SyntaxKind
.ScopedKeyword;
1423
return
SyntaxKind
.FileKeyword;
1425
return
SyntaxKind
.AllowsKeyword;
1427
return
SyntaxKind
.ExtensionKeyword;
1429
return
SyntaxKind
.None;
1433
public static string GetText(
SyntaxKind
kind)
1437
case
SyntaxKind
.TildeToken:
1439
case
SyntaxKind
.ExclamationToken:
1441
case
SyntaxKind
.DollarToken:
1443
case
SyntaxKind
.PercentToken:
1445
case
SyntaxKind
.CaretToken:
1447
case
SyntaxKind
.AmpersandToken:
1449
case
SyntaxKind
.AsteriskToken:
1451
case
SyntaxKind
.OpenParenToken:
1453
case
SyntaxKind
.CloseParenToken:
1455
case
SyntaxKind
.MinusToken:
1457
case
SyntaxKind
.PlusToken:
1459
case
SyntaxKind
.EqualsToken:
1461
case
SyntaxKind
.OpenBraceToken:
1463
case
SyntaxKind
.CloseBraceToken:
1465
case
SyntaxKind
.OpenBracketToken:
1467
case
SyntaxKind
.CloseBracketToken:
1469
case
SyntaxKind
.BarToken:
1471
case
SyntaxKind
.BackslashToken:
1473
case
SyntaxKind
.ColonToken:
1475
case
SyntaxKind
.SemicolonToken:
1477
case
SyntaxKind
.DoubleQuoteToken:
1479
case
SyntaxKind
.SingleQuoteToken:
1481
case
SyntaxKind
.LessThanToken:
1483
case
SyntaxKind
.CommaToken:
1485
case
SyntaxKind
.GreaterThanToken:
1487
case
SyntaxKind
.DotToken:
1489
case
SyntaxKind
.QuestionToken:
1491
case
SyntaxKind
.HashToken:
1493
case
SyntaxKind
.SlashToken:
1495
case
SyntaxKind
.SlashGreaterThanToken:
1497
case
SyntaxKind
.LessThanSlashToken:
1499
case
SyntaxKind
.XmlCommentStartToken:
1501
case
SyntaxKind
.XmlCommentEndToken:
1503
case
SyntaxKind
.XmlCDataStartToken:
1505
case
SyntaxKind
.XmlCDataEndToken:
1507
case
SyntaxKind
.XmlProcessingInstructionStartToken:
1509
case
SyntaxKind
.XmlProcessingInstructionEndToken:
1513
case
SyntaxKind
.BarBarToken:
1515
case
SyntaxKind
.AmpersandAmpersandToken:
1517
case
SyntaxKind
.MinusMinusToken:
1519
case
SyntaxKind
.PlusPlusToken:
1521
case
SyntaxKind
.ColonColonToken:
1523
case
SyntaxKind
.QuestionQuestionToken:
1525
case
SyntaxKind
.MinusGreaterThanToken:
1527
case
SyntaxKind
.ExclamationEqualsToken:
1529
case
SyntaxKind
.EqualsEqualsToken:
1531
case
SyntaxKind
.EqualsGreaterThanToken:
1533
case
SyntaxKind
.LessThanEqualsToken:
1535
case
SyntaxKind
.LessThanLessThanToken:
1537
case
SyntaxKind
.LessThanLessThanEqualsToken:
1539
case
SyntaxKind
.GreaterThanEqualsToken:
1541
case
SyntaxKind
.GreaterThanGreaterThanToken:
1543
case
SyntaxKind
.GreaterThanGreaterThanEqualsToken:
1545
case
SyntaxKind
.GreaterThanGreaterThanGreaterThanToken:
1547
case
SyntaxKind
.GreaterThanGreaterThanGreaterThanEqualsToken:
1549
case
SyntaxKind
.SlashEqualsToken:
1551
case
SyntaxKind
.AsteriskEqualsToken:
1553
case
SyntaxKind
.BarEqualsToken:
1555
case
SyntaxKind
.AmpersandEqualsToken:
1557
case
SyntaxKind
.PlusEqualsToken:
1559
case
SyntaxKind
.MinusEqualsToken:
1561
case
SyntaxKind
.CaretEqualsToken:
1563
case
SyntaxKind
.PercentEqualsToken:
1565
case
SyntaxKind
.QuestionQuestionEqualsToken:
1567
case
SyntaxKind
.DotDotToken:
1571
case
SyntaxKind
.BoolKeyword:
1573
case
SyntaxKind
.ByteKeyword:
1575
case
SyntaxKind
.SByteKeyword:
1577
case
SyntaxKind
.ShortKeyword:
1579
case
SyntaxKind
.UShortKeyword:
1581
case
SyntaxKind
.IntKeyword:
1583
case
SyntaxKind
.UIntKeyword:
1585
case
SyntaxKind
.LongKeyword:
1587
case
SyntaxKind
.ULongKeyword:
1589
case
SyntaxKind
.DoubleKeyword:
1591
case
SyntaxKind
.FloatKeyword:
1593
case
SyntaxKind
.DecimalKeyword:
1595
case
SyntaxKind
.StringKeyword:
1597
case
SyntaxKind
.CharKeyword:
1599
case
SyntaxKind
.VoidKeyword:
1601
case
SyntaxKind
.ObjectKeyword:
1603
case
SyntaxKind
.TypeOfKeyword:
1605
case
SyntaxKind
.SizeOfKeyword:
1607
case
SyntaxKind
.NullKeyword:
1609
case
SyntaxKind
.TrueKeyword:
1611
case
SyntaxKind
.FalseKeyword:
1613
case
SyntaxKind
.IfKeyword:
1615
case
SyntaxKind
.ElseKeyword:
1617
case
SyntaxKind
.WhileKeyword:
1619
case
SyntaxKind
.ForKeyword:
1621
case
SyntaxKind
.ForEachKeyword:
1623
case
SyntaxKind
.DoKeyword:
1625
case
SyntaxKind
.SwitchKeyword:
1627
case
SyntaxKind
.CaseKeyword:
1629
case
SyntaxKind
.DefaultKeyword:
1631
case
SyntaxKind
.TryKeyword:
1633
case
SyntaxKind
.CatchKeyword:
1635
case
SyntaxKind
.FinallyKeyword:
1637
case
SyntaxKind
.LockKeyword:
1639
case
SyntaxKind
.GotoKeyword:
1641
case
SyntaxKind
.BreakKeyword:
1643
case
SyntaxKind
.ContinueKeyword:
1645
case
SyntaxKind
.ReturnKeyword:
1647
case
SyntaxKind
.ThrowKeyword:
1649
case
SyntaxKind
.PublicKeyword:
1651
case
SyntaxKind
.PrivateKeyword:
1653
case
SyntaxKind
.InternalKeyword:
1655
case
SyntaxKind
.ProtectedKeyword:
1657
case
SyntaxKind
.StaticKeyword:
1659
case
SyntaxKind
.ReadOnlyKeyword:
1661
case
SyntaxKind
.SealedKeyword:
1663
case
SyntaxKind
.ConstKeyword:
1665
case
SyntaxKind
.FixedKeyword:
1667
case
SyntaxKind
.StackAllocKeyword:
1669
case
SyntaxKind
.VolatileKeyword:
1671
case
SyntaxKind
.NewKeyword:
1673
case
SyntaxKind
.OverrideKeyword:
1675
case
SyntaxKind
.AbstractKeyword:
1677
case
SyntaxKind
.VirtualKeyword:
1679
case
SyntaxKind
.EventKeyword:
1681
case
SyntaxKind
.ExternKeyword:
1683
case
SyntaxKind
.RefKeyword:
1685
case
SyntaxKind
.OutKeyword:
1687
case
SyntaxKind
.InKeyword:
1689
case
SyntaxKind
.IsKeyword:
1691
case
SyntaxKind
.AsKeyword:
1693
case
SyntaxKind
.ParamsKeyword:
1695
case
SyntaxKind
.ArgListKeyword:
1697
case
SyntaxKind
.MakeRefKeyword:
1699
case
SyntaxKind
.RefTypeKeyword:
1701
case
SyntaxKind
.RefValueKeyword:
1703
case
SyntaxKind
.ThisKeyword:
1705
case
SyntaxKind
.BaseKeyword:
1707
case
SyntaxKind
.NamespaceKeyword:
1709
case
SyntaxKind
.UsingKeyword:
1711
case
SyntaxKind
.ClassKeyword:
1713
case
SyntaxKind
.StructKeyword:
1715
case
SyntaxKind
.InterfaceKeyword:
1717
case
SyntaxKind
.EnumKeyword:
1719
case
SyntaxKind
.DelegateKeyword:
1721
case
SyntaxKind
.CheckedKeyword:
1723
case
SyntaxKind
.UncheckedKeyword:
1725
case
SyntaxKind
.UnsafeKeyword:
1727
case
SyntaxKind
.OperatorKeyword:
1729
case
SyntaxKind
.ImplicitKeyword:
1731
case
SyntaxKind
.ExplicitKeyword:
1733
case
SyntaxKind
.ElifKeyword:
1735
case
SyntaxKind
.EndIfKeyword:
1737
case
SyntaxKind
.RegionKeyword:
1739
case
SyntaxKind
.EndRegionKeyword:
1741
case
SyntaxKind
.DefineKeyword:
1743
case
SyntaxKind
.UndefKeyword:
1745
case
SyntaxKind
.WarningKeyword:
1747
case
SyntaxKind
.ErrorKeyword:
1749
case
SyntaxKind
.LineKeyword:
1751
case
SyntaxKind
.PragmaKeyword:
1753
case
SyntaxKind
.HiddenKeyword:
1755
case
SyntaxKind
.ChecksumKeyword:
1757
case
SyntaxKind
.DisableKeyword:
1759
case
SyntaxKind
.RestoreKeyword:
1761
case
SyntaxKind
.ReferenceKeyword:
1763
case
SyntaxKind
.LoadKeyword:
1765
case
SyntaxKind
.NullableKeyword:
1767
case
SyntaxKind
.EnableKeyword:
1769
case
SyntaxKind
.WarningsKeyword:
1771
case
SyntaxKind
.AnnotationsKeyword:
1775
case
SyntaxKind
.YieldKeyword:
1777
case
SyntaxKind
.PartialKeyword:
1779
case
SyntaxKind
.FromKeyword:
1781
case
SyntaxKind
.GroupKeyword:
1783
case
SyntaxKind
.JoinKeyword:
1785
case
SyntaxKind
.IntoKeyword:
1787
case
SyntaxKind
.LetKeyword:
1789
case
SyntaxKind
.ByKeyword:
1791
case
SyntaxKind
.WhereKeyword:
1793
case
SyntaxKind
.SelectKeyword:
1795
case
SyntaxKind
.GetKeyword:
1797
case
SyntaxKind
.SetKeyword:
1799
case
SyntaxKind
.AddKeyword:
1801
case
SyntaxKind
.RemoveKeyword:
1803
case
SyntaxKind
.OrderByKeyword:
1805
case
SyntaxKind
.AliasKeyword:
1807
case
SyntaxKind
.OnKeyword:
1809
case
SyntaxKind
.EqualsKeyword:
1811
case
SyntaxKind
.AscendingKeyword:
1813
case
SyntaxKind
.DescendingKeyword:
1815
case
SyntaxKind
.AssemblyKeyword:
1817
case
SyntaxKind
.ModuleKeyword:
1819
case
SyntaxKind
.TypeKeyword:
1821
case
SyntaxKind
.FieldKeyword:
1823
case
SyntaxKind
.MethodKeyword:
1825
case
SyntaxKind
.ParamKeyword:
1827
case
SyntaxKind
.PropertyKeyword:
1829
case
SyntaxKind
.TypeVarKeyword:
1831
case
SyntaxKind
.GlobalKeyword:
1833
case
SyntaxKind
.NameOfKeyword:
1835
case
SyntaxKind
.AsyncKeyword:
1837
case
SyntaxKind
.AwaitKeyword:
1839
case
SyntaxKind
.WhenKeyword:
1841
case
SyntaxKind
.InterpolatedStringStartToken:
1843
case
SyntaxKind
.InterpolatedStringEndToken:
1845
case
SyntaxKind
.InterpolatedVerbatimStringStartToken:
1847
case
SyntaxKind
.UnderscoreToken:
1849
case
SyntaxKind
.VarKeyword:
1851
case
SyntaxKind
.AndKeyword:
1853
case
SyntaxKind
.OrKeyword:
1855
case
SyntaxKind
.NotKeyword:
1857
case
SyntaxKind
.WithKeyword:
1859
case
SyntaxKind
.InitKeyword:
1861
case
SyntaxKind
.RecordKeyword:
1863
case
SyntaxKind
.ManagedKeyword:
1865
case
SyntaxKind
.UnmanagedKeyword:
1867
case
SyntaxKind
.RequiredKeyword:
1869
case
SyntaxKind
.ScopedKeyword:
1871
case
SyntaxKind
.FileKeyword:
1873
case
SyntaxKind
.AllowsKeyword:
1875
case
SyntaxKind
.ExtensionKeyword:
1882
public static bool IsTypeParameterVarianceKeyword(
SyntaxKind
kind)
1884
return kind ==
SyntaxKind
.OutKeyword || kind ==
SyntaxKind
.InKeyword;
1887
public static bool IsDocumentationCommentTrivia(
SyntaxKind
kind)
1889
return kind ==
SyntaxKind
.SingleLineDocumentationCommentTrivia ||
1890
kind ==
SyntaxKind
.MultiLineDocumentationCommentTrivia;