提交 f71ac339 编写于 作者: C Cyrus Najmabadi

Simplify by moving to extensions

上级 24afd202
......@@ -1505,9 +1505,6 @@ public void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode cond
public SyntaxNode WalkDownParentheses(SyntaxNode node)
=> (node as ExpressionSyntax)?.WalkDownParentheses() ?? node;
public bool IsLogicalNotExpression(SyntaxNode node)
=> node.Kind() == SyntaxKind.LogicalNotExpression;
public bool IsConditionalAnd(SyntaxNode node)
=> node.Kind() == SyntaxKind.LogicalAndExpression;
......
......@@ -49,6 +49,7 @@ public override TSyntaxKind Convert<TSyntaxKind>(int kind)
public override int InvocationExpression => (int)SyntaxKind.InvocationExpression;
public override int LogicalAndExpression => (int)SyntaxKind.LogicalAndExpression;
public override int LogicalOrExpression => (int)SyntaxKind.LogicalOrExpression;
public override int LogicalNotExpression => (int)SyntaxKind.LogicalNotExpression;
public override int ObjectCreationExpression => (int)SyntaxKind.ObjectCreationExpression;
public override int NullLiteralExpression => (int)SyntaxKind.NullLiteralExpression;
public override int ParenthesizedExpression => (int)SyntaxKind.ParenthesizedExpression;
......
......@@ -129,7 +129,6 @@ internal interface ISyntaxFactsService : ILanguageService
SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node);
bool IsExpressionOfForeach(SyntaxNode node);
bool IsLogicalNotExpression([NotNullWhen(true)] SyntaxNode node);
bool IsConditionalAnd(SyntaxNode node);
bool IsConditionalOr(SyntaxNode node);
......
......@@ -259,6 +259,9 @@ public static bool IsLogicalAndExpression(this ISyntaxFactsService syntaxFacts,
public static bool IsLogicalOrExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.LogicalOrExpression;
public static bool IsLogicalNotExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.LogicalNotExpression;
public static bool IsObjectCreationExpression(this ISyntaxFactsService syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
=> node?.RawKind == syntaxFacts.SyntaxKinds.ObjectCreationExpression;
......
......@@ -57,6 +57,7 @@ internal interface ISyntaxKindsService : ILanguageService
/// A short-circuiting logical 'or'. In C#, 'LogicalOrExpression'. In VB, 'OrElseExpression'.
/// </summary>
int LogicalOrExpression { get; }
int LogicalNotExpression { get; }
int ObjectCreationExpression { get; }
int ParenthesizedExpression { get; }
......@@ -126,6 +127,7 @@ internal abstract class AbstractSyntaxKindsService : ISyntaxKindsService
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; }
......
......@@ -1531,10 +1531,6 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
Return If(TryCast(node, ExpressionSyntax)?.WalkDownParentheses(), node)
End Function
Public Function IsLogicalNotExpression(node As SyntaxNode) As Boolean Implements ISyntaxFactsService.IsLogicalNotExpression
Return node.IsKind(SyntaxKind.NotExpression)
End Function
Public Function IsConditionalAnd(node As SyntaxNode) As Boolean Implements ISyntaxFactsService.IsConditionalAnd
Return node.Kind() = SyntaxKind.AndAlsoExpression
End Function
......
......@@ -51,6 +51,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.LanguageServices
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
Public Overrides ReadOnly Property LogicalNotExpression As Integer = SyntaxKind.NotExpression
Public Overrides ReadOnly Property ObjectCreationExpression As Integer = SyntaxKind.ObjectCreationExpression
Public Overrides ReadOnly Property ParenthesizedExpression As Integer = SyntaxKind.ParenthesizedExpression
Public Overrides ReadOnly Property QueryExpression As Integer = SyntaxKind.QueryExpression
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册