提交 24afd202 编写于 作者: C Cyrus Najmabadi

Simplify by moving to extensions

上级 97615144
......@@ -1483,12 +1483,6 @@ public bool IsPossibleTupleContext(SyntaxTree syntaxTree, int position, Cancella
public SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node)
=> ((ExpressionStatementSyntax)node).Expression;
public bool IsNullLiteralExpression(SyntaxNode node)
=> node.Kind() == SyntaxKind.NullLiteralExpression;
public bool IsDefaultLiteralExpression(SyntaxNode node)
=> node.Kind() == SyntaxKind.DefaultLiteralExpression;
public bool IsBinaryExpression(SyntaxNode node)
=> node is BinaryExpressionSyntax;
......
......@@ -44,11 +44,13 @@ public override TSyntaxKind Convert<TSyntaxKind>(int kind)
public override int BaseExpression => (int)SyntaxKind.BaseExpression;
public override int CharacterLiteralExpression => (int)SyntaxKind.CharacterLiteralExpression;
public override int ConditionalAccessExpression => (int)SyntaxKind.ConditionalAccessExpression;
public override int DefaultLiteralExpression => (int)SyntaxKind.DefaultLiteralExpression;
public override int FalseLiteralExpression => (int)SyntaxKind.FalseLiteralExpression;
public override int InvocationExpression => (int)SyntaxKind.InvocationExpression;
public override int LogicalAndExpression => (int)SyntaxKind.LogicalAndExpression;
public override int LogicalOrExpression => (int)SyntaxKind.LogicalOrExpression;
public override int ObjectCreationExpression => (int)SyntaxKind.ObjectCreationExpression;
public override int NullLiteralExpression => (int)SyntaxKind.NullLiteralExpression;
public override int ParenthesizedExpression => (int)SyntaxKind.ParenthesizedExpression;
public override int QueryExpression => (int)SyntaxKind.QueryExpression;
public override int ReferenceEqualsExpression => (int)SyntaxKind.EqualsExpression;
......
......@@ -96,8 +96,6 @@ internal interface ISyntaxFactsService : ILanguageService
bool IsDocumentationComment(SyntaxNode node);
bool IsNumericLiteralExpression(SyntaxNode node);
bool IsNullLiteralExpression(SyntaxNode node);
bool IsDefaultLiteralExpression(SyntaxNode node);
bool IsLiteralExpression(SyntaxNode node);
string GetText(int kind);
......
......@@ -223,21 +223,33 @@ public static bool IsQualifiedName(this ISyntaxFactsService syntaxFacts, [NotNul
public static bool IsTupleType(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.TupleType;
public static bool IsCharacterLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.CharacterLiteralExpression;
public static bool IsDefaultLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.DefaultLiteralExpression;
public static bool IsFalseLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.FalseLiteralExpression;
public static bool IsNullLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.NullLiteralExpression;
public static bool IsStringLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.StringLiteralExpression;
public static bool IsTrueLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.TrueLiteralExpression;
public static bool IsAwaitExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.AwaitExpression;
public static bool IsBaseExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.BaseExpression;
public static bool IsCharacterLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.CharacterLiteralExpression;
public static bool IsConditionalAccessExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.ConditionalAccessExpression;
public static bool IsFalseLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.FalseLiteralExpression;
public static bool IsInvocationExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.InvocationExpression;
......@@ -259,15 +271,9 @@ public static bool IsQueryExpression(this ISyntaxFactsService syntaxFacts, [NotN
public static bool IsSimpleMemberAccessExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.SimpleMemberAccessExpression;
public static bool IsStringLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.StringLiteralExpression;
public static bool IsThisExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.ThisExpression;
public static bool IsTrueLiteralExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.TrueLiteralExpression;
public static bool IsTupleExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.TupleExpression;
......
......@@ -35,12 +35,17 @@ internal interface ISyntaxKindsService : ILanguageService
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 CharacterLiteralExpression { get; }
int ConditionalAccessExpression { get; }
int FalseLiteralExpression { get; }
int InvocationExpression { get; }
/// <summary>
......@@ -59,10 +64,8 @@ internal interface ISyntaxKindsService : ILanguageService
int ReferenceEqualsExpression { get; }
int ReferenceNotEqualsExpression { get; }
int SimpleMemberAccessExpression { get; }
int StringLiteralExpression { get; }
int TernaryConditionalExpression { get; }
int ThisExpression { get; }
int TrueLiteralExpression { get; }
int TupleExpression { get; }
int EndOfFileToken { get; }
......@@ -109,12 +112,17 @@ internal abstract class AbstractSyntaxKindsService : ISyntaxKindsService
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 CharacterLiteralExpression { get; }
public abstract int ConditionalAccessExpression { get; }
public abstract int FalseLiteralExpression { get; }
public abstract int InvocationExpression { get; }
public abstract int LogicalAndExpression { get; }
public abstract int LogicalOrExpression { get; }
......@@ -124,10 +132,8 @@ internal abstract class AbstractSyntaxKindsService : ISyntaxKindsService
public abstract int ReferenceEqualsExpression { get; }
public abstract int ReferenceNotEqualsExpression { get; }
public abstract int SimpleMemberAccessExpression { get; }
public abstract int StringLiteralExpression { get; }
public abstract int TernaryConditionalExpression { get; }
public abstract int ThisExpression { get; }
public abstract int TrueLiteralExpression { get; }
public abstract int TupleExpression { get; }
public abstract int EndOfFileToken { get; }
......
......@@ -1509,14 +1509,6 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
Return DirectCast(node, ExpressionStatementSyntax).Expression
End Function
Public Function IsNullLiteralExpression(node As SyntaxNode) As Boolean Implements ISyntaxFactsService.IsNullLiteralExpression
Return node.Kind() = SyntaxKind.NothingLiteralExpression
End Function
Public Function IsDefaultLiteralExpression(node As SyntaxNode) As Boolean Implements ISyntaxFactsService.IsDefaultLiteralExpression
Return IsNullLiteralExpression(node)
End Function
Public Function IsBinaryExpression(node As SyntaxNode) As Boolean Implements ISyntaxFactsService.IsBinaryExpression
Return TypeOf node Is BinaryExpressionSyntax
End Function
......
......@@ -37,12 +37,17 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.LanguageServices
Public Overrides ReadOnly Property TupleType As Integer = SyntaxKind.TupleType
Public Overrides ReadOnly Property CharacterLiteralExpression As Integer = SyntaxKind.CharacterLiteralExpression
Public Overrides ReadOnly Property DefaultLiteralExpression As Integer = SyntaxKind.NothingLiteralExpression
Public Overrides ReadOnly Property FalseLiteralExpression As Integer = SyntaxKind.FalseLiteralExpression
Public Overrides ReadOnly Property NullLiteralExpression As Integer = SyntaxKind.NothingLiteralExpression
Public Overrides ReadOnly Property StringLiteralExpression As Integer = SyntaxKind.StringLiteralExpression
Public Overrides ReadOnly Property TrueLiteralExpression As Integer = SyntaxKind.TrueLiteralExpression
Public Overrides ReadOnly Property AnonymousObjectCreationExpression As Integer = SyntaxKind.AnonymousObjectCreationExpression
Public Overrides ReadOnly Property AwaitExpression As Integer = SyntaxKind.AwaitExpression
Public Overrides ReadOnly Property BaseExpression As Integer = SyntaxKind.MyBaseExpression
Public Overrides ReadOnly Property CharacterLiteralExpression As Integer = SyntaxKind.CharacterLiteralExpression
Public Overrides ReadOnly Property ConditionalAccessExpression As Integer = SyntaxKind.ConditionalAccessExpression
Public Overrides ReadOnly Property FalseLiteralExpression As Integer = SyntaxKind.FalseLiteralExpression
Public Overrides ReadOnly Property InvocationExpression As Integer = SyntaxKind.InvocationExpression
Public Overrides ReadOnly Property LogicalAndExpression As Integer = SyntaxKind.AndAlsoExpression
Public Overrides ReadOnly Property LogicalOrExpression As Integer = SyntaxKind.OrElseExpression
......@@ -52,10 +57,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.LanguageServices
Public Overrides ReadOnly Property ReferenceEqualsExpression As Integer = SyntaxKind.IsExpression
Public Overrides ReadOnly Property ReferenceNotEqualsExpression As Integer = SyntaxKind.IsNotExpression
Public Overrides ReadOnly Property SimpleMemberAccessExpression As Integer = SyntaxKind.SimpleMemberAccessExpression
Public Overrides ReadOnly Property StringLiteralExpression As Integer = SyntaxKind.StringLiteralExpression
Public Overrides ReadOnly Property TernaryConditionalExpression As Integer = SyntaxKind.TernaryConditionalExpression
Public Overrides ReadOnly Property ThisExpression As Integer = SyntaxKind.MeExpression
Public Overrides ReadOnly Property TrueLiteralExpression As Integer = SyntaxKind.TrueLiteralExpression
Public Overrides ReadOnly Property TupleExpression As Integer = SyntaxKind.TupleExpression
Public Overrides ReadOnly Property EndOfFileToken As Integer = SyntaxKind.EndOfFileToken
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册