File: src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxKinds.cs
Web Access
Project: src\src\Workspaces\Core\Portable\Microsoft.CodeAnalysis.Workspaces.csproj (Microsoft.CodeAnalysis.Workspaces)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
namespace Microsoft.CodeAnalysis.LanguageService;
 
/// <summary>
/// Provides a uniform view of SyntaxKinds over C# and VB for constructs they have
/// in common.
/// </summary>
internal interface ISyntaxKinds
{
    TSyntaxKind Convert<TSyntaxKind>(int kind) where TSyntaxKind : struct;
    int Convert<TSyntaxKind>(TSyntaxKind kind) where TSyntaxKind : struct;
 
    #region trivia
 
    int ConflictMarkerTrivia { get; }
    int DisabledTextTrivia { get; }
    int EndOfLineTrivia { get; }
    int SkippedTokensTrivia { get; }
    int WhitespaceTrivia { get; }
    int SingleLineCommentTrivia { get; }
 
    /// <summary>
    /// Gets the syntax kind for a multi-line comment.
    /// </summary>
    /// <value>
    /// The raw syntax kind for a multi-line comment; otherwise, <see langword="null"/> if the language does not
    /// support multi-line comments.
    /// </value>
    int? MultiLineCommentTrivia { get; }
 
    int SingleLineDocCommentTrivia { get; }
    int? MultiLineDocCommentTrivia { get; }
 
    int IfDirectiveTrivia { get; }
    int ElifDirectiveTrivia { get; }
    int ElseDirectiveTrivia { get; }
    int EndIfDirectiveTrivia { get; }
    int EndRegionDirectiveTrivia { get; }
    int RegionDirectiveTrivia { get; }
    int? ShebangDirectiveTrivia { get; }
 
    #endregion
 
    #region keywords
 
    int AsyncKeyword { get; }
    int AwaitKeyword { get; }
    int DelegateKeyword { get; }
    int FalseKeyword { get; }
    int GlobalKeyword { get; }
    int? GlobalStatement { get; }
    int IfKeyword { get; }
    int NewKeyword { get; }
    int TrueKeyword { get; }
    int UsingKeyword { get; }
 
    #endregion
 
    #region literal tokens
 
    int CharacterLiteralToken { get; }
    int StringLiteralToken { get; }
    int? SingleLineRawStringLiteralToken { get; }
    int? MultiLineRawStringLiteralToken { get; }
    int? Utf8StringLiteralToken { get; }
    int? Utf8SingleLineRawStringLiteralToken { get; }
    int? Utf8MultiLineRawStringLiteralToken { get; }
 
    #endregion
 
    #region tokens
 
    int CloseBraceToken { get; }
    int? CloseBracketToken { get; }
    int CloseParenToken { get; }
    int CommaToken { get; }
    int ColonToken { get; }
    int DotToken { get; }
    int EndOfFileToken { get; }
    int HashToken { get; }
    int GreaterThanToken { get; }
    int IdentifierToken { get; }
    int InterpolatedStringTextToken { get; }
    int LessThanSlashToken { get; }
    int LessThanToken { get; }
    int OpenBraceToken { get; }
    int? OpenBracketToken { get; }
    int OpenParenToken { get; }
    int QuestionToken { get; }
 
    #endregion
 
    #region xml tokens
 
    int XmlTextLiteralToken { get; }
 
    #endregion
 
    #region names
 
    int GenericName { get; }
    int IdentifierName { get; }
    int QualifiedName { get; }
 
    #endregion
 
    #region types
 
    int TupleType { get; }
 
    #endregion
 
    #region literal expressions
 
    int CharacterLiteralExpression { get; }
    int DefaultLiteralExpression { get; }
    int FalseLiteralExpression { get; }
    int NullLiteralExpression { get; }
    int NumericLiteralExpression { get; }
    int StringLiteralExpression { get; }
    int TrueLiteralExpression { get; }
 
    #endregion
 
    #region expressions
 
    int AddExpression { get; }
    int AddressOfExpression { get; }
    int AnonymousObjectCreationExpression { get; }
    int ArrayCreationExpression { get; }
    int AwaitExpression { get; }
    int BaseExpression { get; }
    int CollectionInitializerExpression { get; }
    int ConditionalAccessExpression { get; }
    int ConditionalExpression { get; }
    int? ImplicitArrayCreationExpression { get; }
    int? ImplicitObjectCreationExpression { get; }
    int? IndexExpression { get; }
    int InterpolatedStringExpression { get; }
    int InvocationExpression { get; }
    int IsTypeExpression { get; }
    int? IsNotTypeExpression { get; }
    int? IsPatternExpression { get; }
    int LogicalAndExpression { get; }
    int LogicalOrExpression { get; }
    int LogicalNotExpression { get; }
    int ObjectCreationExpression { get; }
    int ParenthesizedExpression { get; }
    int QueryExpression { get; }
    int? RangeExpression { get; }
    int? RefExpression { get; }
    int ReferenceEqualsExpression { get; }
    int ReferenceNotEqualsExpression { get; }
    int SimpleMemberAccessExpression { get; }
    int? SuppressNullableWarningExpression { get; }
    int TernaryConditionalExpression { get; }
    int ThisExpression { get; }
    int? ThrowExpression { get; }
    int TupleExpression { get; }
 
    #endregion
 
    #region patterns
 
    int? AndPattern { get; }
    int? ConstantPattern { get; }
    int? DeclarationPattern { get; }
    int? ListPattern { get; }
    int? NotPattern { get; }
    int? OrPattern { get; }
    int? ParenthesizedPattern { get; }
    int? RecursivePattern { get; }
    int? RelationalPattern { get; }
    int? TypePattern { get; }
    int? VarPattern { get; }
 
    #endregion
 
    #region statements
 
    int ExpressionStatement { get; }
    int ForEachStatement { get; }
    int ForStatement { get; }
    int IfStatement { get; }
    int LocalDeclarationStatement { get; }
    int? LocalFunctionStatement { get; }
    int LockStatement { get; }
    int ReturnStatement { get; }
    int ThrowStatement { get; }
    int UsingStatement { get; }
    int WhileStatement { get; }
    int YieldReturnStatement { get; }
 
    #endregion
 
    #region members/declarations
 
    int Attribute { get; }
    int ClassDeclaration { get; }
    int ConstructorDeclaration { get; }
    int EnumDeclaration { get; }
    int InterfaceDeclaration { get; }
    int? StructDeclaration { get; }
    int Parameter { get; }
    int TypeConstraint { get; }
    int VariableDeclarator { get; }
    int FieldDeclaration { get; }
    int PropertyDeclaration { get; }
 
    int IncompleteMember { get; }
    int TypeArgumentList { get; }
    int ParameterList { get; }
 
    #endregion
 
    #region clauses
 
    int ElseClause { get; }
    int EqualsValueClause { get; }
 
    #endregion
 
    #region other
 
    int? ImplicitElementAccess { get; }
    int Interpolation { get; }
    int InterpolatedStringText { get; }
    int? IndexerMemberCref { get; }
 
    #endregion
}