提交 0905634a 编写于 作者: C CyrusNajmabadi

Use patterns in more places.

上级 40f44bed
......@@ -1155,9 +1155,9 @@ private static long IntegralValue(object value)
return (long)value;
}
if (value is int)
if (value is int i)
{
return (int)value;
return i;
}
return 0;
......
......@@ -254,17 +254,17 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
{
return CompareMethodDeclarations((BaseMethodDeclarationSyntax)oldMember, (BaseMethodDeclarationSyntax)newMember, newNodeParent, eventQueue);
}
else if (oldMember is BaseFieldDeclarationSyntax)
else if (oldMember is BaseFieldDeclarationSyntax baseField)
{
return CompareFieldDeclarations((BaseFieldDeclarationSyntax)oldMember, (BaseFieldDeclarationSyntax)newMember, newNodeParent, eventQueue);
return CompareFieldDeclarations(baseField, (BaseFieldDeclarationSyntax)newMember, newNodeParent, eventQueue);
}
else if (oldMember is BasePropertyDeclarationSyntax)
else if (oldMember is BasePropertyDeclarationSyntax baseProperty)
{
return ComparePropertyDeclarations((BasePropertyDeclarationSyntax)oldMember, (BasePropertyDeclarationSyntax)newMember, newNodeParent, eventQueue);
return ComparePropertyDeclarations(baseProperty, (BasePropertyDeclarationSyntax)newMember, newNodeParent, eventQueue);
}
else if (oldMember is EnumMemberDeclarationSyntax)
else if (oldMember is EnumMemberDeclarationSyntax enumMember)
{
return CompareEnumMemberDeclarations((EnumMemberDeclarationSyntax)oldMember, (EnumMemberDeclarationSyntax)newMember, newNodeParent, eventQueue);
return CompareEnumMemberDeclarations(enumMember, (EnumMemberDeclarationSyntax)newMember, newNodeParent, eventQueue);
}
throw new NotImplementedException();
......@@ -335,9 +335,8 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
CodeModelEventType.Unknown,
eventQueue);
if (oldProperty is IndexerDeclarationSyntax)
if (oldProperty is IndexerDeclarationSyntax oldIndexer)
{
var oldIndexer = (IndexerDeclarationSyntax)oldProperty;
var newIndexer = (IndexerDeclarationSyntax)newProperty;
same &= CompareChildren(
CompareParameters,
......@@ -528,9 +527,8 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
return false;
}
if (oldMember is BaseTypeDeclarationSyntax)
if (oldMember is BaseTypeDeclarationSyntax oldType)
{
var oldType = (BaseTypeDeclarationSyntax)oldMember;
var newType = (BaseTypeDeclarationSyntax)newMember;
var oldMembers = GetValidMembers(oldType);
......@@ -590,9 +588,8 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
return same;
}
else if (oldMember is DelegateDeclarationSyntax)
else if (oldMember is DelegateDeclarationSyntax oldDelegate)
{
var oldDelegate = (DelegateDeclarationSyntax)oldMember;
var newDelegate = (DelegateDeclarationSyntax)newMember;
bool same = true;
......@@ -673,9 +670,9 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
{
return CompareTypeDeclarations(oldNamespaceOrType, newNamespaceOrType, newNodeParent, eventQueue);
}
else if (oldNamespaceOrType is NamespaceDeclarationSyntax)
else if (oldNamespaceOrType is NamespaceDeclarationSyntax namespaceDecl)
{
return CompareNamespaceDeclarations((NamespaceDeclarationSyntax)oldNamespaceOrType, (NamespaceDeclarationSyntax)newNamespaceOrType, newNodeParent, eventQueue);
return CompareNamespaceDeclarations(namespaceDecl, (NamespaceDeclarationSyntax)newNamespaceOrType, newNodeParent, eventQueue);
}
return false;
......@@ -837,13 +834,13 @@ private bool CompareTypes(TypeSyntax oldType, TypeSyntax newType)
private TypeSyntax GetReturnType(BaseMethodDeclarationSyntax method)
{
if (method is MethodDeclarationSyntax)
if (method is MethodDeclarationSyntax methodDecl)
{
return ((MethodDeclarationSyntax)method).ReturnType;
return methodDecl.ReturnType;
}
else if (method is OperatorDeclarationSyntax)
else if (method is OperatorDeclarationSyntax operatorDecl)
{
return ((OperatorDeclarationSyntax)method).ReturnType;
return operatorDecl.ReturnType;
}
// TODO(DustinCa): What about conversion operators? How does the legacy code base handle those?
......@@ -868,23 +865,23 @@ protected override void EnqueueAddEvent(SyntaxNode node, SyntaxNode parent, Code
return;
}
if (node is BaseFieldDeclarationSyntax)
if (node is BaseFieldDeclarationSyntax baseField)
{
foreach (var variableDeclarator in ((BaseFieldDeclarationSyntax)node).Declaration.Variables)
foreach (var variableDeclarator in baseField.Declaration.Variables)
{
eventQueue.EnqueueAddEvent(variableDeclarator, parent);
}
}
else if (node is AttributeListSyntax)
else if (node is AttributeListSyntax attributeList)
{
foreach (var attribute in ((AttributeListSyntax)node).Attributes)
foreach (var attribute in attributeList.Attributes)
{
AddEventToEventQueueForAttributes(attribute, parent, eventQueue.EnqueueAddEvent);
}
}
else if (node is AttributeSyntax)
else if (node is AttributeSyntax attribute)
{
AddEventToEventQueueForAttributes((AttributeSyntax)node, parent, eventQueue.EnqueueAddEvent);
AddEventToEventQueueForAttributes(attribute, parent, eventQueue.EnqueueAddEvent);
}
else
{
......@@ -904,23 +901,23 @@ protected override void EnqueueChangeEvent(SyntaxNode node, SyntaxNode parent, C
return;
}
if (node is BaseFieldDeclarationSyntax)
if (node is BaseFieldDeclarationSyntax baseField)
{
foreach (var variableDeclarator in ((BaseFieldDeclarationSyntax)node).Declaration.Variables)
foreach (var variableDeclarator in baseField.Declaration.Variables)
{
eventQueue.EnqueueChangeEvent(variableDeclarator, parent, eventType);
}
}
else if (node is AttributeListSyntax)
else if (node is AttributeListSyntax attributeList)
{
foreach (var attribute in ((AttributeListSyntax)node).Attributes)
foreach (var attribute in attributeList.Attributes)
{
ChangeEventQueueForAttributes(attribute, parent, eventType, eventQueue);
}
}
else if (node is AttributeSyntax)
else if (node is AttributeSyntax attribute)
{
ChangeEventQueueForAttributes((AttributeSyntax)node, parent, eventType, eventQueue);
ChangeEventQueueForAttributes(attribute, parent, eventType, eventQueue);
}
else
{
......@@ -930,9 +927,9 @@ protected override void EnqueueChangeEvent(SyntaxNode node, SyntaxNode parent, C
private static void ChangeEventQueueForAttributes(AttributeSyntax attribute, SyntaxNode parent, CodeModelEventType eventType, CodeModelEventQueue eventQueue)
{
if (parent is BaseFieldDeclarationSyntax)
if (parent is BaseFieldDeclarationSyntax baseField)
{
foreach (var variableDeclarator in ((BaseFieldDeclarationSyntax)parent).Declaration.Variables)
foreach (var variableDeclarator in baseField.Declaration.Variables)
{
eventQueue.EnqueueChangeEvent(attribute, variableDeclarator, eventType);
}
......@@ -955,23 +952,23 @@ protected override void EnqueueRemoveEvent(SyntaxNode node, SyntaxNode parent, C
return;
}
if (node is BaseFieldDeclarationSyntax)
if (node is BaseFieldDeclarationSyntax baseField)
{
foreach (var variableDeclarator in ((BaseFieldDeclarationSyntax)node).Declaration.Variables)
foreach (var variableDeclarator in baseField.Declaration.Variables)
{
eventQueue.EnqueueRemoveEvent(variableDeclarator, parent);
}
}
else if (node is AttributeListSyntax)
else if (node is AttributeListSyntax attributeList)
{
foreach (var attribute in ((AttributeListSyntax)node).Attributes)
foreach (var attribute in attributeList.Attributes)
{
AddEventToEventQueueForAttributes(attribute, parent, eventQueue.EnqueueRemoveEvent);
}
}
else if (node is AttributeSyntax)
else if (node is AttributeSyntax attribute)
{
AddEventToEventQueueForAttributes((AttributeSyntax)node, parent, eventQueue.EnqueueRemoveEvent);
AddEventToEventQueueForAttributes(attribute, parent, eventQueue.EnqueueRemoveEvent);
}
else
{
......@@ -981,9 +978,9 @@ protected override void EnqueueRemoveEvent(SyntaxNode node, SyntaxNode parent, C
private void AddEventToEventQueueForAttributes(AttributeSyntax attribute, SyntaxNode parent, Action<SyntaxNode, SyntaxNode> enqueueAddOrRemoveEvent)
{
if (parent is BaseFieldDeclarationSyntax)
if (parent is BaseFieldDeclarationSyntax baseField)
{
foreach (var variableDeclarator in ((BaseFieldDeclarationSyntax)parent).Declaration.Variables)
foreach (var variableDeclarator in baseField.Declaration.Variables)
{
enqueueAddOrRemoveEvent(attribute, variableDeclarator);
}
......
......@@ -294,46 +294,46 @@ private static IEnumerable<SyntaxNode> GetAttributeNodes(SyntaxList<AttributeLis
public override IEnumerable<SyntaxNode> GetAttributeNodes(SyntaxNode parent)
{
if (parent is CompilationUnitSyntax)
if (parent is CompilationUnitSyntax compilationUnit)
{
return GetAttributeNodes(((CompilationUnitSyntax)parent).AttributeLists);
return GetAttributeNodes(compilationUnit.AttributeLists);
}
else if (parent is BaseTypeDeclarationSyntax)
else if (parent is BaseTypeDeclarationSyntax baseType)
{
return GetAttributeNodes(((BaseTypeDeclarationSyntax)parent).AttributeLists);
return GetAttributeNodes(baseType.AttributeLists);
}
else if (parent is BaseMethodDeclarationSyntax)
else if (parent is BaseMethodDeclarationSyntax baseMethod)
{
return GetAttributeNodes(((BaseMethodDeclarationSyntax)parent).AttributeLists);
return GetAttributeNodes(baseMethod.AttributeLists);
}
else if (parent is BasePropertyDeclarationSyntax)
else if (parent is BasePropertyDeclarationSyntax baseProperty)
{
return GetAttributeNodes(((BasePropertyDeclarationSyntax)parent).AttributeLists);
return GetAttributeNodes(baseProperty.AttributeLists);
}
else if (parent is BaseFieldDeclarationSyntax)
else if (parent is BaseFieldDeclarationSyntax baseField)
{
return GetAttributeNodes(((BaseFieldDeclarationSyntax)parent).AttributeLists);
return GetAttributeNodes(baseField.AttributeLists);
}
else if (parent is DelegateDeclarationSyntax)
else if (parent is DelegateDeclarationSyntax delegateDecl)
{
return GetAttributeNodes(((DelegateDeclarationSyntax)parent).AttributeLists);
return GetAttributeNodes(delegateDecl.AttributeLists);
}
else if (parent is EnumMemberDeclarationSyntax)
else if (parent is EnumMemberDeclarationSyntax enumMember)
{
return GetAttributeNodes(((EnumMemberDeclarationSyntax)parent).AttributeLists);
return GetAttributeNodes(enumMember.AttributeLists);
}
else if (parent is ParameterSyntax)
else if (parent is ParameterSyntax parameter)
{
return GetAttributeNodes(((ParameterSyntax)parent).AttributeLists);
return GetAttributeNodes(parameter.AttributeLists);
}
else if (parent is VariableDeclaratorSyntax ||
parent is VariableDeclarationSyntax)
{
return GetAttributeNodes(parent.Parent);
}
else if (parent is AccessorDeclarationSyntax)
else if (parent is AccessorDeclarationSyntax accessor)
{
return GetAttributeNodes(((AccessorDeclarationSyntax)parent).AttributeLists);
return GetAttributeNodes(accessor.AttributeLists);
}
return SpecializedCollections.EmptyEnumerable<SyntaxNode>();
......@@ -341,10 +341,8 @@ public override IEnumerable<SyntaxNode> GetAttributeNodes(SyntaxNode parent)
public override IEnumerable<SyntaxNode> GetAttributeArgumentNodes(SyntaxNode parent)
{
if (parent is AttributeSyntax)
if (parent is AttributeSyntax attribute)
{
var attribute = (AttributeSyntax)parent;
if (attribute.ArgumentList == null)
{
return SpecializedCollections.EmptyEnumerable<SyntaxNode>();
......@@ -380,9 +378,9 @@ public override IEnumerable<SyntaxNode> GetImplementsNodes(SyntaxNode parent)
private static IEnumerable<MemberDeclarationSyntax> GetChildMemberNodes(SyntaxNode container)
{
if (container is CompilationUnitSyntax)
if (container is CompilationUnitSyntax compilationUnit)
{
foreach (var member in ((CompilationUnitSyntax)container).Members)
foreach (var member in compilationUnit.Members)
{
if (IsNamespaceOrTypeDeclaration(member))
{
......@@ -390,9 +388,9 @@ private static IEnumerable<MemberDeclarationSyntax> GetChildMemberNodes(SyntaxNo
}
}
}
else if (container is NamespaceDeclarationSyntax)
else if (container is NamespaceDeclarationSyntax namespaceDecl)
{
foreach (var member in ((NamespaceDeclarationSyntax)container).Members)
foreach (var member in namespaceDecl.Members)
{
if (IsNamespaceOrTypeDeclaration(member))
{
......@@ -400,9 +398,9 @@ private static IEnumerable<MemberDeclarationSyntax> GetChildMemberNodes(SyntaxNo
}
}
}
else if (container is TypeDeclarationSyntax)
else if (container is TypeDeclarationSyntax typeDecl)
{
foreach (var member in ((TypeDeclarationSyntax)container).Members)
foreach (var member in typeDecl.Members)
{
if (member.Kind() != SyntaxKind.NamespaceDeclaration)
{
......@@ -410,9 +408,9 @@ private static IEnumerable<MemberDeclarationSyntax> GetChildMemberNodes(SyntaxNo
}
}
}
else if (container is EnumDeclarationSyntax)
else if (container is EnumDeclarationSyntax enumDecl)
{
foreach (var member in ((EnumDeclarationSyntax)container).Members)
foreach (var member in enumDecl.Members)
{
yield return member;
}
......@@ -452,7 +450,7 @@ public override IEnumerable<SyntaxNode> GetMemberNodes(SyntaxNode container, boo
foreach (var member in GetChildMemberNodes(container))
{
if (member is BaseFieldDeclarationSyntax)
if (member is BaseFieldDeclarationSyntax baseField)
{
// For fields, the 'logical' and 'supported' flags are intrinsically tied.
// * If 'logical' is true, only declarators should be returned, regardless of the value of 'supported'.
......@@ -460,7 +458,7 @@ public override IEnumerable<SyntaxNode> GetMemberNodes(SyntaxNode container, boo
if (logicalFields)
{
foreach (var declarator in ((BaseFieldDeclarationSyntax)member).Declaration.Variables)
foreach (var declarator in baseField.Declaration.Variables)
{
// We know that variable declarators are supported, so there's no need to check them here.
yield return declarator;
......@@ -653,15 +651,14 @@ public override EnvDTE.CodeTypeRef CreateCodeTypeRef(CodeModelState state, Proje
string typeName;
object parent = null;
if (type is EnvDTE.CodeType)
if (type is EnvDTE.CodeType codeType)
{
var codeType = (EnvDTE.CodeType)type;
typeName = codeType.FullName;
parent = codeType;
}
else if (type is string)
else if (type is string str)
{
typeName = (string)type;
typeName = str;
}
else
{
......@@ -967,9 +964,9 @@ public override string GetFullName(SyntaxNode node, SemanticModel semanticModel)
public override string GetFullyQualifiedName(string name, int position, SemanticModel semanticModel)
{
var typeName = SyntaxFactory.ParseTypeName(name);
if (typeName is PredefinedTypeSyntax)
if (typeName is PredefinedTypeSyntax predefinedTypeNode)
{
if (SyntaxFactsService.TryGetPredefinedType(((PredefinedTypeSyntax)typeName).Keyword, out var predefinedType))
if (SyntaxFactsService.TryGetPredefinedType(predefinedTypeNode.Keyword, out var predefinedType))
{
var specialType = predefinedType.ToSpecialType();
return semanticModel.Compilation.GetSpecialType(specialType).GetEscapedFullName();
......@@ -1461,17 +1458,17 @@ public override SyntaxNode SetDocComment(SyntaxNode node, string value)
public override IEnumerable<SyntaxNode> GetParameterNodes(SyntaxNode parentNode)
{
if (parentNode is BaseMethodDeclarationSyntax)
if (parentNode is BaseMethodDeclarationSyntax baseMethod)
{
return ((BaseMethodDeclarationSyntax)parentNode).ParameterList.Parameters;
return baseMethod.ParameterList.Parameters;
}
else if (parentNode is IndexerDeclarationSyntax)
else if (parentNode is IndexerDeclarationSyntax indexer)
{
return ((IndexerDeclarationSyntax)parentNode).ParameterList.Parameters;
return indexer.ParameterList.Parameters;
}
else if (parentNode is DelegateDeclarationSyntax)
else if (parentNode is DelegateDeclarationSyntax delegateDecl)
{
return ((DelegateDeclarationSyntax)parentNode).ParameterList.Parameters;
return delegateDecl.ParameterList.Parameters;
}
return SpecializedCollections.EmptyEnumerable<ParameterSyntax>();
......@@ -2767,13 +2764,13 @@ public override SyntaxNode SetType(SyntaxNode node, ITypeSymbol typeSymbol)
node is ParameterSyntax);
TypeSyntax oldType;
if (node is MemberDeclarationSyntax)
if (node is MemberDeclarationSyntax memberDeclaration)
{
oldType = ((MemberDeclarationSyntax)node).GetMemberType();
oldType = memberDeclaration.GetMemberType();
}
else if (node is ParameterSyntax)
else if (node is ParameterSyntax parameter)
{
oldType = ((ParameterSyntax)node).Type;
oldType = parameter.Type;
}
else
{
......@@ -3277,28 +3274,23 @@ protected override TextSpan GetSpanToFormat(SyntaxNode root, TextSpan span)
protected SyntaxNode InsertMemberNodeIntoContainerCore(int index, SyntaxNode member, SyntaxNode container)
{
if (container is CompilationUnitSyntax)
if (container is CompilationUnitSyntax compilationUnit)
{
var compilationUnit = (CompilationUnitSyntax)container;
var newMembers = compilationUnit.Members.Insert(index, (MemberDeclarationSyntax)member);
return compilationUnit.WithMembers(newMembers);
}
else if (container is NamespaceDeclarationSyntax)
else if (container is NamespaceDeclarationSyntax namespaceDeclaration)
{
var namespaceDeclaration = (NamespaceDeclarationSyntax)container;
var newMembers = namespaceDeclaration.Members.Insert(index, (MemberDeclarationSyntax)member);
return namespaceDeclaration.WithMembers(newMembers);
}
else if (container is TypeDeclarationSyntax)
else if (container is TypeDeclarationSyntax typeDeclaration)
{
var typeDeclaration = (TypeDeclarationSyntax)container;
var newMembers = typeDeclaration.Members.Insert(index, (MemberDeclarationSyntax)member);
return typeDeclaration.WithMembers(newMembers);
}
else if (container is EnumDeclarationSyntax)
else if (container is EnumDeclarationSyntax enumDeclaration)
{
var enumDeclaration = (EnumDeclarationSyntax)container;
// If we're inserting at the end of the list of enum members, we may need to strip the trailing
// line from the last enum member and add it to the separator that comes after it.
if (index > 0 && index == enumDeclaration.Members.Count)
......@@ -3325,24 +3317,20 @@ protected SyntaxNode InsertMemberNodeIntoContainerCore(int index, SyntaxNode mem
private static MemberDeclarationSyntax GetMember(SyntaxNode container, int index)
{
if (container is CompilationUnitSyntax)
if (container is CompilationUnitSyntax compilationUnit)
{
var compilationUnit = (CompilationUnitSyntax)container;
return compilationUnit.Members[index];
}
else if (container is NamespaceDeclarationSyntax)
else if (container is NamespaceDeclarationSyntax namespaceDeclaration)
{
var namespaceDeclaration = (NamespaceDeclarationSyntax)container;
return namespaceDeclaration.Members[index];
}
else if (container is TypeDeclarationSyntax)
else if (container is TypeDeclarationSyntax typeDeclaration)
{
var typeDeclaration = (TypeDeclarationSyntax)container;
return typeDeclaration.Members[index];
}
else if (container is EnumDeclarationSyntax)
else if (container is EnumDeclarationSyntax enumDeclaration)
{
var enumDeclaration = (EnumDeclarationSyntax)container;
return enumDeclaration.Members[index];
}
......@@ -3389,9 +3377,8 @@ protected override SyntaxNode InsertMemberNodeIntoContainer(int index, SyntaxNod
protected override SyntaxNode InsertAttributeArgumentIntoContainer(int index, SyntaxNode attributeArgument, SyntaxNode container)
{
if (container is AttributeSyntax)
if (container is AttributeSyntax attribute)
{
var attribute = (AttributeSyntax)container;
var argumentList = attribute.ArgumentList;
AttributeArgumentListSyntax newArgumentList;
......@@ -3430,111 +3417,93 @@ protected override SyntaxNode InsertAttributeListIntoContainer(int index, Syntax
}
}
if (container is CompilationUnitSyntax)
if (container is CompilationUnitSyntax compilationUnit)
{
var compilationUnit = (CompilationUnitSyntax)container;
var newAttributeLists = compilationUnit.AttributeLists.Insert(index, (AttributeListSyntax)list);
return compilationUnit.WithAttributeLists(newAttributeLists);
}
else if (container is EnumDeclarationSyntax)
else if (container is EnumDeclarationSyntax enumDeclaration)
{
var enumDeclaration = (EnumDeclarationSyntax)container;
var newAttributeLists = enumDeclaration.AttributeLists.Insert(index, (AttributeListSyntax)list);
return enumDeclaration.WithAttributeLists(newAttributeLists);
}
else if (container is ClassDeclarationSyntax)
else if (container is ClassDeclarationSyntax classDeclaration)
{
var classDeclaration = (ClassDeclarationSyntax)container;
var newAttributeLists = classDeclaration.AttributeLists.Insert(index, (AttributeListSyntax)list);
return classDeclaration.WithAttributeLists(newAttributeLists);
}
else if (container is StructDeclarationSyntax)
else if (container is StructDeclarationSyntax structDeclaration)
{
var structDeclaration = (StructDeclarationSyntax)container;
var newAttributeLists = structDeclaration.AttributeLists.Insert(index, (AttributeListSyntax)list);
return structDeclaration.WithAttributeLists(newAttributeLists);
}
else if (container is InterfaceDeclarationSyntax)
else if (container is InterfaceDeclarationSyntax interfaceDeclaration)
{
var interfaceDeclaration = (InterfaceDeclarationSyntax)container;
var newAttributeLists = interfaceDeclaration.AttributeLists.Insert(index, (AttributeListSyntax)list);
return interfaceDeclaration.WithAttributeLists(newAttributeLists);
}
else if (container is MethodDeclarationSyntax)
else if (container is MethodDeclarationSyntax method)
{
var method = (MethodDeclarationSyntax)container;
var newAttributeLists = method.AttributeLists.Insert(index, (AttributeListSyntax)list);
return method.WithAttributeLists(newAttributeLists);
}
else if (container is OperatorDeclarationSyntax)
else if (container is OperatorDeclarationSyntax operationDeclaration)
{
var operationDeclaration = (OperatorDeclarationSyntax)container;
var newAttributeLists = operationDeclaration.AttributeLists.Insert(index, (AttributeListSyntax)list);
return operationDeclaration.WithAttributeLists(newAttributeLists);
}
else if (container is ConversionOperatorDeclarationSyntax)
else if (container is ConversionOperatorDeclarationSyntax conversion)
{
var conversion = (ConversionOperatorDeclarationSyntax)container;
var newAttributeLists = conversion.AttributeLists.Insert(index, (AttributeListSyntax)list);
return conversion.WithAttributeLists(newAttributeLists);
}
else if (container is ConstructorDeclarationSyntax)
else if (container is ConstructorDeclarationSyntax constructor)
{
var constructor = (ConstructorDeclarationSyntax)container;
var newAttributeLists = constructor.AttributeLists.Insert(index, (AttributeListSyntax)list);
return constructor.WithAttributeLists(newAttributeLists);
}
else if (container is DestructorDeclarationSyntax)
else if (container is DestructorDeclarationSyntax destructor)
{
var destructor = (DestructorDeclarationSyntax)container;
var newAttributeLists = destructor.AttributeLists.Insert(index, (AttributeListSyntax)list);
return destructor.WithAttributeLists(newAttributeLists);
}
else if (container is PropertyDeclarationSyntax)
else if (container is PropertyDeclarationSyntax property)
{
var property = (PropertyDeclarationSyntax)container;
var newAttributeLists = property.AttributeLists.Insert(index, (AttributeListSyntax)list);
return property.WithAttributeLists(newAttributeLists);
}
else if (container is EventDeclarationSyntax)
else if (container is EventDeclarationSyntax eventDeclaration)
{
var eventDeclaration = (EventDeclarationSyntax)container;
var newAttributeLists = eventDeclaration.AttributeLists.Insert(index, (AttributeListSyntax)list);
return eventDeclaration.WithAttributeLists(newAttributeLists);
}
else if (container is IndexerDeclarationSyntax)
else if (container is IndexerDeclarationSyntax indexer)
{
var indexer = (IndexerDeclarationSyntax)container;
var newAttributeLists = indexer.AttributeLists.Insert(index, (AttributeListSyntax)list);
return indexer.WithAttributeLists(newAttributeLists);
}
else if (container is FieldDeclarationSyntax)
else if (container is FieldDeclarationSyntax field)
{
var field = (FieldDeclarationSyntax)container;
var newAttributeLists = field.AttributeLists.Insert(index, (AttributeListSyntax)list);
return field.WithAttributeLists(newAttributeLists);
}
else if (container is EventFieldDeclarationSyntax)
else if (container is EventFieldDeclarationSyntax eventFieldDeclaration)
{
var eventFieldDeclaration = (EventFieldDeclarationSyntax)container;
var newAttributeLists = eventFieldDeclaration.AttributeLists.Insert(index, (AttributeListSyntax)list);
return eventFieldDeclaration.WithAttributeLists(newAttributeLists);
}
else if (container is DelegateDeclarationSyntax)
else if (container is DelegateDeclarationSyntax delegateDeclaration)
{
var delegateDeclaration = (DelegateDeclarationSyntax)container;
var newAttributeLists = delegateDeclaration.AttributeLists.Insert(index, (AttributeListSyntax)list);
return delegateDeclaration.WithAttributeLists(newAttributeLists);
}
else if (container is EnumMemberDeclarationSyntax)
else if (container is EnumMemberDeclarationSyntax member)
{
var member = (EnumMemberDeclarationSyntax)container;
var newAttributeLists = member.AttributeLists.Insert(index, (AttributeListSyntax)list);
return member.WithAttributeLists(newAttributeLists);
}
else if (container is ParameterSyntax)
else if (container is ParameterSyntax parameter)
{
var parameter = (ParameterSyntax)container;
var newAttributeLists = parameter.AttributeLists.Insert(index, (AttributeListSyntax)list);
return parameter.WithAttributeLists(newAttributeLists);
}
......@@ -3551,9 +3520,8 @@ protected override SyntaxNode InsertImportIntoContainer(int index, SyntaxNode im
{
var import = (UsingDirectiveSyntax)importNode;
if (container is CompilationUnitSyntax)
if (container is CompilationUnitSyntax compilationUnit)
{
var compilationUnit = (CompilationUnitSyntax)container;
var usingsList = compilationUnit.Usings.Insert(index, import);
return compilationUnit.WithUsings(usingsList);
}
......@@ -3563,21 +3531,18 @@ protected override SyntaxNode InsertImportIntoContainer(int index, SyntaxNode im
protected override SyntaxNode InsertParameterIntoContainer(int index, SyntaxNode parameter, SyntaxNode container)
{
if (container is BaseMethodDeclarationSyntax)
if (container is BaseMethodDeclarationSyntax method)
{
var method = (BaseMethodDeclarationSyntax)container;
var parameterList = method.ParameterList.Parameters.Insert(index, (ParameterSyntax)parameter);
return method.WithParameterList(method.ParameterList.WithParameters(parameterList));
}
else if (container is IndexerDeclarationSyntax)
else if (container is IndexerDeclarationSyntax indexer)
{
var indexer = (IndexerDeclarationSyntax)container;
var parameterList = indexer.ParameterList.Parameters.Insert(index, (ParameterSyntax)parameter);
return indexer.WithParameterList(indexer.ParameterList.WithParameters(parameterList));
}
else if (container is DelegateDeclarationSyntax)
else if (container is DelegateDeclarationSyntax delegateDeclaration)
{
var delegateDeclaration = (DelegateDeclarationSyntax)container;
var parameterList = delegateDeclaration.ParameterList.Parameters.Insert(index, (ParameterSyntax)parameter);
return delegateDeclaration.WithParameterList(delegateDeclaration.ParameterList.WithParameters(parameterList));
}
......
......@@ -9,44 +9,44 @@ internal static class SyntaxNodeExtensions
{
public static bool TryGetAttributeLists(this SyntaxNode node, out SyntaxList<AttributeListSyntax> attributeLists)
{
if (node is CompilationUnitSyntax)
if (node is CompilationUnitSyntax compilationUnit)
{
attributeLists = ((CompilationUnitSyntax)node).AttributeLists;
attributeLists = compilationUnit.AttributeLists;
return true;
}
else if (node is BaseTypeDeclarationSyntax)
else if (node is BaseTypeDeclarationSyntax baseType)
{
attributeLists = ((BaseTypeDeclarationSyntax)node).AttributeLists;
attributeLists = baseType.AttributeLists;
return true;
}
else if (node is BaseMethodDeclarationSyntax)
else if (node is BaseMethodDeclarationSyntax baseMethod)
{
attributeLists = ((BaseMethodDeclarationSyntax)node).AttributeLists;
attributeLists = baseMethod.AttributeLists;
return true;
}
else if (node is BasePropertyDeclarationSyntax)
else if (node is BasePropertyDeclarationSyntax baseProperty)
{
attributeLists = ((BasePropertyDeclarationSyntax)node).AttributeLists;
attributeLists = baseProperty.AttributeLists;
return true;
}
else if (node is BaseFieldDeclarationSyntax)
else if (node is BaseFieldDeclarationSyntax baseField)
{
attributeLists = ((BaseFieldDeclarationSyntax)node).AttributeLists;
attributeLists = baseField.AttributeLists;
return true;
}
else if (node is DelegateDeclarationSyntax)
else if (node is DelegateDeclarationSyntax delegateDeclaration)
{
attributeLists = ((DelegateDeclarationSyntax)node).AttributeLists;
attributeLists = delegateDeclaration.AttributeLists;
return true;
}
else if (node is EnumMemberDeclarationSyntax)
else if (node is EnumMemberDeclarationSyntax enumMember)
{
attributeLists = ((EnumMemberDeclarationSyntax)node).AttributeLists;
attributeLists = enumMember.AttributeLists;
return true;
}
else if (node is ParameterSyntax)
else if (node is ParameterSyntax parameter)
{
attributeLists = ((ParameterSyntax)node).AttributeLists;
attributeLists = parameter.AttributeLists;
return true;
}
......
......@@ -112,46 +112,43 @@ private static void AddSubExpressionTerms(ExpressionSyntax expression, IList<str
// +, -, ++, --, !, etc.
//
// This is a valid expression if it doesn't have obvious side effects (i.e. ++, --)
if (expression is PrefixUnaryExpressionSyntax)
if (expression is PrefixUnaryExpressionSyntax prefixUnary)
{
AddPrefixUnaryExpressionTerms((PrefixUnaryExpressionSyntax)expression, terms, ref expressionType);
AddPrefixUnaryExpressionTerms(prefixUnary, terms, ref expressionType);
return;
}
if (expression is AwaitExpressionSyntax)
if (expression is AwaitExpressionSyntax awaitExpression)
{
AddAwaitExpressionTerms((AwaitExpressionSyntax)expression, terms, ref expressionType);
AddAwaitExpressionTerms(awaitExpression, terms, ref expressionType);
return;
}
if (expression is PostfixUnaryExpressionSyntax)
if (expression is PostfixUnaryExpressionSyntax postfixExpression)
{
AddPostfixUnaryExpressionTerms((PostfixUnaryExpressionSyntax)expression, terms, ref expressionType);
AddPostfixUnaryExpressionTerms(postfixExpression, terms, ref expressionType);
return;
}
if (expression is BinaryExpressionSyntax)
if (expression is BinaryExpressionSyntax binaryExpression)
{
var binaryExpression = (BinaryExpressionSyntax)expression;
AddBinaryExpressionTerms(expression, binaryExpression.Left, binaryExpression.Right, terms, ref expressionType);
return;
}
if (expression is AssignmentExpressionSyntax)
if (expression is AssignmentExpressionSyntax assignmentExpression)
{
var assignmentExpression = (AssignmentExpressionSyntax)expression;
AddBinaryExpressionTerms(expression, assignmentExpression.Left, assignmentExpression.Right, terms, ref expressionType);
return;
}
if (expression is ConditionalExpressionSyntax)
if (expression is ConditionalExpressionSyntax conditional)
{
AddConditionalExpressionTerms((ConditionalExpressionSyntax)expression, terms, ref expressionType);
AddConditionalExpressionTerms(conditional, terms, ref expressionType);
return;
}
var parenthesizedExpression = expression as ParenthesizedExpressionSyntax;
if (parenthesizedExpression != null)
if (expression is ParenthesizedExpressionSyntax parenthesizedExpression)
{
AddSubExpressionTerms(parenthesizedExpression.Expression, terms, ref expressionType);
}
......
......@@ -21,28 +21,27 @@ public void Send(params object[] keys)
foreach (var key in keys)
{
if (key is string)
if (key is string s)
{
var text = ((string)key)
.Replace("\r\n", "\r")
.Replace("\n", "\r");
var text = s.Replace("\r\n", "\r")
.Replace("\n", "\r");
foreach (var ch in text)
{
AddInputs(inputs, ch);
}
}
else if (key is char)
else if (key is char c)
{
AddInputs(inputs, (char)key);
AddInputs(inputs, c);
}
else if (key is VirtualKey)
else if (key is VirtualKey virtualKey)
{
AddInputs(inputs, (VirtualKey)key);
AddInputs(inputs, virtualKey);
}
else if (key is KeyPress)
else if (key is KeyPress keyPress)
{
AddInputs(inputs, (KeyPress)key);
AddInputs(inputs, keyPress);
}
else if (key == null)
{
......
......@@ -84,9 +84,9 @@ public IEnumerable<T> GetGlobalAssetsOfType<T>(CancellationToken cancellationTok
cancellationToken.ThrowIfCancellationRequested();
var value = asset.Value.Object;
if (value is T)
if (value is T tValue)
{
yield return (T)value;
yield return tValue;
}
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册