提交 8025e92d 编写于 作者: C Cyrus Najmabadi

use pattern matching

上级 15b00bf6
......@@ -1406,8 +1406,7 @@ public override SyntaxNode SetDocComment(SyntaxNode node, string value)
throw Exceptions.ThrowEInvalidArg();
}
var docElement = xmlDocument.FirstNode as XElement;
if (docElement == null ||
if (!(xmlDocument.FirstNode is XElement docElement) ||
docElement.Name.ToString().ToLower() != "doc")
{
throw Exceptions.ThrowEInvalidArg();
......@@ -1900,9 +1899,7 @@ public override EnvDTE80.vsCMParameterKind GetParameterKind(SyntaxNode node)
public override SyntaxNode SetParameterKind(SyntaxNode node, EnvDTE80.vsCMParameterKind kind)
{
var parameter = node as ParameterSyntax;
if (parameter == null)
if (!(node is ParameterSyntax parameter))
{
throw Exceptions.ThrowEFail();
}
......@@ -2013,8 +2010,7 @@ public override bool GetCanOverride(SyntaxNode memberNode)
{
Debug.Assert(memberNode is MemberDeclarationSyntax);
var member = memberNode as MemberDeclarationSyntax;
if (member == null)
if (!(memberNode is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2252,8 +2248,7 @@ public override bool GetMustImplement(SyntaxNode memberNode)
{
Debug.Assert(memberNode is MemberDeclarationSyntax);
var member = memberNode as MemberDeclarationSyntax;
if (member == null)
if (!(memberNode is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2274,8 +2269,7 @@ public override SyntaxNode SetMustImplement(SyntaxNode memberNode, bool value)
memberNode is BasePropertyDeclarationSyntax ||
memberNode is EventFieldDeclarationSyntax);
var member = memberNode as MemberDeclarationSyntax;
if (member == null)
if (!(memberNode is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2390,8 +2384,7 @@ public override SyntaxNode SetInheritanceKind(SyntaxNode typeNode, EnvDTE80.vsCM
{
Debug.Assert(typeNode is ClassDeclarationSyntax);
var member = typeNode as MemberDeclarationSyntax;
if (member == null)
if (!(typeNode is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2532,8 +2525,7 @@ public override SyntaxNode SetIsAbstract(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();
}
......@@ -2562,8 +2554,7 @@ public override bool GetIsConstant(SyntaxNode variableNode)
return true;
}
var member = GetNodeWithModifiers(variableNode) as MemberDeclarationSyntax;
if (member == null)
if (!(GetNodeWithModifiers(variableNode) is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2586,8 +2577,7 @@ public override SyntaxNode SetIsConstant(SyntaxNode variableNode, bool value)
return variableNode;
}
var member = variableNode as MemberDeclarationSyntax;
if (member == null)
if (!(variableNode is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2615,8 +2605,7 @@ public override bool GetIsDefault(SyntaxNode propertyNode)
{
Debug.Assert(propertyNode is BasePropertyDeclarationSyntax);
var property = propertyNode as BasePropertyDeclarationSyntax;
if (property == null)
if (!(propertyNode is BasePropertyDeclarationSyntax property))
{
throw Exceptions.ThrowEFail();
}
......@@ -2634,8 +2623,7 @@ public override bool GetIsGeneric(SyntaxNode memberNode)
{
Debug.Assert(memberNode is MemberDeclarationSyntax);
var member = GetNodeWithModifiers(memberNode) as MemberDeclarationSyntax;
if (member == null)
if (!(GetNodeWithModifiers(memberNode) is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2656,8 +2644,7 @@ public override bool GetIsShared(SyntaxNode memberNode, ISymbol symbol)
Debug.Assert(memberNode is MemberDeclarationSyntax ||
memberNode is VariableDeclaratorSyntax);
var member = GetNodeWithModifiers(memberNode) as MemberDeclarationSyntax;
if (member == null)
if (!(GetNodeWithModifiers(memberNode) is MemberDeclarationSyntax member))
{
throw Exceptions.ThrowEFail();
}
......@@ -2669,8 +2656,7 @@ public override SyntaxNode SetIsShared(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();
}
......@@ -3715,11 +3701,9 @@ public override object GetTypeExtender(string name, AbstractCodeType symbol)
protected override bool AddBlankLineToMethodBody(SyntaxNode node, SyntaxNode newNode)
{
var newMethodDeclaration = newNode as MethodDeclarationSyntax;
return node is MethodDeclarationSyntax methodDeclaration
&& methodDeclaration.Body == null
&& newMethodDeclaration != null
&& newNode is MethodDeclarationSyntax newMethodDeclaration
&& newMethodDeclaration.Body != null;
}
......
......@@ -191,8 +191,7 @@ private async Task<string> DetermineIfEventHookupAndGetHandlerNameAsync(Document
private IEventSymbol GetEventSymbol(SemanticModel semanticModel, SyntaxToken plusEqualsToken, CancellationToken cancellationToken)
{
AssertIsBackground();
var parentToken = plusEqualsToken.Parent as AssignmentExpressionSyntax;
if (parentToken == null)
if (!(plusEqualsToken.Parent is AssignmentExpressionSyntax parentToken))
{
return null;
}
......@@ -254,7 +253,8 @@ private string GetNameObjectPart(IEventSymbol eventSymbol, SyntaxToken plusEqual
// Note: For generic, it's ok(it's even a good idea) to exclude type variables,
// because the name is only used as a prefix for the method name.
var typeDeclaration = syntaxFactsService.GetContainingTypeDeclaration(
return syntaxFactsService.GetContainingTypeDeclaration(
semanticModel.SyntaxTree.GetRoot(),
plusEqualsToken.SpanStart) as BaseTypeDeclarationSyntax;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册