// 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. #nullable enable using Microsoft.CodeAnalysis.Host; namespace Microsoft.CodeAnalysis.LanguageServices { /// /// Provides a uniform view of SyntaxKinds over C# and VB for constructs they have /// in common. /// internal interface ISyntaxKindsService : ILanguageService { TSyntaxKind Convert(int kind) where TSyntaxKind : struct; int ConflictMarkerTrivia { get; } int DisabledTextTrivia { get; } int EndOfLineTrivia { get; } int SkippedTokensTrivia { get; } int CharacterLiteralToken { get; } int DotToken { get; } int InterpolatedStringTextToken { get; } int QuestionToken { get; } int StringLiteralToken { get; } int IfKeyword { get; } int GenericName { get; } int IdentifierName { get; } int QualifiedName { get; } int TupleType { get; } int CharacterLiteralExpression { get; } int DefaultLiteralExpression { get; } int FalseLiteralExpression { get; } int NullLiteralExpression { get; } int StringLiteralExpression { get; } int TrueLiteralExpression { get; } int AnonymousObjectCreationExpression { get; } int AwaitExpression { get; } int BaseExpression { get; } int ConditionalAccessExpression { get; } int InvocationExpression { get; } /// /// A short-circuiting logical 'and'. In C#, 'LogicalAndExpression'. In VB, 'AndAlsoExpression'. /// int LogicalAndExpression { get; } /// /// A short-circuiting logical 'or'. In C#, 'LogicalOrExpression'. In VB, 'OrElseExpression'. /// int LogicalOrExpression { get; } int LogicalNotExpression { get; } int ObjectCreationExpression { get; } int ParenthesizedExpression { get; } int QueryExpression { get; } int ReferenceEqualsExpression { get; } int ReferenceNotEqualsExpression { get; } int SimpleMemberAccessExpression { get; } int TernaryConditionalExpression { get; } int ThisExpression { get; } int TupleExpression { get; } int EndOfFileToken { get; } int AwaitKeyword { get; } int IdentifierToken { get; } int GlobalKeyword { get; } int IncompleteMember { get; } int HashToken { get; } int ExpressionStatement { get; } int LocalDeclarationStatement { get; } int LockStatement { get; } int ReturnStatement { get; } int UsingStatement { get; } int Attribute { get; } int Parameter { get; } int TypeConstraint { get; } int VariableDeclarator { get; } int TypeArgumentList { get; } } internal abstract class AbstractSyntaxKindsService : ISyntaxKindsService { public abstract TSyntaxKind Convert(int kind) where TSyntaxKind : struct; public abstract int ConflictMarkerTrivia { get; } public abstract int DisabledTextTrivia { get; } public abstract int EndOfLineTrivia { get; } public abstract int SkippedTokensTrivia { get; } public abstract int CharacterLiteralToken { get; } public abstract int DotToken { get; } public abstract int InterpolatedStringTextToken { get; } public abstract int QuestionToken { get; } public abstract int StringLiteralToken { get; } public abstract int IfKeyword { get; } public abstract int GenericName { get; } public abstract int IdentifierName { get; } public abstract int QualifiedName { get; } public abstract int TupleType { get; } public abstract int CharacterLiteralExpression { get; } public abstract int DefaultLiteralExpression { get; } public abstract int FalseLiteralExpression { get; } public abstract int NullLiteralExpression { get; } public abstract int StringLiteralExpression { get; } public abstract int TrueLiteralExpression { get; } public abstract int AnonymousObjectCreationExpression { get; } public abstract int AwaitExpression { get; } public abstract int BaseExpression { get; } public abstract int ConditionalAccessExpression { get; } public abstract int InvocationExpression { get; } public abstract int LogicalAndExpression { get; } public abstract int LogicalOrExpression { get; } public abstract int LogicalNotExpression { get; } public abstract int ObjectCreationExpression { get; } public abstract int ParenthesizedExpression { get; } public abstract int QueryExpression { get; } public abstract int ReferenceEqualsExpression { get; } public abstract int ReferenceNotEqualsExpression { get; } public abstract int SimpleMemberAccessExpression { get; } public abstract int TernaryConditionalExpression { get; } public abstract int ThisExpression { get; } public abstract int TupleExpression { get; } public abstract int EndOfFileToken { get; } public abstract int IdentifierToken { get; } public abstract int AwaitKeyword { get; } public abstract int GlobalKeyword { get; } public abstract int IncompleteMember { get; } public abstract int HashToken { get; } public abstract int ExpressionStatement { get; } public abstract int LocalDeclarationStatement { get; } public abstract int LockStatement { get; } public abstract int ReturnStatement { get; } public abstract int UsingStatement { get; } public abstract int Attribute { get; } public abstract int Parameter { get; } public abstract int TypeConstraint { get; } public abstract int VariableDeclarator { get; } public abstract int TypeArgumentList { get; } } }