// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
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
{
int DotToken { get; }
int QuestionToken { get; }
int IfKeyword { 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 EndOfFileToken { get; }
int AwaitKeyword { get; }
int IdentifierToken { get; }
int GlobalKeyword { get; }
int IncompleteMember { get; }
int UsingStatement { get; }
int ReturnStatement { get; }
int HashToken { get; }
}
internal abstract class AbstractSyntaxKindsService : ISyntaxKindsService
{
public abstract int DotToken { get; }
public abstract int QuestionToken { get; }
public abstract int IfKeyword { get; }
public abstract int LogicalAndExpression { get; }
public abstract int LogicalOrExpression { 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 UsingStatement { get; }
public abstract int ReturnStatement { get; }
public abstract int HashToken { get; }
}
}