提交 815a8af7 编写于 作者: C Cyrus Najmabadi

use pattern matching

上级 76e58709
......@@ -67,8 +67,7 @@ protected override SyntaxTriviaList CreatePragmaRestoreDirectiveTrivia(Diagnosti
protected override bool IsAttributeListWithAssemblyAttributes(SyntaxNode node)
{
var attributeList = node as AttributeListSyntax;
return attributeList != null &&
return node is AttributeListSyntax attributeList &&
attributeList.Target != null &&
attributeList.Target.Identifier.Kind() == SyntaxKind.AssemblyKeyword;
}
......@@ -185,8 +184,7 @@ protected override bool IsSingleAttributeInAttributeList(SyntaxNode attribute)
{
if (attribute is AttributeSyntax attributeSyntax)
{
var attributeList = attributeSyntax.Parent as AttributeListSyntax;
return attributeList != null && attributeList.Attributes.Count == 1;
return attributeSyntax.Parent is AttributeListSyntax attributeList && attributeList.Attributes.Count == 1;
}
return false;
......
......@@ -2064,8 +2064,7 @@ public override SyntaxNode SetCanOverride(SyntaxNode memberNode, bool value)
{
Debug.Assert(memberNode is MemberDeclarationSyntax);
var member = memberNode as MemberDeclarationSyntax;
if (member == null)
if (!(memberNode is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2132,8 +2131,7 @@ public override EnvDTE80.vsCMConstKind GetConstKind(SyntaxNode variableNode)
return EnvDTE80.vsCMConstKind.vsCMConstKindConst;
}
var member = GetNodeWithModifiers(variableNode) as MemberDeclarationSyntax;
if (member == null)
if (!(GetNodeWithModifiers(variableNode) is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2945,8 +2943,7 @@ public override Document Delete(Document document, SyntaxNode node)
public override string GetMethodXml(SyntaxNode node, SemanticModel semanticModel)
{
var methodDeclaration = node as MethodDeclarationSyntax;
if (methodDeclaration == null)
if (!(node is MethodDeclarationSyntax methodDeclaration))
{
throw Exceptions.ThrowEUnexpected();
}
......@@ -3758,10 +3755,9 @@ public override object GetTypeExtender(string name, AbstractCodeType symbol)
protected override bool AddBlankLineToMethodBody(SyntaxNode node, SyntaxNode newNode)
{
var methodDeclaration = node as MethodDeclarationSyntax;
var newMethodDeclaration = newNode as MethodDeclarationSyntax;
return methodDeclaration != null
return node is MethodDeclarationSyntax methodDeclaration
&& methodDeclaration.Body == null
&& newMethodDeclaration != null
&& newMethodDeclaration.Body != null;
......
......@@ -29,8 +29,7 @@ internal static class AttributeArgumentSyntaxExtensions
return null;
}
var argumentList = argument.Parent as AttributeArgumentListSyntax;
if (argumentList == null)
if (!(argument.Parent is AttributeArgumentListSyntax argumentList))
{
return null;
}
......
......@@ -46,8 +46,7 @@ private void AddTypeParameterConstraintClauseOperation(List<IndentBlockOperation
private void AddSwitchIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node, OptionSet optionSet)
{
var section = node as SwitchSectionSyntax;
if (section == null)
if (!(node is SwitchSectionSyntax section))
{
return;
}
......
......@@ -392,9 +392,8 @@ private static SyntaxNode GetTopContainingNode(SyntaxNode node)
public static bool IsColonInSwitchLabel(SyntaxToken token)
{
var switchLabel = token.Parent as SwitchLabelSyntax;
return token.Kind() == SyntaxKind.ColonToken &&
switchLabel != null &&
token.Parent is SwitchLabelSyntax switchLabel &&
switchLabel.ColonToken == token;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册