diff --git a/ChangeLog.md b/ChangeLog.md
index d72b386a08..4ab537bd71 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- [CLI] Bump Roslyn to 4.6.0 ([#1106](https://github.com/josefpihrt/roslynator/pull/1106)).
+- Bump Roslyn to 4.4.0 ([#1116](https://github.com/josefpihrt/roslynator/pull/1116)).
### Fixed
diff --git a/src/Analyzers.CodeFixes/Analyzers.CodeFixes.csproj b/src/Analyzers.CodeFixes/Analyzers.CodeFixes.csproj
index ea36b045b0..e9ec95fcb6 100644
--- a/src/Analyzers.CodeFixes/Analyzers.CodeFixes.csproj
+++ b/src/Analyzers.CodeFixes/Analyzers.CodeFixes.csproj
@@ -18,11 +18,11 @@
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/Analyzers.CodeFixes/CSharp/CodeFixes/ParameterNameDiffersFromBaseCodeFixProvider.cs b/src/Analyzers.CodeFixes/CSharp/CodeFixes/ParameterNameDiffersFromBaseCodeFixProvider.cs
index 65db51452c..b8a34f1061 100644
--- a/src/Analyzers.CodeFixes/CSharp/CodeFixes/ParameterNameDiffersFromBaseCodeFixProvider.cs
+++ b/src/Analyzers.CodeFixes/CSharp/CodeFixes/ParameterNameDiffersFromBaseCodeFixProvider.cs
@@ -84,7 +84,12 @@ public override async Task RegisterCodeFixesAsync(CodeFixContext context)
CodeAction codeAction = CodeAction.Create(
$"Rename '{oldName}' to '{newName}'",
- ct => Renamer.RenameSymbolAsync(context.Document.Solution(), parameterSymbol, newName, default(OptionSet), ct),
+ ct => Renamer.RenameSymbolAsync(
+ context.Document.Solution(),
+ parameterSymbol,
+ default(SymbolRenameOptions),
+ newName,
+ ct),
GetEquivalenceKey(diagnostic));
context.RegisterCodeFix(codeAction, diagnostic);
diff --git a/src/Analyzers.CodeFixes/CSharp/CodeFixes/UnusedParameterCodeFixProvider.cs b/src/Analyzers.CodeFixes/CSharp/CodeFixes/UnusedParameterCodeFixProvider.cs
index 2ed10d5d3c..2dab1f38be 100644
--- a/src/Analyzers.CodeFixes/CSharp/CodeFixes/UnusedParameterCodeFixProvider.cs
+++ b/src/Analyzers.CodeFixes/CSharp/CodeFixes/UnusedParameterCodeFixProvider.cs
@@ -68,8 +68,6 @@ private static async Task RefactorAsync(
string newName = NameGenerators.UnderscoreSuffix.EnsureUniqueParameterName("_", anonymousFunctionSymbol, semanticModel, cancellationToken: cancellationToken);
- DocumentOptionSet options = await document.GetOptionsAsync(cancellationToken).ConfigureAwait(false);
-
- return await Renamer.RenameSymbolAsync(document.Solution(), parameterSymbol, newName, options, cancellationToken).ConfigureAwait(false);
+ return await Renamer.RenameSymbolAsync(document.Solution(), parameterSymbol, default(SymbolRenameOptions), newName, cancellationToken).ConfigureAwait(false);
}
}
diff --git a/src/Analyzers/Analyzers.csproj b/src/Analyzers/Analyzers.csproj
index efed7ba1df..dda4e56d2d 100644
--- a/src/Analyzers/Analyzers.csproj
+++ b/src/Analyzers/Analyzers.csproj
@@ -9,14 +9,15 @@
Roslynator.CSharp.Analyzers
Roslynator.CSharp
false
+ true
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/CSharp.Workspaces/CSharp.Workspaces.csproj b/src/CSharp.Workspaces/CSharp.Workspaces.csproj
index baaf1dc028..c9f1485be9 100644
--- a/src/CSharp.Workspaces/CSharp.Workspaces.csproj
+++ b/src/CSharp.Workspaces/CSharp.Workspaces.csproj
@@ -38,8 +38,11 @@ Roslynator.NameGenerator
-
-
+
+ all
+ runtime; build; native; contentfiles; analyzers
+
+
diff --git a/src/CSharp/CSharp.csproj b/src/CSharp/CSharp.csproj
index 2cf9767793..8905dab12c 100644
--- a/src/CSharp/CSharp.csproj
+++ b/src/CSharp/CSharp.csproj
@@ -38,8 +38,11 @@ Roslynator.NameGenerator
-
-
+
+ all
+ runtime; build; native; contentfiles; analyzers
+
+
diff --git a/src/CSharp/CSharp/SyntaxWalkers/CSharpSyntaxNodeWalker.cs b/src/CSharp/CSharp/SyntaxWalkers/CSharpSyntaxNodeWalker.cs
index 8f6238d734..1e9f7cfdb1 100644
--- a/src/CSharp/CSharp/SyntaxWalkers/CSharpSyntaxNodeWalker.cs
+++ b/src/CSharp/CSharp/SyntaxWalkers/CSharpSyntaxNodeWalker.cs
@@ -2562,6 +2562,19 @@ public override void VisitLineSpanDirectiveTrivia(LineSpanDirectiveTriviaSyntax
}
}
+ public override void VisitListPattern(ListPatternSyntax node)
+ {
+ foreach (PatternSyntax pattern in node.Patterns)
+ {
+ if (!ShouldVisit)
+ {
+ return;
+ }
+
+ VisitPattern(pattern);
+ }
+ }
+
public override void VisitLiteralExpression(LiteralExpressionSyntax node)
{
}
@@ -3790,6 +3803,20 @@ public override void VisitReturnStatement(ReturnStatementSyntax node)
}
}
+ public override void VisitScopedType(ScopedTypeSyntax node)
+ {
+ if (!ShouldVisit)
+ {
+ return;
+ }
+
+ TypeSyntax type = node.Type;
+ if (type != null)
+ {
+ VisitType(type);
+ }
+ }
+
public override void VisitSelectClause(SelectClauseSyntax node)
{
if (!ShouldVisit)
@@ -3890,6 +3917,10 @@ public override void VisitSkippedTokensTrivia(SkippedTokensTriviaSyntax node)
{
}
+ public override void VisitSlicePattern(SlicePatternSyntax node)
+ {
+ }
+
public override void VisitStackAllocArrayCreationExpression(StackAllocArrayCreationExpressionSyntax node)
{
if (!ShouldVisit)
@@ -4890,6 +4921,7 @@ protected virtual void VisitExpression(ExpressionSyntax node)
case SyntaxKind.LeftShiftAssignmentExpression:
case SyntaxKind.RightShiftAssignmentExpression:
case SyntaxKind.CoalesceAssignmentExpression:
+ case SyntaxKind.UnsignedRightShiftAssignmentExpression:
VisitAssignmentExpression((AssignmentExpressionSyntax)node);
break;
case SyntaxKind.AwaitExpression:
@@ -4919,6 +4951,7 @@ protected virtual void VisitExpression(ExpressionSyntax node)
case SyntaxKind.IsExpression:
case SyntaxKind.AsExpression:
case SyntaxKind.CoalesceExpression:
+ case SyntaxKind.UnsignedRightShiftExpression:
VisitBinaryExpression((BinaryExpressionSyntax)node);
break;
case SyntaxKind.CastExpression:
@@ -4991,6 +5024,7 @@ protected virtual void VisitExpression(ExpressionSyntax node)
case SyntaxKind.FalseLiteralExpression:
case SyntaxKind.NullLiteralExpression:
case SyntaxKind.DefaultLiteralExpression:
+ case SyntaxKind.Utf8StringLiteralExpression:
VisitLiteralExpression((LiteralExpressionSyntax)node);
break;
case SyntaxKind.MakeRefExpression:
@@ -5064,6 +5098,9 @@ protected virtual void VisitExpression(ExpressionSyntax node)
case SyntaxKind.RefValueExpression:
VisitRefValueExpression((RefValueExpressionSyntax)node);
break;
+ case SyntaxKind.ScopedType:
+ VisitScopedType((ScopedTypeSyntax)node);
+ break;
case SyntaxKind.SimpleLambdaExpression:
VisitSimpleLambdaExpression((SimpleLambdaExpressionSyntax)node);
break;
@@ -5233,6 +5270,9 @@ protected virtual void VisitPattern(PatternSyntax node)
case SyntaxKind.DiscardPattern:
VisitDiscardPattern((DiscardPatternSyntax)node);
break;
+ case SyntaxKind.ListPattern:
+ VisitListPattern((ListPatternSyntax)node);
+ break;
case SyntaxKind.ParenthesizedPattern:
VisitParenthesizedPattern((ParenthesizedPatternSyntax)node);
break;
@@ -5242,6 +5282,9 @@ protected virtual void VisitPattern(PatternSyntax node)
case SyntaxKind.RelationalPattern:
VisitRelationalPattern((RelationalPatternSyntax)node);
break;
+ case SyntaxKind.SlicePattern:
+ VisitSlicePattern((SlicePatternSyntax)node);
+ break;
case SyntaxKind.TypePattern:
VisitTypePattern((TypePatternSyntax)node);
break;
@@ -5489,6 +5532,9 @@ protected virtual void VisitType(TypeSyntax node)
case SyntaxKind.RefType:
VisitRefType((RefTypeSyntax)node);
break;
+ case SyntaxKind.ScopedType:
+ VisitScopedType((ScopedTypeSyntax)node);
+ break;
case SyntaxKind.TupleType:
VisitTupleType((TupleTypeSyntax)node);
break;
diff --git a/src/CodeAnalysis.Analyzers.CodeFixes/CodeAnalysis.Analyzers.CodeFixes.csproj b/src/CodeAnalysis.Analyzers.CodeFixes/CodeAnalysis.Analyzers.CodeFixes.csproj
index e5497bfca6..cbe426102c 100644
--- a/src/CodeAnalysis.Analyzers.CodeFixes/CodeAnalysis.Analyzers.CodeFixes.csproj
+++ b/src/CodeAnalysis.Analyzers.CodeFixes/CodeAnalysis.Analyzers.CodeFixes.csproj
@@ -18,11 +18,11 @@
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/CodeAnalysis.Analyzers/CodeAnalysis.Analyzers.csproj b/src/CodeAnalysis.Analyzers/CodeAnalysis.Analyzers.csproj
index 43d16eb345..9d42b91133 100644
--- a/src/CodeAnalysis.Analyzers/CodeAnalysis.Analyzers.csproj
+++ b/src/CodeAnalysis.Analyzers/CodeAnalysis.Analyzers.csproj
@@ -9,14 +9,15 @@
Roslynator.CodeAnalysis.Analyzers
Roslynator.CodeAnalysis
false
+ true
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/CodeFixes/CodeFixes.csproj b/src/CodeFixes/CodeFixes.csproj
index 0fd0bb486b..08ab78361b 100644
--- a/src/CodeFixes/CodeFixes.csproj
+++ b/src/CodeFixes/CodeFixes.csproj
@@ -19,11 +19,11 @@
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj
index de6f44aacb..4c7c47a3a6 100644
--- a/src/Common/Common.csproj
+++ b/src/Common/Common.csproj
@@ -17,11 +17,11 @@
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj
index da3b6381c2..3021efd9a2 100644
--- a/src/Core/Core.csproj
+++ b/src/Core/Core.csproj
@@ -32,7 +32,7 @@
-
+
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 207476adb6..60720619f9 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -8,6 +8,8 @@
Copyright (c) 2016-2023 Josef Pihrt
false
0024000004800000940000000602000000240000525341310004000001000100d348e1a51bc190259aed17cfe132736241fef462de45a5de6c881c7f9d705073c7a2a08ba5ae493c7e878fe5f3cf7909e89045cca696422f03b284b147daf6b93c47bc53dd61ceeae60f73149d183032f029761d0d59aab49a26be4f6af71cd8194ace937642bdcb515f07530096122e97cfe6c8549a843530f71c24c7e3dab8
+ 4.4.0
+ 3.3.4
4.6.0
diff --git a/src/Formatting.Analyzers.CodeFixes/Formatting.Analyzers.CodeFixes.csproj b/src/Formatting.Analyzers.CodeFixes/Formatting.Analyzers.CodeFixes.csproj
index 7064ccb45b..fc1ab34fdc 100644
--- a/src/Formatting.Analyzers.CodeFixes/Formatting.Analyzers.CodeFixes.csproj
+++ b/src/Formatting.Analyzers.CodeFixes/Formatting.Analyzers.CodeFixes.csproj
@@ -18,11 +18,11 @@
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/Formatting.Analyzers/Formatting.Analyzers.csproj b/src/Formatting.Analyzers/Formatting.Analyzers.csproj
index bb4a933bf6..373b5629e7 100644
--- a/src/Formatting.Analyzers/Formatting.Analyzers.csproj
+++ b/src/Formatting.Analyzers/Formatting.Analyzers.csproj
@@ -9,14 +9,15 @@
Roslynator.Formatting.Analyzers
Roslynator.Formatting
false
+ true
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/Refactorings/CSharp/Refactorings/AddOrRenameParameterRefactoring.cs b/src/Refactorings/CSharp/Refactorings/AddOrRenameParameterRefactoring.cs
index c418d22a7a..cbb75d73b0 100644
--- a/src/Refactorings/CSharp/Refactorings/AddOrRenameParameterRefactoring.cs
+++ b/src/Refactorings/CSharp/Refactorings/AddOrRenameParameterRefactoring.cs
@@ -41,7 +41,7 @@ public static async Task ComputeRefactoringsAsync(RefactoringContext context, Pa
{
context.RegisterRefactoring(
$"Rename '{oldName}' to '{newName}'",
- ct => Renamer.RenameSymbolAsync(context.Solution, parameterSymbol, newName, default(OptionSet), ct),
+ ct => Renamer.RenameSymbolAsync(context.Solution, parameterSymbol, default(SymbolRenameOptions), newName, ct),
RefactoringDescriptors.RenameParameterAccordingToTypeName);
}
}
diff --git a/src/Refactorings/CSharp/Refactorings/DeclarationExpressionRefactoring.cs b/src/Refactorings/CSharp/Refactorings/DeclarationExpressionRefactoring.cs
index b5f3bcb6da..36dcb5e7a6 100644
--- a/src/Refactorings/CSharp/Refactorings/DeclarationExpressionRefactoring.cs
+++ b/src/Refactorings/CSharp/Refactorings/DeclarationExpressionRefactoring.cs
@@ -61,7 +61,7 @@ private static async Task RenameVariableAccordingToTypeNameAsync(
context.RegisterRefactoring(
$"Rename '{oldName}' to '{newName}'",
- ct => Renamer.RenameSymbolAsync(context.Solution, localSymbol, newName, default(OptionSet), ct),
+ ct => Renamer.RenameSymbolAsync(context.Solution, localSymbol, default(SymbolRenameOptions), newName, ct),
RefactoringDescriptors.RenameIdentifierAccordingToTypeName);
}
}
diff --git a/src/Refactorings/CSharp/Refactorings/DeclarationPatternRefactoring.cs b/src/Refactorings/CSharp/Refactorings/DeclarationPatternRefactoring.cs
index 7b829f44d7..d6a7b9c59e 100644
--- a/src/Refactorings/CSharp/Refactorings/DeclarationPatternRefactoring.cs
+++ b/src/Refactorings/CSharp/Refactorings/DeclarationPatternRefactoring.cs
@@ -46,7 +46,7 @@ internal static async Task ComputeRefactoringAsync(RefactoringContext context, D
{
context.RegisterRefactoring(
$"Rename '{oldName}' to '{newName}'",
- ct => Renamer.RenameSymbolAsync(context.Solution, symbol, newName, default(OptionSet), ct),
+ ct => Renamer.RenameSymbolAsync(context.Solution, symbol, default(SymbolRenameOptions), newName, ct),
RefactoringDescriptors.RenameIdentifierAccordingToTypeName);
}
}
diff --git a/src/Refactorings/CSharp/Refactorings/ForEachStatementRefactoring.cs b/src/Refactorings/CSharp/Refactorings/ForEachStatementRefactoring.cs
index bb586584b1..8a41ce81e1 100644
--- a/src/Refactorings/CSharp/Refactorings/ForEachStatementRefactoring.cs
+++ b/src/Refactorings/CSharp/Refactorings/ForEachStatementRefactoring.cs
@@ -163,7 +163,7 @@ internal static async Task RenameIdentifierAccordingToTypeNameAsync(
context.RegisterRefactoring(
$"Rename '{oldName}' to '{newName}'",
- ct => Renamer.RenameSymbolAsync(context.Solution, symbol, newName, default(OptionSet), ct),
+ ct => Renamer.RenameSymbolAsync(context.Solution, symbol, default(SymbolRenameOptions), newName, ct),
RefactoringDescriptors.RenameIdentifierAccordingToTypeName);
}
}
diff --git a/src/Refactorings/CSharp/Refactorings/IdentifierNameRefactoring.cs b/src/Refactorings/CSharp/Refactorings/IdentifierNameRefactoring.cs
index 2e838c7c2d..69cbe5bd9c 100644
--- a/src/Refactorings/CSharp/Refactorings/IdentifierNameRefactoring.cs
+++ b/src/Refactorings/CSharp/Refactorings/IdentifierNameRefactoring.cs
@@ -81,7 +81,7 @@ private static async Task SyncPropertyNameAndBackingFieldNameAsync(
context.RegisterRefactoring(
$"Rename '{fieldSymbol.Name}' to '{newName}'",
- ct => Renamer.RenameSymbolAsync(context.Solution, fieldSymbol, newName, default(OptionSet), ct),
+ ct => Renamer.RenameSymbolAsync(context.Solution, fieldSymbol, default(SymbolRenameOptions), newName, ct),
RefactoringDescriptors.SyncPropertyNameAndBackingFieldName);
}
diff --git a/src/Refactorings/CSharp/Refactorings/MethodDeclarationRefactoring.cs b/src/Refactorings/CSharp/Refactorings/MethodDeclarationRefactoring.cs
index 7ad549adc8..6536e23c7c 100644
--- a/src/Refactorings/CSharp/Refactorings/MethodDeclarationRefactoring.cs
+++ b/src/Refactorings/CSharp/Refactorings/MethodDeclarationRefactoring.cs
@@ -143,7 +143,7 @@ private static async Task RenameMethodAccordingToTypeNameAsync(
context.RegisterRefactoring(
$"Rename '{oldName}' to '{newName}'",
- ct => Renamer.RenameSymbolAsync(context.Solution, methodSymbol, newName, default(OptionSet), ct),
+ ct => Renamer.RenameSymbolAsync(context.Solution, methodSymbol, new SymbolRenameOptions(RenameOverloads: true), newName, ct),
RefactoringDescriptors.RenameMethodAccordingToTypeName);
}
diff --git a/src/Refactorings/CSharp/Refactorings/PropertyDeclarationRefactoring.cs b/src/Refactorings/CSharp/Refactorings/PropertyDeclarationRefactoring.cs
index d70453fdc7..6ce4b9fcfa 100644
--- a/src/Refactorings/CSharp/Refactorings/PropertyDeclarationRefactoring.cs
+++ b/src/Refactorings/CSharp/Refactorings/PropertyDeclarationRefactoring.cs
@@ -145,7 +145,7 @@ private static async Task RenamePropertyAccordingToTypeName(RefactoringContext c
context.RegisterRefactoring(
$"Rename '{oldName}' to '{newName}'",
- ct => Renamer.RenameSymbolAsync(context.Solution, symbol, newName, default(OptionSet), ct),
+ ct => Renamer.RenameSymbolAsync(context.Solution, symbol, new SymbolRenameOptions(RenameOverloads: true), newName, ct),
RefactoringDescriptors.RenamePropertyAccordingToTypeName);
}
}
diff --git a/src/Refactorings/CSharp/Refactorings/VariableDeclarationRefactoring.cs b/src/Refactorings/CSharp/Refactorings/VariableDeclarationRefactoring.cs
index 9eb2c10a16..e0571fe827 100644
--- a/src/Refactorings/CSharp/Refactorings/VariableDeclarationRefactoring.cs
+++ b/src/Refactorings/CSharp/Refactorings/VariableDeclarationRefactoring.cs
@@ -73,7 +73,7 @@ private static async Task RenameVariableAccordingToTypeNameAsync(
context.RegisterRefactoring(
$"Rename '{oldName}' to '{newName}'",
- ct => Renamer.RenameSymbolAsync(context.Solution, localSymbol, newName, default(OptionSet), ct),
+ ct => Renamer.RenameSymbolAsync(context.Solution, localSymbol, default(SymbolRenameOptions), newName, ct),
RefactoringDescriptors.RenameIdentifierAccordingToTypeName);
}
}
diff --git a/src/Refactorings/Refactorings.csproj b/src/Refactorings/Refactorings.csproj
index 0128ee47a9..82e4aed527 100644
--- a/src/Refactorings/Refactorings.csproj
+++ b/src/Refactorings/Refactorings.csproj
@@ -17,11 +17,11 @@
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/Tests.Old/Analyzers.Tests.Old/Analyzers.Tests.Old.csproj b/src/Tests.Old/Analyzers.Tests.Old/Analyzers.Tests.Old.csproj
index 8f00083d78..c3e1f475a0 100644
--- a/src/Tests.Old/Analyzers.Tests.Old/Analyzers.Tests.Old.csproj
+++ b/src/Tests.Old/Analyzers.Tests.Old/Analyzers.Tests.Old.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/src/Tests.Old/CodeFixes.Tests.Old/CodeFixes.Tests.Old.csproj b/src/Tests.Old/CodeFixes.Tests.Old/CodeFixes.Tests.Old.csproj
index 488d89c05a..4c6605bd6e 100644
--- a/src/Tests.Old/CodeFixes.Tests.Old/CodeFixes.Tests.Old.csproj
+++ b/src/Tests.Old/CodeFixes.Tests.Old/CodeFixes.Tests.Old.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/src/Tests.Old/Refactorings.Tests.Old/Refactorings.Tests.Old.csproj b/src/Tests.Old/Refactorings.Tests.Old/Refactorings.Tests.Old.csproj
index 73a80359f7..4978249a18 100644
--- a/src/Tests.Old/Refactorings.Tests.Old/Refactorings.Tests.Old.csproj
+++ b/src/Tests.Old/Refactorings.Tests.Old/Refactorings.Tests.Old.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/src/Tests/Analyzers.Tests/RCS1129RemoveRedundantFieldInitializationTests.cs b/src/Tests/Analyzers.Tests/RCS1129RemoveRedundantFieldInitializationTests.cs
index 8908db4456..9b05a13bf0 100644
--- a/src/Tests/Analyzers.Tests/RCS1129RemoveRedundantFieldInitializationTests.cs
+++ b/src/Tests/Analyzers.Tests/RCS1129RemoveRedundantFieldInitializationTests.cs
@@ -203,11 +203,21 @@ public async Task Test_StructWithoutConstructor()
await VerifyDiagnosticAndFixAsync(@"
struct C
{
+ public C()
+ {
+ _f = 0;
+ }
+
private int _f [|= 0|];
}
", @"
struct C
{
+ public C()
+ {
+ _f = 0;
+ }
+
private int _f;
}
");
diff --git a/src/Tests/Analyzers.Tests/RCS1251RemoveUnnecessaryBracesTests.cs b/src/Tests/Analyzers.Tests/RCS1251RemoveUnnecessaryBracesTests.cs
index 68a17c9256..6bda36a52e 100644
--- a/src/Tests/Analyzers.Tests/RCS1251RemoveUnnecessaryBracesTests.cs
+++ b/src/Tests/Analyzers.Tests/RCS1251RemoveUnnecessaryBracesTests.cs
@@ -20,7 +20,7 @@ await VerifyDiagnosticAndFixAsync(@"
namespace N
{
record R(string Value)
- [|[|{|]|]
+ [|{|]
}
}
@@ -42,7 +42,7 @@ await VerifyDiagnosticAndFixAsync(@"
namespace N
{
record struct R(string Value)
- [|[|{|]|]
+ [|{|]
}
}
diff --git a/src/Tests/CSharp.Tests/SyntaxKindTests.cs b/src/Tests/CSharp.Tests/SyntaxKindTests.cs
index 5347539b11..63609c9b36 100644
--- a/src/Tests/CSharp.Tests/SyntaxKindTests.cs
+++ b/src/Tests/CSharp.Tests/SyntaxKindTests.cs
@@ -562,6 +562,28 @@ public static void DetectNewSyntaxKinds()
case SyntaxKind.LineDirectivePosition:
case SyntaxKind.LineSpanDirectiveTrivia:
case SyntaxKind.RecordStructDeclaration:
+ // new in 4.2.0
+ case SyntaxKind.SingleLineRawStringLiteralToken:
+ case SyntaxKind.MultiLineRawStringLiteralToken:
+ case SyntaxKind.ListPattern:
+ case SyntaxKind.SlicePattern:
+ case SyntaxKind.InterpolatedSingleLineRawStringStartToken:
+ case SyntaxKind.InterpolatedMultiLineRawStringStartToken:
+ case SyntaxKind.InterpolatedRawStringEndToken:
+ // new in 4.3.0
+ case SyntaxKind.GreaterThanGreaterThanGreaterThanToken:
+ case SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken:
+ case SyntaxKind.RequiredKeyword:
+ case SyntaxKind.ScopedKeyword:
+ case SyntaxKind.Utf8StringLiteralToken:
+ case SyntaxKind.Utf8SingleLineRawStringLiteralToken:
+ case SyntaxKind.Utf8MultiLineRawStringLiteralToken:
+ case SyntaxKind.UnsignedRightShiftExpression:
+ case SyntaxKind.UnsignedRightShiftAssignmentExpression:
+ case SyntaxKind.Utf8StringLiteralExpression:
+ // new in 4.4.0
+ case SyntaxKind.FileKeyword:
+ case SyntaxKind.ScopedType:
{
break;
}
diff --git a/src/Tests/TestConsole/TestConsole.csproj b/src/Tests/TestConsole/TestConsole.csproj
index 11a227d4e5..19ab77765f 100644
--- a/src/Tests/TestConsole/TestConsole.csproj
+++ b/src/Tests/TestConsole/TestConsole.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/src/Tests/Testing.CSharp/Testing.CSharp.csproj b/src/Tests/Testing.CSharp/Testing.CSharp.csproj
index 63ec59097b..5900bac72a 100644
--- a/src/Tests/Testing.CSharp/Testing.CSharp.csproj
+++ b/src/Tests/Testing.CSharp/Testing.CSharp.csproj
@@ -32,7 +32,7 @@
-
+
diff --git a/src/Tests/Testing.Common/Testing.Common.csproj b/src/Tests/Testing.Common/Testing.Common.csproj
index dc73e66dd7..5bc1a197a3 100644
--- a/src/Tests/Testing.Common/Testing.Common.csproj
+++ b/src/Tests/Testing.Common/Testing.Common.csproj
@@ -32,7 +32,7 @@
-
+
diff --git a/src/Tests/Testing.Common/Testing/RefactoringTestData.cs b/src/Tests/Testing.Common/Testing/RefactoringTestData.cs
index 8098c186ac..0d0ceb4fa0 100644
--- a/src/Tests/Testing.Common/Testing/RefactoringTestData.cs
+++ b/src/Tests/Testing.Common/Testing/RefactoringTestData.cs
@@ -41,7 +41,7 @@ public RefactoringTestData(
///
/// Gets text spans on which a code refactoring will be applied.
///
- public ImmutableArray Spans { get; private set; }
+ public ImmutableArray Spans { get; }
///
/// Gets additional source files.
diff --git a/src/Tests/Testing.VisualBasic/Testing.VisualBasic.csproj b/src/Tests/Testing.VisualBasic/Testing.VisualBasic.csproj
index 14d9b2fffc..91e7e01547 100644
--- a/src/Tests/Testing.VisualBasic/Testing.VisualBasic.csproj
+++ b/src/Tests/Testing.VisualBasic/Testing.VisualBasic.csproj
@@ -33,7 +33,7 @@
-
+
diff --git a/src/Tools/CodeGeneration/CSharp/Symbols.Generated.cs b/src/Tools/CodeGeneration/CSharp/Symbols.Generated.cs
index 0755480d73..8784e8e618 100644
--- a/src/Tools/CodeGeneration/CSharp/Symbols.Generated.cs
+++ b/src/Tools/CodeGeneration/CSharp/Symbols.Generated.cs
@@ -105,6 +105,7 @@ public static IEnumerable GetKinds(INamedTypeSymbol syntaxSymbol)
yield return SyntaxKind.LeftShiftAssignmentExpression;
yield return SyntaxKind.RightShiftAssignmentExpression;
yield return SyntaxKind.CoalesceAssignmentExpression;
+ yield return SyntaxKind.UnsignedRightShiftAssignmentExpression;
break;
}
@@ -185,6 +186,7 @@ public static IEnumerable GetKinds(INamedTypeSymbol syntaxSymbol)
yield return SyntaxKind.IsExpression;
yield return SyntaxKind.AsExpression;
yield return SyntaxKind.CoalesceExpression;
+ yield return SyntaxKind.UnsignedRightShiftExpression;
break;
}
@@ -812,6 +814,12 @@ public static IEnumerable GetKinds(INamedTypeSymbol syntaxSymbol)
break;
}
+ case "ListPatternSyntax":
+ {
+ yield return SyntaxKind.ListPattern;
+ break;
+ }
+
case "LiteralExpressionSyntax":
{
yield return SyntaxKind.ArgListExpression;
@@ -822,6 +830,7 @@ public static IEnumerable GetKinds(INamedTypeSymbol syntaxSymbol)
yield return SyntaxKind.FalseLiteralExpression;
yield return SyntaxKind.NullLiteralExpression;
yield return SyntaxKind.DefaultLiteralExpression;
+ yield return SyntaxKind.Utf8StringLiteralExpression;
break;
}
@@ -1156,6 +1165,12 @@ public static IEnumerable GetKinds(INamedTypeSymbol syntaxSymbol)
break;
}
+ case "ScopedTypeSyntax":
+ {
+ yield return SyntaxKind.ScopedType;
+ break;
+ }
+
case "SelectClauseSyntax":
{
yield return SyntaxKind.SelectClause;
@@ -1198,6 +1213,12 @@ public static IEnumerable GetKinds(INamedTypeSymbol syntaxSymbol)
break;
}
+ case "SlicePatternSyntax":
+ {
+ yield return SyntaxKind.SlicePattern;
+ break;
+ }
+
case "StackAllocArrayCreationExpressionSyntax":
{
yield return SyntaxKind.StackAllocArrayCreationExpression;
diff --git a/src/Tools/CodeGeneration/CSharp/SymbolsGetKindsGenerator.cs b/src/Tools/CodeGeneration/CSharp/SymbolsGetKindsGenerator.cs
index 3027c6766f..8f732ccde8 100644
--- a/src/Tools/CodeGeneration/CSharp/SymbolsGetKindsGenerator.cs
+++ b/src/Tools/CodeGeneration/CSharp/SymbolsGetKindsGenerator.cs
@@ -193,6 +193,7 @@ static IEnumerable GetSyntaxKinds(INamedTypeSymbol syntaxSymbol)
yield return SyntaxKind.LeftShiftAssignmentExpression;
yield return SyntaxKind.RightShiftAssignmentExpression;
yield return SyntaxKind.CoalesceAssignmentExpression;
+ yield return SyntaxKind.UnsignedRightShiftAssignmentExpression;
break;
}
case "AttributeArgumentListSyntax":
@@ -263,6 +264,7 @@ static IEnumerable GetSyntaxKinds(INamedTypeSymbol syntaxSymbol)
yield return SyntaxKind.IsExpression;
yield return SyntaxKind.AsExpression;
yield return SyntaxKind.CoalesceExpression;
+ yield return SyntaxKind.UnsignedRightShiftExpression;
break;
}
case "BlockSyntax":
@@ -731,6 +733,7 @@ static IEnumerable GetSyntaxKinds(INamedTypeSymbol syntaxSymbol)
yield return SyntaxKind.FalseLiteralExpression;
yield return SyntaxKind.NullLiteralExpression;
yield return SyntaxKind.DefaultLiteralExpression;
+ yield return SyntaxKind.Utf8StringLiteralExpression;
break;
}
case "LoadDirectiveTriviaSyntax":
@@ -1334,6 +1337,21 @@ static IEnumerable GetSyntaxKinds(INamedTypeSymbol syntaxSymbol)
yield return SyntaxKind.LineSpanDirectiveTrivia;
break;
}
+ case "ListPatternSyntax":
+ {
+ yield return SyntaxKind.ListPattern;
+ break;
+ }
+ case "SlicePatternSyntax":
+ {
+ yield return SyntaxKind.SlicePattern;
+ break;
+ }
+ case "ScopedTypeSyntax":
+ {
+ yield return SyntaxKind.ScopedType;
+ break;
+ }
default:
{
throw new InvalidOperationException(syntaxSymbol.Name);
diff --git a/src/Tools/CodeGeneration/CSharp/SyntaxWalker/CSharpSyntaxWalkerGenerator.Generated.cs b/src/Tools/CodeGeneration/CSharp/SyntaxWalker/CSharpSyntaxWalkerGenerator.Generated.cs
index 47f31557f0..7b65c2bd69 100644
--- a/src/Tools/CodeGeneration/CSharp/SyntaxWalker/CSharpSyntaxWalkerGenerator.Generated.cs
+++ b/src/Tools/CodeGeneration/CSharp/SyntaxWalker/CSharpSyntaxWalkerGenerator.Generated.cs
@@ -4,6 +4,7 @@
using System;
using Microsoft.CodeAnalysis;
+using Microsoft.CodeAnalysis.CSharp.Syntax;
namespace Roslynator.CodeGeneration.CSharp
{
@@ -608,6 +609,7 @@ protected virtual bool ShouldVisit(IPropertySymbol propertySymbol)
case "Modifiers":
case "ImplicitOrExplicitKeyword":
case "OperatorKeyword":
+ case "CheckedKeyword":
case "Type":
case "ExplicitInterfaceSpecifier":
case "ParameterList":
@@ -626,6 +628,7 @@ protected virtual bool ShouldVisit(IPropertySymbol propertySymbol)
{
case "ImplicitOrExplicitKeyword":
case "OperatorKeyword":
+ case "CheckedKeyword":
case "Type":
case "Parameters":
return true;
@@ -1839,6 +1842,7 @@ protected virtual bool ShouldVisit(IPropertySymbol propertySymbol)
case "Modifiers":
case "ReturnType":
case "OperatorKeyword":
+ case "CheckedKeyword":
case "ExplicitInterfaceSpecifier":
case "OperatorToken":
case "ParameterList":
@@ -1856,6 +1860,7 @@ protected virtual bool ShouldVisit(IPropertySymbol propertySymbol)
switch (propertySymbol.Name)
{
case "OperatorKeyword":
+ case "CheckedKeyword":
case "OperatorToken":
case "Parameters":
return true;
@@ -2177,6 +2182,7 @@ protected virtual bool ShouldVisit(IPropertySymbol propertySymbol)
{
case "RefKeyword":
case "ReadOnlyKeyword":
+ case "ScopedKeyword":
case "Type":
return true;
default:
@@ -3326,6 +3332,46 @@ protected virtual bool ShouldVisit(IPropertySymbol propertySymbol)
}
}
+ case "ListPatternSyntax":
+ {
+ switch (propertySymbol.Name)
+ {
+ case "OpenBracketToken":
+ case "Patterns":
+ case "CloseBracketToken":
+ return true;
+ case "Designation":
+ return false;
+ default:
+ throw new InvalidOperationException($"Unrecognized property '{propertySymbol.ToDisplayString(SymbolDisplayFormats.Test)}'");
+ }
+ }
+
+ case "SlicePatternSyntax":
+ {
+ switch (propertySymbol.Name)
+ {
+ case "DotDotToken":
+ return true;
+ case "Pattern":
+ return false;
+ default:
+ throw new InvalidOperationException($"Unrecognized property '{propertySymbol.ToDisplayString(SymbolDisplayFormats.Test)}'");
+ }
+ }
+
+ case "ScopedTypeSyntax":
+ {
+ switch (propertySymbol.Name)
+ {
+ case "ScopedKeyword":
+ case "Type":
+ return true;
+ default:
+ throw new InvalidOperationException($"Unrecognized property '{propertySymbol.ToDisplayString(SymbolDisplayFormats.Test)}'");
+ }
+ }
+
default:
{
throw new InvalidOperationException($"Unrecognized type '{propertySymbol.ContainingType.Name}'");
diff --git a/src/Tools/CodeGeneration/CSharp/SyntaxWalker/CSharpSyntaxWalkerGenerator.cs b/src/Tools/CodeGeneration/CSharp/SyntaxWalker/CSharpSyntaxWalkerGenerator.cs
index 1f608b797f..e2c0e696e2 100644
--- a/src/Tools/CodeGeneration/CSharp/SyntaxWalker/CSharpSyntaxWalkerGenerator.cs
+++ b/src/Tools/CodeGeneration/CSharp/SyntaxWalker/CSharpSyntaxWalkerGenerator.cs
@@ -233,6 +233,7 @@ protected virtual void CreateVisitStatements(MethodGenerationContext context)
case "FunctionPointerUnmanagedCallingConventionListSyntax":
case "LineDirectivePositionSyntax":
case "BaseExpressionColonSyntax":
+ case "ListPatternSyntax":
{
if (UseCustomVisitMethod)
{
diff --git a/src/Tools/CodeGeneration/CodeGeneration.csproj b/src/Tools/CodeGeneration/CodeGeneration.csproj
index 0747ad4ac5..7d16c78168 100644
--- a/src/Tools/CodeGeneration/CodeGeneration.csproj
+++ b/src/Tools/CodeGeneration/CodeGeneration.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/src/Tools/CodeGenerator/CodeGenerator.csproj b/src/Tools/CodeGenerator/CodeGenerator.csproj
index 50d552b798..95832a6143 100644
--- a/src/Tools/CodeGenerator/CodeGenerator.csproj
+++ b/src/Tools/CodeGenerator/CodeGenerator.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/src/Tools/MetadataGenerator/MetadataGenerator.csproj b/src/Tools/MetadataGenerator/MetadataGenerator.csproj
index f80df41e84..74e97ab62b 100644
--- a/src/Tools/MetadataGenerator/MetadataGenerator.csproj
+++ b/src/Tools/MetadataGenerator/MetadataGenerator.csproj
@@ -11,8 +11,8 @@
-
-
+
+
diff --git a/src/Tools/TestCodeGenerator/TestCodeGenerator.csproj b/src/Tools/TestCodeGenerator/TestCodeGenerator.csproj
index 58b6a3b99c..c360c5d04b 100644
--- a/src/Tools/TestCodeGenerator/TestCodeGenerator.csproj
+++ b/src/Tools/TestCodeGenerator/TestCodeGenerator.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/src/Tools/Utilities/Utilities.csproj b/src/Tools/Utilities/Utilities.csproj
index 25afeeaaff..dfc9d24747 100644
--- a/src/Tools/Utilities/Utilities.csproj
+++ b/src/Tools/Utilities/Utilities.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/src/VisualBasic.Workspaces/VisualBasic.Workspaces.csproj b/src/VisualBasic.Workspaces/VisualBasic.Workspaces.csproj
index 53a35a5f6b..8148e127ce 100644
--- a/src/VisualBasic.Workspaces/VisualBasic.Workspaces.csproj
+++ b/src/VisualBasic.Workspaces/VisualBasic.Workspaces.csproj
@@ -18,8 +18,11 @@
-
-
+
+ all
+ runtime; build; native; contentfiles; analyzers
+
+
diff --git a/src/VisualBasic/VisualBasic.csproj b/src/VisualBasic/VisualBasic.csproj
index 444c52c2c0..408e18c941 100644
--- a/src/VisualBasic/VisualBasic.csproj
+++ b/src/VisualBasic/VisualBasic.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/src/Workspaces.Common/Workspaces.Common.csproj b/src/Workspaces.Common/Workspaces.Common.csproj
index ec633b25d0..c023cd7905 100644
--- a/src/Workspaces.Common/Workspaces.Common.csproj
+++ b/src/Workspaces.Common/Workspaces.Common.csproj
@@ -17,11 +17,11 @@
-
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/Workspaces.Core/Rename/SymbolRenamer.cs b/src/Workspaces.Core/Rename/SymbolRenamer.cs
index 9ef8f0aec4..93cfa6970b 100644
--- a/src/Workspaces.Core/Rename/SymbolRenamer.cs
+++ b/src/Workspaces.Core/Rename/SymbolRenamer.cs
@@ -648,8 +648,8 @@ private async Task RenameSymbolAsync(
newSolution = await Microsoft.CodeAnalysis.Rename.Renamer.RenameSymbolAsync(
CurrentSolution,
symbol,
+ new Microsoft.CodeAnalysis.Rename.SymbolRenameOptions(RenameOverloads: true),
newName,
- default(Microsoft.CodeAnalysis.Options.OptionSet),
cancellationToken)
.ConfigureAwait(false);
}
diff --git a/src/Workspaces.Core/Spelling/SpellingFixer.cs b/src/Workspaces.Core/Spelling/SpellingFixer.cs
index 3f0a430ddc..4139c8f871 100644
--- a/src/Workspaces.Core/Spelling/SpellingFixer.cs
+++ b/src/Workspaces.Core/Spelling/SpellingFixer.cs
@@ -10,6 +10,7 @@
using System.Threading.Tasks;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Diagnostics;
+using Microsoft.CodeAnalysis.Rename;
using Microsoft.CodeAnalysis.Text;
using Roslynator.Host.Mef;
using static Roslynator.Logger;
@@ -469,8 +470,9 @@ private async Task> FixCommentsAsync(
newSolution = await Microsoft.CodeAnalysis.Rename.Renamer.RenameSymbolAsync(
CurrentSolution,
symbol,
+ //TODO: rename file when renaming symbol?
+ new SymbolRenameOptions(RenameOverloads: true),
newName,
- default(Microsoft.CodeAnalysis.Options.OptionSet),
cancellationToken)
.ConfigureAwait(false);
}
diff --git a/src/Workspaces.Core/Workspaces.Core.csproj b/src/Workspaces.Core/Workspaces.Core.csproj
index dd431f8df0..cfa00355ea 100644
--- a/src/Workspaces.Core/Workspaces.Core.csproj
+++ b/src/Workspaces.Core/Workspaces.Core.csproj
@@ -32,7 +32,7 @@
-
+