diff --git a/ChangeLog.md b/ChangeLog.md index 7afddddfaa..ddd2e64c34 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,10 @@ +### 2.0.1 (2018-11-26) + +#### Analyzers + +* Add analyzer [UnnecessaryUsageOfEnumerator](http://github.com/JosefPihrt/Roslynator/blob/master/docs/analyzers/RCS1230.md) (RCS1230) +* Add analyzer [MakeParameterRefReadOnly](http://github.com/JosefPihrt/Roslynator/blob/master/docs/analyzers/RCS1231.md) (RCS1231) + ### 2.0.0 (2018-10-14) #### New Features diff --git a/docs/analyzers/RCS1230.md b/docs/analyzers/RCS1230.md new file mode 100644 index 0000000000..a75f57715f --- /dev/null +++ b/docs/analyzers/RCS1230.md @@ -0,0 +1,37 @@ +# RCS1230: Unnecessary usage of enumerator + +| Property | Value | +| -------- | ----------- | +| Id | RCS1230 | +| Category | Readability | +| Severity | Info | + +## Example + +### Code with Diagnostic + +```csharp +using (var en = items.GetEnumerator()) // RCS1230 +{ + while (en.MoveNext()) + { + yield return en.Current; + } +} +``` + +### Code with Fix + +```csharp +foreach (var item in items) +{ + yield return en.Current; +} +``` + +## See Also + +* [How to Suppress a Diagnostic](../HowToConfigureAnalyzers.md#how-to-suppress-a-diagnostic) + + +*\(Generated with [DotMarkdown](http://github.com/JosefPihrt/DotMarkdown)\)* \ No newline at end of file diff --git a/docs/analyzers/RCS1231.md b/docs/analyzers/RCS1231.md new file mode 100644 index 0000000000..6bdcb32a62 --- /dev/null +++ b/docs/analyzers/RCS1231.md @@ -0,0 +1,38 @@ +# RCS1231: Make parameter ref read\-only + +| Property | Value | +| -------- | ----------- | +| Id | RCS1231 | +| Category | Performance | +| Severity | Info | + +## Example + +### Code with Diagnostic + +```csharp +readonly struct C +{ + void M(C c) // RCS1231 + { + } +} +``` + +### Code with Fix + +```csharp +readonly struct C +{ + void M(in C c) + { + } +} +``` + +## See Also + +* [How to Suppress a Diagnostic](../HowToConfigureAnalyzers.md#how-to-suppress-a-diagnostic) + + +*\(Generated with [DotMarkdown](http://github.com/JosefPihrt/DotMarkdown)\)* \ No newline at end of file diff --git a/src/Analyzers.CodeFixes/Analyzers.CodeFixes.csproj b/src/Analyzers.CodeFixes/Analyzers.CodeFixes.csproj index b3af301d03..d29f2f8921 100644 --- a/src/Analyzers.CodeFixes/Analyzers.CodeFixes.csproj +++ b/src/Analyzers.CodeFixes/Analyzers.CodeFixes.csproj @@ -5,7 +5,7 @@ - 2.0.0.1 + 2.0.1.0 Roslynator.CSharp.Analyzers.CodeFixes Roslynator.CSharp ..\global.ruleset diff --git a/src/Analyzers/Analyzers.csproj b/src/Analyzers/Analyzers.csproj index 78d36b42da..90545f9105 100644 --- a/src/Analyzers/Analyzers.csproj +++ b/src/Analyzers/Analyzers.csproj @@ -5,7 +5,7 @@ - 2.0.0.1 + 2.0.1.0 Roslynator.CSharp.Analyzers Roslynator.CSharp ..\global.ruleset diff --git a/src/Analyzers/AnalyzersByCategory.md b/src/Analyzers/AnalyzersByCategory.md index c4537295b1..ebfbc82aff 100644 --- a/src/Analyzers/AnalyzersByCategory.md +++ b/src/Analyzers/AnalyzersByCategory.md @@ -59,6 +59,7 @@ | Naming | [Rename private field according to camel case with underscore](../../docs/analyzers/RCS1045.md) | RCS1045 | None | | Performance | [Avoid unnecessary boxing of value type](../../docs/analyzers/RCS1198.md) | RCS1198 | None | | Performance | [Call 'Enumerable.Skip' and 'Enumerable.Any' instead of 'Enumerable.Count'](../../docs/analyzers/RCS1219.md) | RCS1219 | None | +| Performance | [Make parameter ref read-only](../../docs/analyzers/RCS1231.md) | RCS1231 | Info | | Performance | [Optimize LINQ method call](../../docs/analyzers/RCS1077.md) | RCS1077 | Info | | Performance | [Optimize StringBuilder.Append/AppendLine call](../../docs/analyzers/RCS1197.md) | RCS1197 | Info | | Performance | [Use bitwise operation instead of calling 'HasFlag'](../../docs/analyzers/RCS1096.md) | RCS1096 | Info | @@ -84,6 +85,7 @@ | Readability | [Simplify code branching](../../docs/analyzers/RCS1218.md) | RCS1218 | Info | | Readability | [Sort enum members](../../docs/analyzers/RCS1154.md) | RCS1154 | Info | | Readability | [Split variable declaration](../../docs/analyzers/RCS1081.md) | RCS1081 | None | +| Readability | [Unnecessary usage of enumerator](../../docs/analyzers/RCS1230.md) | RCS1230 | Info | | Readability | [Unused element in documentation comment](../../docs/analyzers/RCS1228.md) | RCS1228 | Hidden | | Readability | [Use explicit type instead of 'var' (foreach variable)](../../docs/analyzers/RCS1009.md) | RCS1009 | None | | Readability | [Use explicit type instead of 'var' (when the type is not obvious)](../../docs/analyzers/RCS1008.md) | RCS1008 | None | diff --git a/src/Analyzers/README.md b/src/Analyzers/README.md index 0772cdb639..ea737361f9 100644 --- a/src/Analyzers/README.md +++ b/src/Analyzers/README.md @@ -208,6 +208,8 @@ | RCS1227 | [Validate arguments correctly](../../docs/analyzers/RCS1227.md) | Design | Info | | RCS1228 | [Unused element in documentation comment](../../docs/analyzers/RCS1228.md) | Readability | Hidden | | RCS1229 | [Use async/await when necessary](../../docs/analyzers/RCS1229.md) | Usage | Info | +| RCS1230 | [Unnecessary usage of enumerator](../../docs/analyzers/RCS1230.md) | Readability | Info | +| RCS1231 | [Make parameter ref read-only](../../docs/analyzers/RCS1231.md) | Performance | Info | *\(Generated with [DotMarkdown](http://github.com/JosefPihrt/DotMarkdown)\)* \ No newline at end of file diff --git a/src/CSharp.Workspaces/CSharp.Workspaces.csproj b/src/CSharp.Workspaces/CSharp.Workspaces.csproj index 2ce18d8b6e..2d0080bb50 100644 --- a/src/CSharp.Workspaces/CSharp.Workspaces.csproj +++ b/src/CSharp.Workspaces/CSharp.Workspaces.csproj @@ -5,7 +5,7 @@ - 1.0.0.8 + 1.0.0.9 Roslynator.CSharp.Workspaces Roslynator ..\global.ruleset @@ -20,7 +20,7 @@ Roslynator.CSharp.Workspaces - 1.0.0-rc4 + 1.0.0-rc5 Josef Pihrt This library extends functionality of package Microsoft.CodeAnalysis.CSharp.Workspaces @@ -32,12 +32,12 @@ Roslynator.CSharp.SyntaxInfo Roslynator.NameGenerator Copyright (c) 2017-2018 Josef Pihrt false - http://github.com/JosefPihrt/Roslynator/blob/master/LICENSE.txt - http://github.com/JosefPihrt/Roslynator + https://github.com/JosefPihrt/Roslynator/blob/master/LICENSE.txt + https://github.com/JosefPihrt/Roslynator http://pihrt.net/images/Roslynator.ico Roslyn;Analyzer;Refactoring;Productivity;CodeAnalysis;C#;CSharp - http://github.com/JosefPihrt/Roslynator.git + https://github.com/JosefPihrt/Roslynator.git git diff --git a/src/CSharp/CSharp.csproj b/src/CSharp/CSharp.csproj index 244d961da9..4e402865a6 100644 --- a/src/CSharp/CSharp.csproj +++ b/src/CSharp/CSharp.csproj @@ -5,7 +5,7 @@ - 1.0.0.8 + 1.0.0.9 Roslynator.CSharp Roslynator ..\global.ruleset @@ -20,7 +20,7 @@ Roslynator.CSharp - 1.0.0-rc4 + 1.0.0-rc5 Josef Pihrt This library extends functionality of package Microsoft.CodeAnalysis.CSharp @@ -32,12 +32,12 @@ Roslynator.CSharp.SyntaxInfo Roslynator.NameGenerator Copyright (c) 2017-2018 Josef Pihrt false - http://github.com/JosefPihrt/Roslynator/blob/master/LICENSE.txt - http://github.com/JosefPihrt/Roslynator + https://github.com/JosefPihrt/Roslynator/blob/master/LICENSE.txt + https://github.com/JosefPihrt/Roslynator http://pihrt.net/images/Roslynator.ico Roslyn;Analyzer;Refactoring;Productivity;CodeAnalysis;C#;CSharp - http://github.com/JosefPihrt/Roslynator.git + https://github.com/JosefPihrt/Roslynator.git git diff --git a/src/CodeFixes/CodeFixes.csproj b/src/CodeFixes/CodeFixes.csproj index 7aefd79d38..d39fe6ce7b 100644 --- a/src/CodeFixes/CodeFixes.csproj +++ b/src/CodeFixes/CodeFixes.csproj @@ -5,7 +5,7 @@ - 2.0.0.1 + 2.0.1.0 Roslynator.CSharp.CodeFixes Roslynator.CSharp.CodeFixes ..\global.ruleset diff --git a/src/Common.Workspaces/Common.Workspaces.csproj b/src/Common.Workspaces/Common.Workspaces.csproj index 0e28f8783c..3179f7f542 100644 --- a/src/Common.Workspaces/Common.Workspaces.csproj +++ b/src/Common.Workspaces/Common.Workspaces.csproj @@ -5,7 +5,7 @@ - 2.0.0.1 + 2.0.1.0 Roslynator.Common.Workspaces Roslynator ..\global.ruleset diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj index 401d67de80..4f71cd7a8c 100644 --- a/src/Common/Common.csproj +++ b/src/Common/Common.csproj @@ -5,7 +5,7 @@ - 2.0.0.1 + 2.0.1.0 Roslynator.Common Roslynator ..\global.ruleset diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj index c31d625fbb..9d5991f0d0 100644 --- a/src/Core/Core.csproj +++ b/src/Core/Core.csproj @@ -5,7 +5,7 @@ - 1.0.0.8 + 1.0.0.9 Roslynator.Core Roslynator ..\global.ruleset @@ -20,18 +20,18 @@ Roslynator.Core - 1.0.0-rc4 + 1.0.0-rc5 Josef Pihrt This library extends functionality of package Microsoft.CodeAnalysis.Common. Copyright (c) 2017-2018 Josef Pihrt false - http://github.com/JosefPihrt/Roslynator/blob/master/LICENSE.txt - http://github.com/JosefPihrt/Roslynator + https://github.com/JosefPihrt/Roslynator/blob/master/LICENSE.txt + https://github.com/JosefPihrt/Roslynator http://pihrt.net/images/Roslynator.ico Roslyn;CodeAnalysis - http://github.com/JosefPihrt/Roslynator.git + https://github.com/JosefPihrt/Roslynator.git git diff --git a/src/DefaultRuleSet.ruleset b/src/DefaultRuleSet.ruleset index cab78b014b..02486c5145 100644 --- a/src/DefaultRuleSet.ruleset +++ b/src/DefaultRuleSet.ruleset @@ -229,5 +229,7 @@ + + \ No newline at end of file diff --git a/src/Refactorings/Refactorings.csproj b/src/Refactorings/Refactorings.csproj index 9a45b9aa0b..1c3412a600 100644 --- a/src/Refactorings/Refactorings.csproj +++ b/src/Refactorings/Refactorings.csproj @@ -5,7 +5,7 @@ - 2.0.0.1 + 2.0.1.0 Roslynator.CSharp.Refactorings Roslynator.CSharp.Refactorings ..\global.ruleset diff --git a/src/VisualBasic/VisualBasic.csproj b/src/VisualBasic/VisualBasic.csproj index b4a8c35079..7c592f231b 100644 --- a/src/VisualBasic/VisualBasic.csproj +++ b/src/VisualBasic/VisualBasic.csproj @@ -5,7 +5,7 @@ - 1.0.0.8 + 1.0.0.9 Roslynator.VisualBasic Roslynator ..\global.ruleset @@ -14,25 +14,12 @@ 7.2 - - bin\Release\netstandard1.3\Roslynator.VisualBasic.xml - - - Roslynator.VisualBasic - 1.0.0-rc4 + false Josef Pihrt - This library extends functionality of Microsoft.CodeAnalysis.VisualBasic + This library extends functionality of package Microsoft.CodeAnalysis.VisualBasic Copyright (c) 2017-2018 Josef Pihrt - false - http://github.com/JosefPihrt/Roslynator/blob/master/LICENSE.txt - http://github.com/JosefPihrt/Roslynator - http://pihrt.net/images/Roslynator.ico - - Roslyn;Analyzer;Refactoring;Productivity;CodeAnalysis;VB;VisualBasic - http://github.com/JosefPihrt/Roslynator.git - git diff --git a/src/VisualStudio.Common/Properties/AssemblyInfo.cs b/src/VisualStudio.Common/Properties/AssemblyInfo.cs index 6f7b691216..78bd845296 100644 --- a/src/VisualStudio.Common/Properties/AssemblyInfo.cs +++ b/src/VisualStudio.Common/Properties/AssemblyInfo.cs @@ -34,5 +34,5 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("2.0.0.0")] +[assembly: AssemblyVersion("2.0.1.0")] //[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/VisualStudio.Refactorings/Properties/AssemblyInfo.cs b/src/VisualStudio.Refactorings/Properties/AssemblyInfo.cs index e84e762c1c..24635018cd 100644 --- a/src/VisualStudio.Refactorings/Properties/AssemblyInfo.cs +++ b/src/VisualStudio.Refactorings/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // Build Number // Revision // -[assembly: AssemblyVersion("2.0.0.0")] +[assembly: AssemblyVersion("2.0.1.0")] //[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/VisualStudio.Refactorings/source.extension.vsixmanifest b/src/VisualStudio.Refactorings/source.extension.vsixmanifest index d5a71796cc..f01f9e7803 100644 --- a/src/VisualStudio.Refactorings/source.extension.vsixmanifest +++ b/src/VisualStudio.Refactorings/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + Roslynator Refactorings 2017 A collection of 300+ refactorings and fixes for C#, powered by Roslyn. http://github.com/JosefPihrt/Roslynator diff --git a/src/VisualStudio/Properties/AssemblyInfo.cs b/src/VisualStudio/Properties/AssemblyInfo.cs index 90223ad55b..c71ccb4516 100644 --- a/src/VisualStudio/Properties/AssemblyInfo.cs +++ b/src/VisualStudio/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // Build Number // Revision // -[assembly: AssemblyVersion("2.0.0.0")] +[assembly: AssemblyVersion("2.0.1.0")] //[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/VisualStudio/source.extension.vsixmanifest b/src/VisualStudio/source.extension.vsixmanifest index 1691a58e30..ceb6979fd9 100644 --- a/src/VisualStudio/source.extension.vsixmanifest +++ b/src/VisualStudio/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + Roslynator 2017 A collection of 500+ analyzers, refactorings and fixes for C#, powered by Roslyn. http://github.com/JosefPihrt/Roslynator diff --git a/src/Workspaces.Core/Workspaces.Core.csproj b/src/Workspaces.Core/Workspaces.Core.csproj index 25782f5aad..df7cb7facf 100644 --- a/src/Workspaces.Core/Workspaces.Core.csproj +++ b/src/Workspaces.Core/Workspaces.Core.csproj @@ -5,14 +5,21 @@ - 1.0.0.8 + 1.0.0.9 Roslynator.Workspaces.Core Roslynator true Workspaces.Core.snk ..\global.ruleset latest + + + false + Josef Pihrt + + This library extends functionality of package Microsoft.CodeAnalysis.Workspaces.Common + Copyright (c) 2017-2018 Josef Pihrt diff --git a/tools/PushPackages.cmd b/tools/PushPackages.cmd index f853eb1c01..6574de3235 100644 --- a/tools/PushPackages.cmd +++ b/tools/PushPackages.cmd @@ -11,7 +11,7 @@ rem dotnet nuget push "%_filePath%" -k %_apiKey% -s %_source% set _filePath=..\src\CodeFixes\bin\Release\Roslynator.CodeFixes.%_version%.nupkg rem dotnet nuget push "%_filePath%" -k %_apiKey% -s %_source% -set _version=1.0.0-rc4 +set _version=1.0.0-rc5 set _filePath=..\src\Core\bin\Release\Roslynator.Core.%_version%.nupkg rem dotnet nuget push "%_filePath%" -k %_apiKey% -s %_source% diff --git a/tools/build.cmd b/tools/build.cmd index 1e66d8e91f..80f47fa7c5 100644 --- a/tools/build.cmd +++ b/tools/build.cmd @@ -18,7 +18,7 @@ if errorlevel 1 ( "..\src\Tools\MetadataGenerator\bin\Release\net461\Roslynator.MetadataGenerator.exe" "..\src" dotnet "..\src\Tools\CodeGenerator\bin\Release\netcoreapp2.0\CodeGenerator.dll" "..\src" -dotnet "..\src\Tools\VersionUpdater\bin\Release\netcoreapp2.0\VersionUpdater.dll" "2.0.0.1" +dotnet "..\src\Tools\VersionUpdater\bin\Release\netcoreapp2.0\VersionUpdater.dll" "2.0.1.0" %_msbuildPath% "..\src\Roslynator.sln" ^ /t:Clean ^