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

Simplify by moving to extensions

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