diff --git a/src/Diagnostics/FxCop/CSharp/CSharpFxCopRulesDiagnosticAnalyzers.csproj b/src/Diagnostics/FxCop/CSharp/AnalyzerPowerPack.CSharp.csproj similarity index 89% rename from src/Diagnostics/FxCop/CSharp/CSharpFxCopRulesDiagnosticAnalyzers.csproj rename to src/Diagnostics/FxCop/CSharp/AnalyzerPowerPack.CSharp.csproj index e357e78a15f769c2cfad8a7d1596d01d798d9ca0..e91e48ad27e93ef5a1b94d3ffddc92b8abb8becb 100644 --- a/src/Diagnostics/FxCop/CSharp/CSharpFxCopRulesDiagnosticAnalyzers.csproj +++ b/src/Diagnostics/FxCop/CSharp/AnalyzerPowerPack.CSharp.csproj @@ -8,15 +8,18 @@ Debug AnyCPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0} + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0} Library Properties true - Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers - Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers + Microsoft.AnalyzerPowerPack.CSharp + Microsoft.AnalyzerPowerPack.CSharp ..\..\..\..\ true + Profile7 v4.5 + .NETPortable @@ -30,14 +33,13 @@ {B501A547-C911-4A05-AC6E-274A50DFF30E} CSharpCodeAnalysis - - {36755424-5267-478C-9434-37A507E22711} - FxCopRulesDiagnosticAnalyzers - {5F8D2414-064A-4B3A-9B42-8E2A04246BE5} Workspaces + + AnalyzerPowerPack.Common + @@ -68,8 +70,6 @@ ..\..\..\..\packages\Microsoft.Composition.$(MicrosoftCompositionVersion)\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll - - diff --git a/src/Diagnostics/FxCop/CSharp/Design/CSharpCA1024DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/CSharp/Design/CSharpCA1024DiagnosticAnalyzer.cs index 1b4b03d643ce1d921075034843ac13cda621aecd..876327f070f8f4c73b7bef2a9bf375fcc86036f2 100644 --- a/src/Diagnostics/FxCop/CSharp/Design/CSharpCA1024DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/CSharp/Design/CSharpCA1024DiagnosticAnalyzer.cs @@ -1,11 +1,12 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Collections.Immutable; +using Microsoft.AnalyzerPowerPack.Design; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; -namespace Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.CSharp.Design { /// /// CA1024: Use properties where appropriate diff --git a/src/Diagnostics/FxCop/CSharp/Design/CSharpInterfaceMethodsShouldBeCallableByChildTypesAnalyzer.cs b/src/Diagnostics/FxCop/CSharp/Design/CSharpInterfaceMethodsShouldBeCallableByChildTypesAnalyzer.cs index 14219feb63237a1b8bbdb9ce08b0ee68aa1de79f..40ebe0a878c1f229b3d88104faad652b0218a15f 100644 --- a/src/Diagnostics/FxCop/CSharp/Design/CSharpInterfaceMethodsShouldBeCallableByChildTypesAnalyzer.cs +++ b/src/Diagnostics/FxCop/CSharp/Design/CSharpInterfaceMethodsShouldBeCallableByChildTypesAnalyzer.cs @@ -1,12 +1,12 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; +using Microsoft.AnalyzerPowerPack.Design; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; -using System.Linq; -namespace Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.CSharp.Design { /// /// CA1033: Interface methods should be callable by child types diff --git a/src/Diagnostics/FxCop/CSharp/Design/CodeFixes/CA1008CSharpCodeFixProvider.cs b/src/Diagnostics/FxCop/CSharp/Design/CodeFixes/CA1008CSharpCodeFixProvider.cs index 0e7a864ac9c1dacdefd8d8d904526f2770879e2c..90c24632bc860becc269533e75100e331f1c419c 100644 --- a/src/Diagnostics/FxCop/CSharp/Design/CodeFixes/CA1008CSharpCodeFixProvider.cs +++ b/src/Diagnostics/FxCop/CSharp/Design/CodeFixes/CA1008CSharpCodeFixProvider.cs @@ -1,12 +1,11 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Composition; -using System.Linq; +using Microsoft.AnalyzerPowerPack.Design; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CodeFixes; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; -namespace Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.CSharp.Design { /// /// CA1008: Enums should have zero value diff --git a/src/Diagnostics/FxCop/CSharp/Design/CodeFixes/CA1052CSharpCodeFixProvider.cs b/src/Diagnostics/FxCop/CSharp/Design/CodeFixes/CA1052CSharpCodeFixProvider.cs index 1f3064790eed4ee4b505af3ef417d6cc3c7327a2..1203000e7f24a200421892c61788aae4b775a985 100644 --- a/src/Diagnostics/FxCop/CSharp/Design/CodeFixes/CA1052CSharpCodeFixProvider.cs +++ b/src/Diagnostics/FxCop/CSharp/Design/CodeFixes/CA1052CSharpCodeFixProvider.cs @@ -5,15 +5,14 @@ using System.Composition; using System.Threading; using System.Threading.Tasks; -using Microsoft.CodeAnalysis.CodeActions; +using Microsoft.AnalyzerPowerPack.Design; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CodeFixes; +using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Formatting; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; -using Microsoft.CodeAnalysis.Shared.Extensions; -namespace Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.CSharp.Design { [ExportCodeFixProvider(LanguageNames.CSharp, Name = StaticTypeRulesDiagnosticAnalyzer.RuleNameForExportAttribute), Shared] public class CA1052CSharpCodeFixProvider : CodeFixProvider @@ -35,11 +34,11 @@ public sealed override async Task RegisterCodeFixesAsync(CodeFixContext context) var cancellationToken = context.CancellationToken; cancellationToken.ThrowIfCancellationRequested(); - var root = await document.GetSyntaxRootAsync(cancellationToken); + var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); var classDeclaration = root.FindToken(span.Start).Parent?.FirstAncestorOrSelf(); if (classDeclaration != null) { - var title = string.Format(FxCopRulesResources.StaticHolderTypeIsNotStatic, classDeclaration.Identifier.Text); + var title = string.Format(AnalyzerPowerPackRulesResources.StaticHolderTypeIsNotStatic, classDeclaration.Identifier.Text); var codeAction = new MyCodeAction(title, ct => AddStaticKeyword(document, root, classDeclaration)); context.RegisterCodeFix(codeAction, context.Diagnostics); } diff --git a/src/Diagnostics/FxCop/CSharp/Performance/RemoveEmptyFinalizers.cs b/src/Diagnostics/FxCop/CSharp/Performance/RemoveEmptyFinalizers.cs index 2e928da8e1417f1624a49eee14d202d5fa2e2830..bcc2c1ce9b23c5115681961852a80d9be47acfa9 100644 --- a/src/Diagnostics/FxCop/CSharp/Performance/RemoveEmptyFinalizers.cs +++ b/src/Diagnostics/FxCop/CSharp/Performance/RemoveEmptyFinalizers.cs @@ -1,12 +1,14 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Linq; +using Microsoft.AnalyzerPowerPack.Performance; +using Microsoft.AnalyzerPowerPack.Utilities; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Performance; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; -namespace Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Performance +namespace Microsoft.AnalyzerPowerPack.CSharp .Performance { [DiagnosticAnalyzer(LanguageNames.CSharp)] public class CSharpRemoveEmptyFinalizers : RemoveEmptyFinalizers diff --git a/src/Diagnostics/FxCop/CSharp/Usage/CSharpCA2200DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/CSharp/Usage/CSharpCA2200DiagnosticAnalyzer.cs index 8fc6085498b78091022dc75b51d5f970ea1c87b6..62622cd7ef92409f28b072c3ddb90bc9de4ba644 100644 --- a/src/Diagnostics/FxCop/CSharp/Usage/CSharpCA2200DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/CSharp/Usage/CSharpCA2200DiagnosticAnalyzer.cs @@ -1,13 +1,12 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; -using System.Collections.Immutable; -using System.Threading; +using Microsoft.AnalyzerPowerPack.Usage; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Diagnostics; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Usage +namespace Microsoft.AnalyzerPowerPack.CSharp.Usage { [DiagnosticAnalyzer(LanguageNames.CSharp)] public class CSharpCA2200DiagnosticAnalyzer : CA2200DiagnosticAnalyzer diff --git a/src/Diagnostics/FxCop/CSharp/Usage/CSharpCA2214DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/CSharp/Usage/CSharpCA2214DiagnosticAnalyzer.cs index 013cda5116b647694eb325dd0b7ce2bdb1df6ece..fa46795200660baab5146f46668e4bbe5fd81c9f 100644 --- a/src/Diagnostics/FxCop/CSharp/Usage/CSharpCA2214DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/CSharp/Usage/CSharpCA2214DiagnosticAnalyzer.cs @@ -1,14 +1,13 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; -using System.Collections.Immutable; -using System.Threading; +using Microsoft.AnalyzerPowerPack.Usage; +using Microsoft.AnalyzerPowerPack.Utilities; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Usage; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; -namespace Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Usage +namespace Microsoft.AnalyzerPowerPack.CSharp.Usage { /// /// CA2214: Do not call overridable methods in constructors diff --git a/src/Diagnostics/FxCop/CSharp/Usage/MarkAllNonSerializableFields.Fixer.cs b/src/Diagnostics/FxCop/CSharp/Usage/MarkAllNonSerializableFields.Fixer.cs index 66724566cc1e2ef13999579905412fdf0e215798..ab6bd64537b1513b6ee1567bea432139ea5bdaaf 100644 --- a/src/Diagnostics/FxCop/CSharp/Usage/MarkAllNonSerializableFields.Fixer.cs +++ b/src/Diagnostics/FxCop/CSharp/Usage/MarkAllNonSerializableFields.Fixer.cs @@ -1,11 +1,12 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using System.Composition; +using Microsoft.AnalyzerPowerPack.Usage; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CodeFixes; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Usage; +using Microsoft.CodeAnalysis.CSharp; -namespace Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Usage +namespace Microsoft.AnalyzerPowerPack.CSharp.Usage { [ExportCodeFixProvider(LanguageNames.CSharp, Name = "CA2237 CodeFix provider"), Shared] public class CSharpMarkAllNonSerializableFieldsFixer : MarkAllNonSerializableFieldsFixer diff --git a/src/Diagnostics/FxCop/Core/AbstractNamedTypeAnalyzer.cs b/src/Diagnostics/FxCop/Core/AbstractNamedTypeAnalyzer.cs index 276934791861e68ea963ceeca76a60f16f92398f..f9d663fcdb6527c11869108dc2a570db01b7ccb6 100644 --- a/src/Diagnostics/FxCop/Core/AbstractNamedTypeAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/AbstractNamedTypeAnalyzer.cs @@ -3,9 +3,10 @@ using System; using System.Collections.Immutable; using System.Threading; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Diagnostics; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers +namespace Microsoft.AnalyzerPowerPack { public abstract class AbstractNamedTypeAnalyzer : DiagnosticAnalyzer { diff --git a/src/Diagnostics/FxCop/Core/FxCopRulesDiagnosticAnalyzers.csproj b/src/Diagnostics/FxCop/Core/AnalyzerPowerPack.Common.csproj similarity index 89% rename from src/Diagnostics/FxCop/Core/FxCopRulesDiagnosticAnalyzers.csproj rename to src/Diagnostics/FxCop/Core/AnalyzerPowerPack.Common.csproj index ff9493c6a9f280ec9d3ce04a0c7f9a776033ad56..9ae4656b22cbf0567571958d6d0c1726eed94427 100644 --- a/src/Diagnostics/FxCop/Core/FxCopRulesDiagnosticAnalyzers.csproj +++ b/src/Diagnostics/FxCop/Core/AnalyzerPowerPack.Common.csproj @@ -9,7 +9,8 @@ Debug AnyCPU 2.0 - {36755424-5267-478C-9434-37A507E22711} + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB} Library 12.0 @@ -18,11 +19,13 @@ 4.0 true - Microsoft.CodeAnalysis.FxCopAnalyzers - Microsoft.CodeAnalysis.FxCopAnalyzers + Microsoft.AnalyzerPowerPack + Microsoft.AnalyzerPowerPack.Common ..\..\..\..\ true + Profile7 v4.5 + .NETPortable @@ -114,15 +117,15 @@ - + True True - FxCopFixersResources.resx + AnalyzerPowerPackFixersResources.resx - + True True - FxCopRulesResources.resx + AnalyzerPowerPackRulesResources.resx @@ -150,15 +153,15 @@ - + ResXFileCodeGenerator Designer - FxCopFixersResources.Designer.cs + AnalyzerPowerPackFixersResources.Designer.cs - - ResXFileCodeGenerator + + PublicResXFileCodeGenerator Designer - FxCopRulesResources.Designer.cs + AnalyzerPowerPackRulesResources.Designer.cs diff --git a/src/Diagnostics/FxCop/Core/FxCopFixersResources.Designer.cs b/src/Diagnostics/FxCop/Core/AnalyzerPowerPackFixersResources.Designer.cs similarity index 95% rename from src/Diagnostics/FxCop/Core/FxCopFixersResources.Designer.cs rename to src/Diagnostics/FxCop/Core/AnalyzerPowerPackFixersResources.Designer.cs index 2833c5b3b5ddb7bcc367d9a3de07c5954c59919e..b38ae3231427068b2da2c3506721b5a7a08db3d4 100644 --- a/src/Diagnostics/FxCop/Core/FxCopFixersResources.Designer.cs +++ b/src/Diagnostics/FxCop/Core/AnalyzerPowerPackFixersResources.Designer.cs @@ -1,15 +1,16 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.0 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -namespace Microsoft.CodeAnalysis.FxCopAnalyzers { +namespace Microsoft.AnalyzerPowerPack { using System; + using System.Reflection; /// @@ -22,14 +23,14 @@ namespace Microsoft.CodeAnalysis.FxCopAnalyzers { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class FxCopFixersResources { + internal class AnalyzerPowerPackFixersResources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal FxCopFixersResources() { + internal AnalyzerPowerPackFixersResources() { } /// @@ -39,7 +40,7 @@ internal class FxCopFixersResources { internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.CodeAnalysis.FxCopAnalyzers.FxCopFixersResources", typeof(FxCopFixersResources).Assembly); + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.AnalyzerPowerPack.AnalyzerPowerPackFixersResources", typeof(AnalyzerPowerPackFixersResources).GetTypeInfo().Assembly); resourceMan = temp; } return resourceMan; diff --git a/src/Diagnostics/FxCop/Core/FxCopFixersResources.resx b/src/Diagnostics/FxCop/Core/AnalyzerPowerPackFixersResources.resx similarity index 100% rename from src/Diagnostics/FxCop/Core/FxCopFixersResources.resx rename to src/Diagnostics/FxCop/Core/AnalyzerPowerPackFixersResources.resx diff --git a/src/Diagnostics/FxCop/Core/FxCopRulesResources.Designer.cs b/src/Diagnostics/FxCop/Core/AnalyzerPowerPackRulesResources.Designer.cs similarity index 84% rename from src/Diagnostics/FxCop/Core/FxCopRulesResources.Designer.cs rename to src/Diagnostics/FxCop/Core/AnalyzerPowerPackRulesResources.Designer.cs index 259169aa09aadeba6271656b9db23e7a10772cb9..bb719f42501df9cbffd1621cb815669b62b26c8a 100644 --- a/src/Diagnostics/FxCop/Core/FxCopRulesResources.Designer.cs +++ b/src/Diagnostics/FxCop/Core/AnalyzerPowerPackRulesResources.Designer.cs @@ -1,15 +1,16 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.0 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -namespace Microsoft.CodeAnalysis.FxCopAnalyzers { +namespace Microsoft.AnalyzerPowerPack { using System; + using System.Reflection; /// @@ -22,24 +23,24 @@ namespace Microsoft.CodeAnalysis.FxCopAnalyzers { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class FxCopRulesResources { + public class AnalyzerPowerPackRulesResources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal FxCopRulesResources() { + internal AnalyzerPowerPackRulesResources() { } /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { + public static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.CodeAnalysis.FxCopAnalyzers.FxCopRulesResources", typeof(FxCopRulesResources).Assembly); + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.AnalyzerPowerPack.AnalyzerPowerPackRulesResources", typeof(AnalyzerPowerPackRulesResources).GetTypeInfo().Assembly); resourceMan = temp; } return resourceMan; @@ -51,7 +52,7 @@ internal class FxCopRulesResources { /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { + public static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } @@ -63,7 +64,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Abstract classes should not have public constructors. /// - internal static string AbstractTypesShouldNotHavePublicConstructors { + public static string AbstractTypesShouldNotHavePublicConstructors { get { return ResourceManager.GetString("AbstractTypesShouldNotHavePublicConstructors", resourceCulture); } @@ -72,7 +73,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Change the accessibility of all public contructors in this class to protected.. /// - internal static string AbstractTypesShouldNotHavePublicConstructorsCodeFix { + public static string AbstractTypesShouldNotHavePublicConstructorsCodeFix { get { return ResourceManager.GetString("AbstractTypesShouldNotHavePublicConstructorsCodeFix", resourceCulture); } @@ -81,7 +82,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Add [Serializable] to {0} as this type implements ISerializable. /// - internal static string AddSerializableAttributeToType { + public static string AddSerializableAttributeToType { get { return ResourceManager.GetString("AddSerializableAttributeToType", resourceCulture); } @@ -90,7 +91,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Design. /// - internal static string CategoryDesign { + public static string CategoryDesign { get { return ResourceManager.GetString("CategoryDesign", resourceCulture); } @@ -99,7 +100,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Globalization. /// - internal static string CategoryGlobalization { + public static string CategoryGlobalization { get { return ResourceManager.GetString("CategoryGlobalization", resourceCulture); } @@ -108,7 +109,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Interoperability. /// - internal static string CategoryInteroperability { + public static string CategoryInteroperability { get { return ResourceManager.GetString("CategoryInteroperability", resourceCulture); } @@ -117,7 +118,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Naming. /// - internal static string CategoryNaming { + public static string CategoryNaming { get { return ResourceManager.GetString("CategoryNaming", resourceCulture); } @@ -126,7 +127,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Performance. /// - internal static string CategoryPerformance { + public static string CategoryPerformance { get { return ResourceManager.GetString("CategoryPerformance", resourceCulture); } @@ -135,7 +136,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Reliability. /// - internal static string CategoryReliability { + public static string CategoryReliability { get { return ResourceManager.GetString("CategoryReliability", resourceCulture); } @@ -144,7 +145,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Usage. /// - internal static string CategoryUsage { + public static string CategoryUsage { get { return ResourceManager.GetString("CategoryUsage", resourceCulture); } @@ -153,7 +154,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Change '{0}' to a property if appropriate.. /// - internal static string ChangeToAPropertyIfAppropriate { + public static string ChangeToAPropertyIfAppropriate { get { return ResourceManager.GetString("ChangeToAPropertyIfAppropriate", resourceCulture); } @@ -162,7 +163,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Do not call overridable methods in constructors. /// - internal static string DoNotCallOverridableMethodsInConstructors { + public static string DoNotCallOverridableMethodsInConstructors { get { return ResourceManager.GetString("DoNotCallOverridableMethodsInConstructors", resourceCulture); } @@ -171,7 +172,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Virtual methods defined on the class should not be called from constructors. If a derived class has overridden the method, the derived class version will be called (before the derived class constructor is called).. /// - internal static string DoNotCallOverridableMethodsInConstructorsDescription { + public static string DoNotCallOverridableMethodsInConstructorsDescription { get { return ResourceManager.GetString("DoNotCallOverridableMethodsInConstructorsDescription", resourceCulture); } @@ -180,7 +181,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Enums should have zero value.. /// - internal static string EnumsShouldHaveZeroValue { + public static string EnumsShouldHaveZeroValue { get { return ResourceManager.GetString("EnumsShouldHaveZeroValue", resourceCulture); } @@ -189,7 +190,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to An enum should generally have a zero value. If the enum is not decorated with the Flags attribute, it should have a member with a value of zero that represents the empty state. Optionally, this value is named 'None'. For a Flags-attributed enum, a zero-valued member is optional and, if it exists, should always be named 'None'. This value should indicate that no values have been set in the enum. Using a zero-valued member for other purposes is contrary to the use of the Flags attribute in that the bitwise AN [rest of string was truncated]";. /// - internal static string EnumsShouldHaveZeroValueDescription { + public static string EnumsShouldHaveZeroValueDescription { get { return ResourceManager.GetString("EnumsShouldHaveZeroValueDescription", resourceCulture); } @@ -198,7 +199,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Remove all members that have the value zero from '{0}' except for one member that is named 'None'.. /// - internal static string EnumsShouldZeroValueFlagsMultipleZero { + public static string EnumsShouldZeroValueFlagsMultipleZero { get { return ResourceManager.GetString("EnumsShouldZeroValueFlagsMultipleZero", resourceCulture); } @@ -207,7 +208,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to In enum '{0}', change the name of '{1}' to 'None'.. /// - internal static string EnumsShouldZeroValueFlagsRename { + public static string EnumsShouldZeroValueFlagsRename { get { return ResourceManager.GetString("EnumsShouldZeroValueFlagsRename", resourceCulture); } @@ -216,7 +217,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Add a member to '{0}' that has a value of zero with a suggested name of 'None'.. /// - internal static string EnumsShouldZeroValueNotFlagsNoZeroValue { + public static string EnumsShouldZeroValueNotFlagsNoZeroValue { get { return ResourceManager.GetString("EnumsShouldZeroValueNotFlagsNoZeroValue", resourceCulture); } @@ -225,7 +226,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Field {0} is a member of type {1} which is serializable but is of type {2} which is not serializable. /// - internal static string FieldIsOfNonSerializableType { + public static string FieldIsOfNonSerializableType { get { return ResourceManager.GetString("FieldIsOfNonSerializableType", resourceCulture); } @@ -234,7 +235,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to {0} '{1}' have identical names in a case-insensitive manner.. /// - internal static string IdentifierNamesShouldDifferMoreThanCase { + public static string IdentifierNamesShouldDifferMoreThanCase { get { return ResourceManager.GetString("IdentifierNamesShouldDifferMoreThanCase", resourceCulture); } @@ -243,7 +244,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Identifier names should differ by more than case. /// - internal static string IdentifiersShouldDifferByMoreThanCase { + public static string IdentifiersShouldDifferByMoreThanCase { get { return ResourceManager.GetString("IdentifiersShouldDifferByMoreThanCase", resourceCulture); } @@ -252,7 +253,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Do not use names that require case sensitivity for uniqueness. Components must be fully usable from both case-sensitive and case-insensitive languages. Since case-insensitive languages cannot distinguish between two names within the same context that differ only by case, components must avoid this situation.. /// - internal static string IdentifiersShouldDifferByMoreThanCaseDescription { + public static string IdentifiersShouldDifferByMoreThanCaseDescription { get { return ResourceManager.GetString("IdentifiersShouldDifferByMoreThanCaseDescription", resourceCulture); } @@ -261,7 +262,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Implement Serialization constructor. /// - internal static string ImplementSerializationConstructor { + public static string ImplementSerializationConstructor { get { return ResourceManager.GetString("ImplementSerializationConstructor", resourceCulture); } @@ -270,7 +271,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to The constructor signature accepts the same arguments as ISerializable.GetObjectData, namely, a SerializationInfo instance and a StreamingContext instance. The constructor should be protected for non-sealed classes and private for sealed classes. Failure to implement a serialization constructor will cause deserialization to fail, and throw a SerializationException.. /// - internal static string ImplementSerializationConstructorDescription { + public static string ImplementSerializationConstructorDescription { get { return ResourceManager.GetString("ImplementSerializationConstructorDescription", resourceCulture); } @@ -280,7 +281,7 @@ internal class FxCopRulesResources { /// Looks up a localized string similar to An unsealed externally visible type provides an explicit method implementation of a public interface and does not provide an alternative externally visible method that has the same name. ///Consider a base type that explicitly implements a public interface method. A type that derives from the base type can access the inherited interface method only through a reference to the current instance that is cast to the interface. If the derived type re-implements (explicitly) the inherited interface method, the base [rest of string was truncated]";. /// - internal static string InterfaceMethodsShouldBeCallableByChildTypesDescription { + public static string InterfaceMethodsShouldBeCallableByChildTypesDescription { get { return ResourceManager.GetString("InterfaceMethodsShouldBeCallableByChildTypesDescription", resourceCulture); } @@ -289,7 +290,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Make '{0}' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of '{1}' and is visible to derived classes.. /// - internal static string InterfaceMethodsShouldBeCallableByChildTypesMessage { + public static string InterfaceMethodsShouldBeCallableByChildTypesMessage { get { return ResourceManager.GetString("InterfaceMethodsShouldBeCallableByChildTypesMessage", resourceCulture); } @@ -298,7 +299,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Interface methods should be callable by child types. /// - internal static string InterfaceMethodsShouldBeCallableByChildTypesTitle { + public static string InterfaceMethodsShouldBeCallableByChildTypesTitle { get { return ResourceManager.GetString("InterfaceMethodsShouldBeCallableByChildTypesTitle", resourceCulture); } @@ -307,7 +308,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Interface names should be prefixed with 'I'. /// - internal static string InterfaceNamesShouldStartWithI { + public static string InterfaceNamesShouldStartWithI { get { return ResourceManager.GetString("InterfaceNamesShouldStartWithI", resourceCulture); } @@ -316,7 +317,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Mark all non-serializable fields.. /// - internal static string MarkAllNonSerializableFields { + public static string MarkAllNonSerializableFields { get { return ResourceManager.GetString("MarkAllNonSerializableFields", resourceCulture); } @@ -325,7 +326,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to All fields that cannot be serialized directly should have the NonSerializedAttribute. Types that have the SerializableAttribute should not have fields of types that do not have the SerializableAttribute unless the fields are marked with the NonSerializedAttribute.. /// - internal static string MarkAllNonSerializableFieldsDescription { + public static string MarkAllNonSerializableFieldsDescription { get { return ResourceManager.GetString("MarkAllNonSerializableFieldsDescription", resourceCulture); } @@ -334,7 +335,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Mark ISerializable types with SerializableAttribute.. /// - internal static string MarkISerializableTypesWithAttribute { + public static string MarkISerializableTypesWithAttribute { get { return ResourceManager.GetString("MarkISerializableTypesWithAttribute", resourceCulture); } @@ -343,7 +344,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to The System.Runtime.Serialization.ISerializable interface allows the type to customize its serialization, while the Serializable attribute enables the runtime to recognize the type as being serializable.. /// - internal static string MarkISerializableTypesWithAttributeDescription { + public static string MarkISerializableTypesWithAttributeDescription { get { return ResourceManager.GetString("MarkISerializableTypesWithAttributeDescription", resourceCulture); } @@ -352,7 +353,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Remove empty finalizers. /// - internal static string RemoveEmptyFinalizers { + public static string RemoveEmptyFinalizers { get { return ResourceManager.GetString("RemoveEmptyFinalizers", resourceCulture); } @@ -361,7 +362,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Finalizers should be avoided where possible, to avoid the additional performance overhead involved in tracking object lifetime.. /// - internal static string RemoveEmptyFinalizersDescription { + public static string RemoveEmptyFinalizersDescription { get { return ResourceManager.GetString("RemoveEmptyFinalizersDescription", resourceCulture); } @@ -370,7 +371,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Re-throwing caught exception changes stack information.. /// - internal static string RethrowException { + public static string RethrowException { get { return ResourceManager.GetString("RethrowException", resourceCulture); } @@ -379,7 +380,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Rethrow to preserve stack details.. /// - internal static string RethrowToPreserveStackDetails { + public static string RethrowToPreserveStackDetails { get { return ResourceManager.GetString("RethrowToPreserveStackDetails", resourceCulture); } @@ -388,7 +389,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Serializable type {0} doesn't have a serialization constructor. /// - internal static string SerializableTypeDoesntHaveCtor { + public static string SerializableTypeDoesntHaveCtor { get { return ResourceManager.GetString("SerializableTypeDoesntHaveCtor", resourceCulture); } @@ -397,7 +398,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Declare serialization constructor for sealed type {0} as private. /// - internal static string SerializationCtorAccessibilityForSealedType { + public static string SerializationCtorAccessibilityForSealedType { get { return ResourceManager.GetString("SerializationCtorAccessibilityForSealedType", resourceCulture); } @@ -406,7 +407,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Declare serialization constructor for unsealed type {0} as protected. /// - internal static string SerializationCtorAccessibilityForUnSealedType { + public static string SerializationCtorAccessibilityForUnSealedType { get { return ResourceManager.GetString("SerializationCtorAccessibilityForUnSealedType", resourceCulture); } @@ -415,7 +416,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Type '{0}' is a static holder type but is neither static nor NotInheritable. /// - internal static string StaticHolderTypeIsNotStatic { + public static string StaticHolderTypeIsNotStatic { get { return ResourceManager.GetString("StaticHolderTypeIsNotStatic", resourceCulture); } @@ -424,7 +425,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Static holder types should be Static or NotInheritable. /// - internal static string StaticHolderTypesShouldBeStaticOrNotInheritable { + public static string StaticHolderTypesShouldBeStaticOrNotInheritable { get { return ResourceManager.GetString("StaticHolderTypesShouldBeStaticOrNotInheritable", resourceCulture); } @@ -433,7 +434,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Static holder types should not have instance constructors. /// - internal static string StaticHolderTypesShouldNotHaveConstructors { + public static string StaticHolderTypesShouldNotHaveConstructors { get { return ResourceManager.GetString("StaticHolderTypesShouldNotHaveConstructors", resourceCulture); } @@ -442,7 +443,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Type '{0}' is a static holder type and should not contain Instance Constructors. /// - internal static string StaticHolderTypesShouldNotHaveConstructorsMessage { + public static string StaticHolderTypesShouldNotHaveConstructorsMessage { get { return ResourceManager.GetString("StaticHolderTypesShouldNotHaveConstructorsMessage", resourceCulture); } @@ -451,7 +452,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Type '{0}' is abstract but has public constructors. /// - internal static string TypeIsAbstractButHasPublicConstructors { + public static string TypeIsAbstractButHasPublicConstructors { get { return ResourceManager.GetString("TypeIsAbstractButHasPublicConstructors", resourceCulture); } @@ -460,7 +461,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Type '{0}' owns disposable fields but is not disposable. /// - internal static string TypeOwnsDisposableFieldButIsNotDisposable { + public static string TypeOwnsDisposableFieldButIsNotDisposable { get { return ResourceManager.GetString("TypeOwnsDisposableFieldButIsNotDisposable", resourceCulture); } @@ -469,7 +470,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Type parameter names should be prefixed with 'T'. /// - internal static string TypeParameterNamesShouldStartWithT { + public static string TypeParameterNamesShouldStartWithT { get { return ResourceManager.GetString("TypeParameterNamesShouldStartWithT", resourceCulture); } @@ -478,7 +479,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Types that own disposable fields should be disposable. /// - internal static string TypesThatOwnDisposableFieldsShouldBeDisposable { + public static string TypesThatOwnDisposableFieldsShouldBeDisposable { get { return ResourceManager.GetString("TypesThatOwnDisposableFieldsShouldBeDisposable", resourceCulture); } @@ -487,7 +488,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Use properties where appropriate.. /// - internal static string UsePropertiesWhereAppropriate { + public static string UsePropertiesWhereAppropriate { get { return ResourceManager.GetString("UsePropertiesWhereAppropriate", resourceCulture); } @@ -496,7 +497,7 @@ internal class FxCopRulesResources { /// /// Looks up a localized string similar to Properties should be used instead of Get/Set methods in most situations. Methods are preferable to properties in the following situations: the operation is a conversion, is expensive or has an observable side-effect; the order of execution is important; calling the member twice in succession creates different results; a member is static but returns a mutable value; or the member returns an array.. /// - internal static string UsePropertiesWhereAppropriateDescription { + public static string UsePropertiesWhereAppropriateDescription { get { return ResourceManager.GetString("UsePropertiesWhereAppropriateDescription", resourceCulture); } diff --git a/src/Diagnostics/FxCop/Core/FxCopRulesResources.resx b/src/Diagnostics/FxCop/Core/AnalyzerPowerPackRulesResources.resx similarity index 100% rename from src/Diagnostics/FxCop/Core/FxCopRulesResources.resx rename to src/Diagnostics/FxCop/Core/AnalyzerPowerPackRulesResources.resx diff --git a/src/Diagnostics/FxCop/Core/CodeFixProviderBase.cs b/src/Diagnostics/FxCop/Core/CodeFixProviderBase.cs index d826d7d27fbce72debf9424d509b7e66f69feb9a..98a05ea46f7d8f35e34c5baa189ff6ade7329d05 100644 --- a/src/Diagnostics/FxCop/Core/CodeFixProviderBase.cs +++ b/src/Diagnostics/FxCop/Core/CodeFixProviderBase.cs @@ -3,10 +3,11 @@ using System.Diagnostics; using System.Threading; using System.Threading.Tasks; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CodeActions; using Microsoft.CodeAnalysis.CodeFixes; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers +namespace Microsoft.AnalyzerPowerPack { public abstract class CodeFixProviderBase : CodeFixProvider { diff --git a/src/Diagnostics/FxCop/Core/Design/CA1008DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/Core/Design/CA1008DiagnosticAnalyzer.cs index ebaaff5054a00fc197820c870c47555eef0d1c33..33197b0e3ecd143aebaf4f9d7b8d090bef677e78 100644 --- a/src/Diagnostics/FxCop/Core/Design/CA1008DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/Design/CA1008DiagnosticAnalyzer.cs @@ -6,10 +6,11 @@ using System.Linq; using System.Threading; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; using Roslyn.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.Design { /// /// CA1008: Enums should have zero value @@ -35,41 +36,41 @@ public sealed class CA1008DiagnosticAnalyzer : AbstractNamedTypeAnalyzer Enum.ToString() returns incorrect results for members that are not zero. */ - internal const string RuleId = "CA1008"; - internal const string RuleRenameCustomTag = "RuleRename"; - internal const string RuleMultipleZeroCustomTag = "RuleMultipleZero"; - internal const string RuleNoZeroCustomTag = "RuleNoZero"; + public const string RuleId = "CA1008"; + public const string RuleRenameCustomTag = "RuleRename"; + public const string RuleMultipleZeroCustomTag = "RuleMultipleZero"; + public const string RuleNoZeroCustomTag = "RuleNoZero"; - private static readonly LocalizableString s_localizableTitle = new LocalizableResourceString(nameof(FxCopRulesResources.EnumsShouldHaveZeroValue), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableDescription = new LocalizableResourceString(nameof(FxCopRulesResources.EnumsShouldHaveZeroValueDescription), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableTitle = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.EnumsShouldHaveZeroValue), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableDescription = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.EnumsShouldHaveZeroValueDescription), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); - private static readonly LocalizableString s_localizableMessageRuleRename = new LocalizableResourceString(nameof(FxCopRulesResources.EnumsShouldZeroValueFlagsRename), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableMessageRuleRename = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor RuleRename = new DiagnosticDescriptor(RuleId, s_localizableTitle, s_localizableMessageRuleRename, - FxCopDiagnosticCategory.Design, + AnalyzerPowerPackDiagnosticCategory.Design, DiagnosticSeverity.Warning, isEnabledByDefault: false, description: s_localizableDescription, helpLinkUri: "http://msdn.microsoft.com/library/ms182149.aspx", customTags: DiagnosticCustomTags.Microsoft.Concat(RuleRenameCustomTag).ToArray()); - private static readonly LocalizableString s_localizableMessageRuleMultipleZero = new LocalizableResourceString(nameof(FxCopRulesResources.EnumsShouldZeroValueFlagsMultipleZero), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableMessageRuleMultipleZero = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsMultipleZero), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor RuleMultipleZero = new DiagnosticDescriptor(RuleId, s_localizableTitle, s_localizableMessageRuleMultipleZero, - FxCopDiagnosticCategory.Design, + AnalyzerPowerPackDiagnosticCategory.Design, DiagnosticSeverity.Warning, isEnabledByDefault: false, description: s_localizableDescription, helpLinkUri: "http://msdn.microsoft.com/library/ms182149.aspx", customTags: DiagnosticCustomTags.Microsoft.Concat(RuleMultipleZeroCustomTag).ToArray()); - private static readonly LocalizableString s_localizableMessageRuleNoZero = new LocalizableResourceString(nameof(FxCopRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableMessageRuleNoZero = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor RuleNoZero = new DiagnosticDescriptor(RuleId, s_localizableTitle, s_localizableMessageRuleNoZero, - FxCopDiagnosticCategory.Design, + AnalyzerPowerPackDiagnosticCategory.Design, DiagnosticSeverity.Warning, isEnabledByDefault: false, description: s_localizableDescription, diff --git a/src/Diagnostics/FxCop/Core/Design/CA1012DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/Core/Design/CA1012DiagnosticAnalyzer.cs index 078dc76bfd03301c31875b5caf104acd7e8e057f..42dbc97564ed345accb658e6e96237dc441c8d28 100644 --- a/src/Diagnostics/FxCop/Core/Design/CA1012DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/Design/CA1012DiagnosticAnalyzer.cs @@ -5,9 +5,10 @@ using System.Linq; using System.Threading; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.Design { /// /// CA1012: Abstract classes should not have public constructors @@ -16,13 +17,13 @@ namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design public sealed class CA1012DiagnosticAnalyzer : AbstractNamedTypeAnalyzer { internal const string RuleId = "CA1012"; - private static readonly LocalizableString s_localizableTitle = new LocalizableResourceString(nameof(FxCopRulesResources.AbstractTypesShouldNotHavePublicConstructors), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableMessage = new LocalizableResourceString(nameof(FxCopRulesResources.TypeIsAbstractButHasPublicConstructors), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableTitle = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.AbstractTypesShouldNotHavePublicConstructors), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableMessage = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.TypeIsAbstractButHasPublicConstructors), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor Rule = new DiagnosticDescriptor(RuleId, s_localizableTitle, s_localizableMessage, - FxCopDiagnosticCategory.Design, + AnalyzerPowerPackDiagnosticCategory.Design, DiagnosticSeverity.Warning, isEnabledByDefault: false, helpLinkUri: "http://msdn.microsoft.com/library/ms182126.aspx", diff --git a/src/Diagnostics/FxCop/Core/Design/CA1024DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/Core/Design/CA1024DiagnosticAnalyzer.cs index a403ec2d34666007c73c1564f3f47b9f3e252d64..a518801c83ac07167b2837cea64c94cd95ac6815 100644 --- a/src/Diagnostics/FxCop/Core/Design/CA1024DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/Design/CA1024DiagnosticAnalyzer.cs @@ -3,9 +3,10 @@ using System; using System.Collections.Immutable; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.Design { /// /// CA1024: Use properties where appropriate @@ -16,14 +17,14 @@ namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design public abstract class CA1024DiagnosticAnalyzer : DiagnosticAnalyzer where TLanguageKindEnum : struct { internal const string RuleId = "CA1024"; - private static readonly LocalizableString s_localizableTitle = new LocalizableResourceString(nameof(FxCopRulesResources.UsePropertiesWhereAppropriate), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableMessage = new LocalizableResourceString(nameof(FxCopRulesResources.ChangeToAPropertyIfAppropriate), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableDescription = new LocalizableResourceString(nameof(FxCopRulesResources.UsePropertiesWhereAppropriateDescription), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableTitle = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.UsePropertiesWhereAppropriate), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableMessage = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.ChangeToAPropertyIfAppropriate), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableDescription = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.UsePropertiesWhereAppropriateDescription), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor Rule = new DiagnosticDescriptor(RuleId, s_localizableTitle, s_localizableMessage, - FxCopDiagnosticCategory.Design, + AnalyzerPowerPackDiagnosticCategory.Design, DiagnosticSeverity.Warning, isEnabledByDefault: false, description: s_localizableDescription, @@ -58,7 +59,7 @@ public override void Initialize(AnalysisContext analysisContext) return; } - // Fxcop has a few additional checks to reduce the noise for this diagnostic: + // A few additional checks to reduce the noise for this diagnostic: // Ensure that the method is non-generic, non-virtual/override, has no overloads and doesn't have special names: 'GetHashCode' or 'GetEnumerator'. // Also avoid generating this diagnostic if the method body has any invocation expressions. if (methodSymbol.IsGenericMethod || @@ -89,7 +90,7 @@ protected abstract class CA1024CodeBlockEndedAnalyzer public void AnalyzeNode(SyntaxNodeAnalysisContext context) { - // We are analyzing an invocation expression node. This method is suffiently complex to suppress the diagnostic. + // We are analyzing an invocation expression node. This method is sufficiently complex to suppress the diagnostic. suppress = true; } diff --git a/src/Diagnostics/FxCop/Core/Design/CodeFixes/CA1008CodeFixProviderBase.cs b/src/Diagnostics/FxCop/Core/Design/CodeFixes/CA1008CodeFixProviderBase.cs index 0a6deb68c90d3c688f63da6a1021d69ce54fafa9..82b2589aec2c3b3c800e37ebdd4cb24dde07fbfe 100644 --- a/src/Diagnostics/FxCop/Core/Design/CodeFixes/CA1008CodeFixProviderBase.cs +++ b/src/Diagnostics/FxCop/Core/Design/CodeFixes/CA1008CodeFixProviderBase.cs @@ -8,11 +8,12 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.Editing; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; using Microsoft.CodeAnalysis.Shared.Extensions; using Roslyn.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.Design { /// /// CA1008: Enums should have zero value @@ -31,13 +32,13 @@ protected sealed override string GetCodeFixDescription(Diagnostic diagnostic) switch (customTag) { case CA1008DiagnosticAnalyzer.RuleRenameCustomTag: - return FxCopFixersResources.EnumsShouldZeroValueFlagsRenameCodeFix; + return AnalyzerPowerPackFixersResources.EnumsShouldZeroValueFlagsRenameCodeFix; case CA1008DiagnosticAnalyzer.RuleMultipleZeroCustomTag: - return FxCopFixersResources.EnumsShouldZeroValueFlagsMultipleZeroCodeFix; + return AnalyzerPowerPackFixersResources.EnumsShouldZeroValueFlagsMultipleZeroCodeFix; case CA1008DiagnosticAnalyzer.RuleNoZeroCustomTag: - return FxCopFixersResources.EnumsShouldZeroValueNotFlagsNoZeroValueCodeFix; + return AnalyzerPowerPackFixersResources.EnumsShouldZeroValueNotFlagsNoZeroValueCodeFix; } } @@ -62,7 +63,7 @@ private SyntaxNode GetExplicitlyAssignedField(IFieldSymbol originalField, Syntax private async Task GetUpdatedDocumentForRuleNameRenameAsync(Document document, IFieldSymbol field, CancellationToken cancellationToken) { - var newSolution = await Rename.Renamer.RenameSymbolAsync(document.Project.Solution, field, "None", null, cancellationToken).ConfigureAwait(false); + var newSolution = await CodeAnalysis.Rename.Renamer.RenameSymbolAsync(document.Project.Solution, field, "None", null, cancellationToken).ConfigureAwait(false); return newSolution.GetDocument(document.Id); } @@ -84,7 +85,7 @@ private async Task ApplyRuleNameMultipleZeroAsync(SymbolEditor editor, INamedTyp { if (makeNextFieldExplicit) { - await editor.EditOneDeclarationAsync(field, (e, d) => e.ReplaceNode(d, GetExplicitlyAssignedField(field, d, e.Generator)), cancellationToken); + await editor.EditOneDeclarationAsync(field, (e, d) => e.ReplaceNode(d, GetExplicitlyAssignedField(field, d, e.Generator)), cancellationToken).ConfigureAwait(false); makeNextFieldExplicit = false; } @@ -95,14 +96,14 @@ private async Task ApplyRuleNameMultipleZeroAsync(SymbolEditor editor, INamedTyp } else { - await editor.EditOneDeclarationAsync(field, (e, d) => e.RemoveNode(d), cancellationToken); // removes the field declaration + await editor.EditOneDeclarationAsync(field, (e, d) => e.RemoveNode(d), cancellationToken).ConfigureAwait(false); // removes the field declaration makeNextFieldExplicit = true; } } if (needsNewZeroValuedNoneField) { - await editor.EditOneDeclarationAsync(enumType, (e, d) => e.InsertMembers(d, 0, new[] { e.Generator.EnumMember("None") }), cancellationToken); + await editor.EditOneDeclarationAsync(enumType, (e, d) => e.InsertMembers(d, 0, new[] { e.Generator.EnumMember("None") }), cancellationToken).ConfigureAwait(false); } } @@ -113,12 +114,12 @@ private async Task ApplyRuleNameNoZeroValueAsync(SymbolEditor editor, INamedType { if (CA1008DiagnosticAnalyzer.IsMemberNamedNone(field)) { - await editor.EditOneDeclarationAsync(field, (e, d) => e.RemoveNode(d), cancellationToken); + await editor.EditOneDeclarationAsync(field, (e, d) => e.RemoveNode(d), cancellationToken).ConfigureAwait(false); } } // insert zero-valued member 'None' to top - await editor.EditOneDeclarationAsync(enumType, (e, d) => e.InsertMembers(d, 0, new[] { e.Generator.EnumMember("None") }), cancellationToken); + await editor.EditOneDeclarationAsync(enumType, (e, d) => e.InsertMembers(d, 0, new[] { e.Generator.EnumMember("None") }), cancellationToken).ConfigureAwait(false); } protected virtual SyntaxNode GetParentNodeOrSelfToFix(SyntaxNode nodeToFix) @@ -150,11 +151,11 @@ internal sealed override async Task GetUpdatedDocumentAsync(Document d return await GetUpdatedDocumentForRuleNameRenameAsync(document, (IFieldSymbol)declaredSymbol, cancellationToken).ConfigureAwait(false); case CA1008DiagnosticAnalyzer.RuleMultipleZeroCustomTag: - await ApplyRuleNameMultipleZeroAsync(editor, (INamedTypeSymbol)declaredSymbol, cancellationToken); + await ApplyRuleNameMultipleZeroAsync(editor, (INamedTypeSymbol)declaredSymbol, cancellationToken).ConfigureAwait(false); return editor.GetChangedDocuments().First(); case CA1008DiagnosticAnalyzer.RuleNoZeroCustomTag: - await ApplyRuleNameNoZeroValueAsync(editor, (INamedTypeSymbol)declaredSymbol, cancellationToken); + await ApplyRuleNameNoZeroValueAsync(editor, (INamedTypeSymbol)declaredSymbol, cancellationToken).ConfigureAwait(false); return editor.GetChangedDocuments().First(); } } diff --git a/src/Diagnostics/FxCop/Core/Design/CodeFixes/CA1012CodeFixProvider.cs b/src/Diagnostics/FxCop/Core/Design/CodeFixes/CA1012CodeFixProvider.cs index a76fa5e779f1ceb2830c9287b198d7d9727c376b..f95280b23fbe857612acac2904c75e57fdeca16c 100644 --- a/src/Diagnostics/FxCop/Core/Design/CodeFixes/CA1012CodeFixProvider.cs +++ b/src/Diagnostics/FxCop/Core/Design/CodeFixes/CA1012CodeFixProvider.cs @@ -5,12 +5,13 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.Editing; using Microsoft.CodeAnalysis.Formatting; using Roslyn.Utilities; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.Design { /// /// CA1012: Abstract classes should not have public constructors @@ -25,7 +26,7 @@ public sealed override ImmutableArray FixableDiagnosticIds protected sealed override string GetCodeFixDescription(Diagnostic diagnostic) { - return FxCopFixersResources.AbstractTypesShouldNotHavePublicConstructorsCodeFix; + return AnalyzerPowerPackFixersResources.AbstractTypesShouldNotHavePublicConstructorsCodeFix; } private static SyntaxNode GetDeclaration(ISymbol symbol) diff --git a/src/Diagnostics/FxCop/Core/Design/CodeFixes/InterfaceMethodsShouldBeCallableByChildTypesFixer.cs b/src/Diagnostics/FxCop/Core/Design/CodeFixes/InterfaceMethodsShouldBeCallableByChildTypesFixer.cs index a791241f4b5d0b97c4553e0c945736664f12f8c5..a8ff750e04b0b448cdfaef34998843e4a524ef7f 100644 --- a/src/Diagnostics/FxCop/Core/Design/CodeFixes/InterfaceMethodsShouldBeCallableByChildTypesFixer.cs +++ b/src/Diagnostics/FxCop/Core/Design/CodeFixes/InterfaceMethodsShouldBeCallableByChildTypesFixer.cs @@ -9,10 +9,11 @@ using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.Editing; using Roslyn.Utilities; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; using System.Collections.Generic; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.Design { /// /// CA1033: Interface methods should be callable by child types @@ -59,11 +60,11 @@ public async override Task RegisterCodeFixesAsync(CodeFixContext context) var symbolToChange = candidateToIncreaseVisibility.IsAccessorMethod() ? candidateToIncreaseVisibility.AssociatedSymbol : candidateToIncreaseVisibility; if (symbolToChange != null) { - var title = string.Format(FxCopFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix1, symbolToChange.Name); + var title = string.Format(AnalyzerPowerPackFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix1, symbolToChange.Name); context.RegisterCodeFix(new MyCodeAction(title, async ct => await MakeProtected(context.Document, symbolToChange, ct).ConfigureAwait(false), - equivalenceKey: FxCopFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix1), + equivalenceKey: AnalyzerPowerPackFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix1), context.Diagnostics); } } @@ -72,18 +73,18 @@ public async override Task RegisterCodeFixesAsync(CodeFixContext context) var symbolToChange = methodSymbol.IsAccessorMethod() ? methodSymbol.AssociatedSymbol : methodSymbol; if (symbolToChange != null) { - var title = string.Format(FxCopFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix2, symbolToChange.Name); + var title = string.Format(AnalyzerPowerPackFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix2, symbolToChange.Name); context.RegisterCodeFix(new MyCodeAction(title, async ct => await ChangeToPublicInterfaceImplementation(context.Document, symbolToChange, ct).ConfigureAwait(false), - equivalenceKey: FxCopFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix2), + equivalenceKey: AnalyzerPowerPackFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix2), context.Diagnostics); } } - context.RegisterCodeFix(new MyCodeAction(string.Format(FxCopFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix3, methodSymbol.ContainingType.Name), + context.RegisterCodeFix(new MyCodeAction(string.Format(AnalyzerPowerPackFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix3, methodSymbol.ContainingType.Name), async ct => await MakeContainingTypeSealed(context.Document, methodSymbol, ct).ConfigureAwait(false), - equivalenceKey: FxCopFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix3), + equivalenceKey: AnalyzerPowerPackFixersResources.InterfaceMethodsShouldBeCallableByChildTypesFix3), context.Diagnostics); } @@ -111,7 +112,7 @@ private async Task MakeProtected(Document document, ISymbol symbolToCh await editor.EditAllDeclarationsAsync(symbolToChange, (docEditor, declaration) => { docEditor.SetAccessibility(declaration, Accessibility.Protected); - }, cancellationToken); + }, cancellationToken).ConfigureAwait(false); return editor.GetChangedDocuments().First(); } @@ -136,7 +137,7 @@ private async Task ChangeToPublicInterfaceImplementation(Document docu } docEditor.ReplaceNode(declaration, newDeclaration); - }, cancellationToken); + }, cancellationToken).ConfigureAwait(false); return editor.GetChangedDocuments().First(); } @@ -172,7 +173,7 @@ private async Task MakeContainingTypeSealed(Document document, IMethod { var modifiers = docEditor.Generator.GetModifiers(declaration); docEditor.SetModifiers(declaration, modifiers + DeclarationModifiers.Sealed); - }, cancellationToken); + }, cancellationToken).ConfigureAwait(false); return editor.GetChangedDocuments().First(); } diff --git a/src/Diagnostics/FxCop/Core/Design/InterfaceMethodsShouldBeCallableByChildTypesAnalyzer.cs b/src/Diagnostics/FxCop/Core/Design/InterfaceMethodsShouldBeCallableByChildTypesAnalyzer.cs index e858cabf286f6ae57984a556d3a910b435a7fa4f..15135766ffb9e68ad2ad32fd283ad6baf71fb10c 100644 --- a/src/Diagnostics/FxCop/Core/Design/InterfaceMethodsShouldBeCallableByChildTypesAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/Design/InterfaceMethodsShouldBeCallableByChildTypesAnalyzer.cs @@ -2,10 +2,11 @@ using System.Linq; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; using System.Collections.Immutable; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design +namespace Microsoft.AnalyzerPowerPack.Design { /// /// CA1033: Interface methods should be callable by child types @@ -24,14 +25,14 @@ public abstract class InterfaceMethodsShouldBeCallableByChildTypesAnalyzer /// CA1025: Static holder types should be sealed @@ -16,27 +17,27 @@ namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Design [DiagnosticAnalyzer(LanguageNames.CSharp, LanguageNames.VisualBasic)] public sealed class StaticTypeRulesDiagnosticAnalyzer : AbstractNamedTypeAnalyzer { - internal const string RuleNameForExportAttribute = "StaticHolderTypeRules"; - internal const string CA1052RuleId = "CA1052"; - internal const string CA1053RuleId = "CA1053"; + public const string RuleNameForExportAttribute = "StaticHolderTypeRules"; + public const string CA1052RuleId = "CA1052"; + public const string CA1053RuleId = "CA1053"; - private static readonly LocalizableString s_localizableTitleCA1052 = new LocalizableResourceString(nameof(FxCopRulesResources.StaticHolderTypesShouldBeStaticOrNotInheritable), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableMessageCA1052 = new LocalizableResourceString(nameof(FxCopRulesResources.StaticHolderTypeIsNotStatic), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableTitleCA1052 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.StaticHolderTypesShouldBeStaticOrNotInheritable), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableMessageCA1052 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.StaticHolderTypeIsNotStatic), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static readonly DiagnosticDescriptor CA1052Rule = new DiagnosticDescriptor(CA1052RuleId, s_localizableTitleCA1052, s_localizableMessageCA1052, - FxCopDiagnosticCategory.Usage, + AnalyzerPowerPackDiagnosticCategory.Usage, DiagnosticSeverity.Warning, isEnabledByDefault: false, helpLinkUri: "http://msdn.microsoft.com/library/ms182168.aspx", customTags: DiagnosticCustomTags.Microsoft); - private static readonly LocalizableString s_localizableTitleCA1053 = new LocalizableResourceString(nameof(FxCopRulesResources.StaticHolderTypesShouldNotHaveConstructors), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableMessageCA1053 = new LocalizableResourceString(nameof(FxCopRulesResources.StaticHolderTypesShouldNotHaveConstructorsMessage), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableTitleCA1053 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.StaticHolderTypesShouldNotHaveConstructors), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableMessageCA1053 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.StaticHolderTypesShouldNotHaveConstructorsMessage), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static readonly DiagnosticDescriptor CA1053Rule = new DiagnosticDescriptor(CA1053RuleId, s_localizableTitleCA1053, s_localizableMessageCA1053, - FxCopDiagnosticCategory.Usage, + AnalyzerPowerPackDiagnosticCategory.Usage, DiagnosticSeverity.Warning, isEnabledByDefault: false, helpLinkUri: "http://msdn.microsoft.com/library/ms182169.aspx", diff --git a/src/Diagnostics/FxCop/Core/DiagnosticKind.cs b/src/Diagnostics/FxCop/Core/DiagnosticKind.cs index dad9a9b7e2ab3a55340c6c0860198ede2a632468..c8e52a6d94da642cf487650bb77ae0d60f0d822a 100644 --- a/src/Diagnostics/FxCop/Core/DiagnosticKind.cs +++ b/src/Diagnostics/FxCop/Core/DiagnosticKind.cs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.CodeAnalysis.FxCopAnalyzers +namespace Microsoft.AnalyzerPowerPack { public static class DiagnosticKind { diff --git a/src/Diagnostics/FxCop/Core/DocumentChangeAction.cs b/src/Diagnostics/FxCop/Core/DocumentChangeAction.cs index 903f096b846eef78903f54b720d9e31a9b238f75..18b95bc8571cd934c2080b021fc42423e54d871a 100644 --- a/src/Diagnostics/FxCop/Core/DocumentChangeAction.cs +++ b/src/Diagnostics/FxCop/Core/DocumentChangeAction.cs @@ -7,7 +7,7 @@ namespace Microsoft.CodeAnalysis { - internal class DocumentChangeAction : CodeAction + public class DocumentChangeAction : CodeAction { private readonly string _title; private readonly Func> _createChangedDocument; diff --git a/src/Diagnostics/FxCop/Core/FxCopDiagnosticCategory.cs b/src/Diagnostics/FxCop/Core/FxCopDiagnosticCategory.cs index 4cf4e10a04ed05f377d34ce50963e89a2246af9c..c859cfd54cd4c897f5094e65bfcb49e64ab11a06 100644 --- a/src/Diagnostics/FxCop/Core/FxCopDiagnosticCategory.cs +++ b/src/Diagnostics/FxCop/Core/FxCopDiagnosticCategory.cs @@ -1,15 +1,15 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.CodeAnalysis.FxCopAnalyzers +namespace Microsoft.AnalyzerPowerPack { - internal class FxCopDiagnosticCategory + internal class AnalyzerPowerPackDiagnosticCategory { - public static readonly string Design = FxCopRulesResources.CategoryDesign; - public static readonly string Globalization = FxCopRulesResources.CategoryGlobalization; - public static readonly string Interoperability = FxCopRulesResources.CategoryInteroperability; - public static readonly string Performance = FxCopRulesResources.CategoryPerformance; - public static readonly string Reliability = FxCopRulesResources.CategoryReliability; - public static readonly string Usage = FxCopRulesResources.CategoryUsage; - public static readonly string Naming = FxCopRulesResources.CategoryNaming; + public static readonly string Design = AnalyzerPowerPackRulesResources.CategoryDesign; + public static readonly string Globalization = AnalyzerPowerPackRulesResources.CategoryGlobalization; + public static readonly string Interoperability = AnalyzerPowerPackRulesResources.CategoryInteroperability; + public static readonly string Performance = AnalyzerPowerPackRulesResources.CategoryPerformance; + public static readonly string Reliability = AnalyzerPowerPackRulesResources.CategoryReliability; + public static readonly string Usage = AnalyzerPowerPackRulesResources.CategoryUsage; + public static readonly string Naming = AnalyzerPowerPackRulesResources.CategoryNaming; } } diff --git a/src/Diagnostics/FxCop/Core/MultipleCodeFixProviderBase.cs b/src/Diagnostics/FxCop/Core/MultipleCodeFixProviderBase.cs index fc2af9233b1cdb1d5ec1b2d935ba9747b57133e3..12814de10f9cb8eae4c1556632ab46e42a06a1c2 100644 --- a/src/Diagnostics/FxCop/Core/MultipleCodeFixProviderBase.cs +++ b/src/Diagnostics/FxCop/Core/MultipleCodeFixProviderBase.cs @@ -3,10 +3,11 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CodeActions; using Microsoft.CodeAnalysis.CodeFixes; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers +namespace Microsoft.AnalyzerPowerPack { public abstract class MultipleCodeFixProviderBase : CodeFixProvider { diff --git a/src/Diagnostics/FxCop/Core/Naming/CA1708DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/Core/Naming/CA1708DiagnosticAnalyzer.cs index 6338bca7d79093c27c83781b6b708ddc0bf714b4..eb85e0fa039a0ac6c3e91d5803d8742d24b1adcd 100644 --- a/src/Diagnostics/FxCop/Core/Naming/CA1708DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/Naming/CA1708DiagnosticAnalyzer.cs @@ -6,28 +6,29 @@ using System.Linq; using System.Threading; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; using Microsoft.CodeAnalysis.Shared.Extensions; using Roslyn.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Naming +namespace Microsoft.AnalyzerPowerPack.Naming { [DiagnosticAnalyzer(LanguageNames.CSharp, LanguageNames.VisualBasic)] public sealed class CA1708DiagnosticAnalyzer : AbstractNamedTypeAnalyzer { - internal const string RuleId = "CA1708"; - internal const string Namespace = "Namespaces"; - internal const string Type = "Types"; - internal const string Member = "Members"; - internal const string Parameter = "Parameters of"; + public const string RuleId = "CA1708"; + public const string Namespace = "Namespaces"; + public const string Type = "Types"; + public const string Member = "Members"; + public const string Parameter = "Parameters of"; internal static readonly DiagnosticDescriptor Rule = new DiagnosticDescriptor(RuleId, - new LocalizableResourceString(nameof(FxCopRulesResources.IdentifiersShouldDifferByMoreThanCase), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)), - new LocalizableResourceString(nameof(FxCopRulesResources.IdentifierNamesShouldDifferMoreThanCase), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)), - FxCopDiagnosticCategory.Naming, + new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.IdentifiersShouldDifferByMoreThanCase), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)), + new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.IdentifierNamesShouldDifferMoreThanCase), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)), + AnalyzerPowerPackDiagnosticCategory.Naming, DiagnosticSeverity.Warning, isEnabledByDefault: false, - description: new LocalizableResourceString(nameof(FxCopRulesResources.IdentifiersShouldDifferByMoreThanCaseDescription), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)), + description: new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.IdentifiersShouldDifferByMoreThanCaseDescription), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)), helpLinkUri: "http://msdn.microsoft.com/library/ms182242.aspx", customTags: DiagnosticCustomTags.Microsoft); @@ -99,7 +100,7 @@ private void CheckNamespaceMembers(IEnumerable namespaces, Com } else { - // If the namespace does not contain any externally visible types then exclude it from namecheck + // If the namespace does not contain any externally visible types then exclude it from name check excludedNamespaces.Add(@namespace); } @@ -124,7 +125,7 @@ private void CheckNamespaceMembers(IEnumerable namespaces, Com private static void CheckTypeMembers(IEnumerable members, Action addDiagnostic) { - // Remove constructors, indexers, operators and destructors for namecheck + // Remove constructors, indexers, operators and destructors for name check var membersForNameCheck = members.Where(item => !item.IsConstructor() && !item.IsDestructor() && !item.IsIndexer() && !item.IsUserDefinedOperator()); if (membersForNameCheck.Any()) { @@ -168,7 +169,7 @@ private static void CheckParameterNames(IEnumerable parameters return; } - var parameterList = parameters.GroupBy((item) => item.Name, StringComparer.InvariantCultureIgnoreCase).Where((group) => group.Count() > 1); + var parameterList = parameters.GroupBy((item) => item.Name, StringComparer.OrdinalIgnoreCase).Where((group) => group.Count() > 1); foreach (var group in parameterList) { @@ -187,7 +188,7 @@ private static bool HasViolatingParameters(ISymbol symbol) return false; } - return parameters.GroupBy(item => item.Name, StringComparer.InvariantCultureIgnoreCase).Where((group) => group.Count() > 1).Any(); + return parameters.GroupBy(item => item.Name, StringComparer.OrdinalIgnoreCase).Where((group) => group.Count() > 1).Any(); } private static void CheckMemberNames(IEnumerable members, Action addDiagnostic) @@ -199,7 +200,7 @@ private static void CheckMemberNames(IEnumerable members, Action !item.IsType()).GroupBy((item) => item.Name).Where((group) => group.Count() > 1).SelectMany((group) => group.Skip(1)); - var memberList = members.Where((item) => !overloadedMembers.Contains(item)).GroupBy((item) => DiagnosticHelpers.GetMemberName(item), StringComparer.InvariantCultureIgnoreCase).Where((group) => group.Count() > 1); + var memberList = members.Where((item) => !overloadedMembers.Contains(item)).GroupBy((item) => DiagnosticHelpers.GetMemberName(item), StringComparer.OrdinalIgnoreCase).Where((group) => group.Count() > 1); foreach (var group in memberList) { @@ -216,7 +217,7 @@ private static void CheckTypeNames(IEnumerable types, Action DiagnosticHelpers.GetMemberName(item), StringComparer.InvariantCultureIgnoreCase) + var typeList = types.GroupBy((item) => DiagnosticHelpers.GetMemberName(item), StringComparer.OrdinalIgnoreCase) .Where((group) => group.Count() > 1); foreach (var group in typeList) @@ -233,7 +234,7 @@ private static void CheckNamespaceNames(IEnumerable namespaces return; } - var namespaceList = namespaces.GroupBy((item) => item.ToDisplayString(), StringComparer.InvariantCultureIgnoreCase).Where((group) => group.Count() > 1); + var namespaceList = namespaces.GroupBy((item) => item.ToDisplayString(), StringComparer.OrdinalIgnoreCase).Where((group) => group.Count() > 1); foreach (var group in namespaceList) { @@ -247,7 +248,7 @@ private static void CheckNamespaceNames(IEnumerable namespaces private static string GetSymbolDisplayString(IGrouping group) { - return string.Join(", ", group.Select(s => s.ToDisplayString()).OrderBy(k => k, StringComparer.InvariantCulture)); + return string.Join(", ", group.Select(s => s.ToDisplayString()).OrderBy(k => k, StringComparer.Ordinal)); } public static bool IsExternallyVisible(ISymbol symbol) diff --git a/src/Diagnostics/FxCop/Core/Naming/CA1715DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/Core/Naming/CA1715DiagnosticAnalyzer.cs index 318fcad5b9ea871a19dbaded024ee33a4b42216f..4a892febea8725878051df612c6d6262a4448ce1 100644 --- a/src/Diagnostics/FxCop/Core/Naming/CA1715DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/Naming/CA1715DiagnosticAnalyzer.cs @@ -3,30 +3,31 @@ using System; using System.Collections.Immutable; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Naming +namespace Microsoft.AnalyzerPowerPack.Naming { [DiagnosticAnalyzer(LanguageNames.CSharp, LanguageNames.VisualBasic)] public sealed class CA1715DiagnosticAnalyzer : DiagnosticAnalyzer { - internal const string RuleId = "CA1715"; + public const string RuleId = "CA1715"; - private static readonly LocalizableString s_localizableMessageAndTitleInterfaceRule = new LocalizableResourceString(nameof(FxCopRulesResources.InterfaceNamesShouldStartWithI), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - internal static readonly DiagnosticDescriptor InterfaceRule = new DiagnosticDescriptor(RuleId, + private static readonly LocalizableString s_localizableMessageAndTitleInterfaceRule = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.InterfaceNamesShouldStartWithI), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + public static readonly DiagnosticDescriptor InterfaceRule = new DiagnosticDescriptor(RuleId, s_localizableMessageAndTitleInterfaceRule, s_localizableMessageAndTitleInterfaceRule, - FxCopDiagnosticCategory.Naming, + AnalyzerPowerPackDiagnosticCategory.Naming, DiagnosticSeverity.Warning, isEnabledByDefault: true, helpLinkUri: "http://msdn.microsoft.com/library/ms182243.aspx", customTags: DiagnosticCustomTags.Microsoft); - private static readonly LocalizableString s_localizableMessageAndTitleTypeParameterRule = new LocalizableResourceString(nameof(FxCopRulesResources.TypeParameterNamesShouldStartWithT), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - internal static readonly DiagnosticDescriptor TypeParameterRule = new DiagnosticDescriptor(RuleId, + private static readonly LocalizableString s_localizableMessageAndTitleTypeParameterRule = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.TypeParameterNamesShouldStartWithT), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + public static readonly DiagnosticDescriptor TypeParameterRule = new DiagnosticDescriptor(RuleId, s_localizableMessageAndTitleTypeParameterRule, s_localizableMessageAndTitleTypeParameterRule, - FxCopDiagnosticCategory.Naming, + AnalyzerPowerPackDiagnosticCategory.Naming, DiagnosticSeverity.Warning, isEnabledByDefault: true, helpLinkUri: "http://msdn.microsoft.com/library/ms182243.aspx", diff --git a/src/Diagnostics/FxCop/Core/Performance/RemoveEmptyFinalizers.Fixer.cs b/src/Diagnostics/FxCop/Core/Performance/RemoveEmptyFinalizers.Fixer.cs index 3e83e65e6c553c685f86e79a1ba882c3b9e8b202..5a394d107ad1021e42a972937ff19574ebf6124c 100644 --- a/src/Diagnostics/FxCop/Core/Performance/RemoveEmptyFinalizers.Fixer.cs +++ b/src/Diagnostics/FxCop/Core/Performance/RemoveEmptyFinalizers.Fixer.cs @@ -6,10 +6,11 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.Editing; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Performance +namespace Microsoft.AnalyzerPowerPack.Performance { /// /// CA1821: Remove empty finalizers @@ -33,7 +34,7 @@ public override async Task RegisterCodeFixesAsync(CodeFixContext context) // We cannot have multiple overlapping diagnostics of this id. var diagnostic = context.Diagnostics.Single(); - context.RegisterCodeFix(new MyCodeAction(FxCopFixersResources.RemoveEmptyFinalizers, + context.RegisterCodeFix(new MyCodeAction(AnalyzerPowerPackFixersResources.RemoveEmptyFinalizers, async ct => await RemoveFinalizer(context.Document, node, ct).ConfigureAwait(false)), diagnostic); return; diff --git a/src/Diagnostics/FxCop/Core/Performance/RemoveEmptyFinalizers.cs b/src/Diagnostics/FxCop/Core/Performance/RemoveEmptyFinalizers.cs index 0cff105f56aa3d2b0ccb9716b21672076a2ffa99..e77fcae23919366f2b97ac516a7a5963f8a52fcb 100644 --- a/src/Diagnostics/FxCop/Core/Performance/RemoveEmptyFinalizers.cs +++ b/src/Diagnostics/FxCop/Core/Performance/RemoveEmptyFinalizers.cs @@ -2,20 +2,21 @@ using System.Collections.Immutable; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Performance +namespace Microsoft.AnalyzerPowerPack.Performance { public abstract class RemoveEmptyFinalizers : DiagnosticAnalyzer where TLanguageKindEnum : struct { public const string RuleId = "CA1821"; - private static readonly LocalizableString s_localizableMessageAndTitle = new LocalizableResourceString(nameof(FxCopRulesResources.RemoveEmptyFinalizers), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableDescription = new LocalizableResourceString(nameof(FxCopRulesResources.RemoveEmptyFinalizersDescription), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableMessageAndTitle = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.RemoveEmptyFinalizers), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableDescription = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.RemoveEmptyFinalizersDescription), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor Rule = new DiagnosticDescriptor(RuleId, s_localizableMessageAndTitle, s_localizableMessageAndTitle, - FxCopDiagnosticCategory.Performance, + AnalyzerPowerPackDiagnosticCategory.Performance, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: s_localizableDescription, diff --git a/src/Diagnostics/FxCop/Core/Properties/AssemblyInfo.cs b/src/Diagnostics/FxCop/Core/Properties/AssemblyInfo.cs index 7d7b622cbc77ba2cf00db2dda8b2e23887217603..0db80ef643fd6df79974d0604e80919fbf763771 100644 --- a/src/Diagnostics/FxCop/Core/Properties/AssemblyInfo.cs +++ b/src/Diagnostics/FxCop/Core/Properties/AssemblyInfo.cs @@ -2,4 +2,4 @@ using System.Resources; -[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)] \ No newline at end of file +[assembly: NeutralResourcesLanguage("en-US")] \ No newline at end of file diff --git a/src/Diagnostics/FxCop/Core/Shared/CommonAccessibilityUtilities.cs b/src/Diagnostics/FxCop/Core/Shared/CommonAccessibilityUtilities.cs index 0cd0619327247a25f43d74b5b04d0a5e6886e1c9..01f00417eeef9e12775902514e930d049f3d65e1 100644 --- a/src/Diagnostics/FxCop/Core/Shared/CommonAccessibilityUtilities.cs +++ b/src/Diagnostics/FxCop/Core/Shared/CommonAccessibilityUtilities.cs @@ -1,6 +1,8 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +using Microsoft.CodeAnalysis; + +namespace Microsoft.AnalyzerPowerPack.Utilities { internal static class CommonAccessibilityUtilities { diff --git a/src/Diagnostics/FxCop/Core/Shared/DiagnosticHelpers.cs b/src/Diagnostics/FxCop/Core/Shared/DiagnosticHelpers.cs index f0bb108a445627efd8c21205c6a527a9136ef8dd..e88bdaae3b13fd95c42c3138d9f3b85a725610c5 100644 --- a/src/Diagnostics/FxCop/Core/Shared/DiagnosticHelpers.cs +++ b/src/Diagnostics/FxCop/Core/Shared/DiagnosticHelpers.cs @@ -3,8 +3,9 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +namespace Microsoft.AnalyzerPowerPack.Utilities { internal static class DiagnosticHelpers { diff --git a/src/Diagnostics/FxCop/Core/Shared/Extensions/DiagnosticExtensions.cs b/src/Diagnostics/FxCop/Core/Shared/Extensions/DiagnosticExtensions.cs index 6e6b1d2933f2339c6d22145ed0bd3e8817e4077f..9269b63a2364f06d8b593093045fd62655b7c54d 100644 --- a/src/Diagnostics/FxCop/Core/Shared/Extensions/DiagnosticExtensions.cs +++ b/src/Diagnostics/FxCop/Core/Shared/Extensions/DiagnosticExtensions.cs @@ -2,8 +2,9 @@ using System.Collections.Generic; using System.Linq; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +namespace Microsoft.AnalyzerPowerPack.Utilities { public static class DiagnosticExtensions { diff --git a/src/Diagnostics/FxCop/Core/Shared/Extensions/IEnumerableExtensions.cs b/src/Diagnostics/FxCop/Core/Shared/Extensions/IEnumerableExtensions.cs index 300e69fda745347c4d281b61e04a6bff9ed20423..dd4e8728e00d25b95a2e36c465513049795ee072 100644 --- a/src/Diagnostics/FxCop/Core/Shared/Extensions/IEnumerableExtensions.cs +++ b/src/Diagnostics/FxCop/Core/Shared/Extensions/IEnumerableExtensions.cs @@ -5,7 +5,7 @@ using System.Collections.Immutable; using System.Linq; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +namespace Microsoft.AnalyzerPowerPack.Utilities { internal static class IEnumerableExtensions { diff --git a/src/Diagnostics/FxCop/Core/Shared/Extensions/INamedTypeSymbolExtensions.cs b/src/Diagnostics/FxCop/Core/Shared/Extensions/INamedTypeSymbolExtensions.cs index 06f575703c21bab2210e7d6d969708fd66cb0494..ad57f8807124a8303c431e2b4789c04516620773 100644 --- a/src/Diagnostics/FxCop/Core/Shared/Extensions/INamedTypeSymbolExtensions.cs +++ b/src/Diagnostics/FxCop/Core/Shared/Extensions/INamedTypeSymbolExtensions.cs @@ -1,8 +1,9 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +namespace Microsoft.AnalyzerPowerPack.Utilities { internal static class INamedTypeSymbolExtensions { diff --git a/src/Diagnostics/FxCop/Core/Shared/Extensions/ISymbolExtensions.cs b/src/Diagnostics/FxCop/Core/Shared/Extensions/ISymbolExtensions.cs index 668a01c0ba5a5b1e2b5275d721b6ef774b268bf2..a6b0e351ed4e52c79b52e6a53384ddae95c601fc 100644 --- a/src/Diagnostics/FxCop/Core/Shared/Extensions/ISymbolExtensions.cs +++ b/src/Diagnostics/FxCop/Core/Shared/Extensions/ISymbolExtensions.cs @@ -1,8 +1,9 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Immutable; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +namespace Microsoft.AnalyzerPowerPack.Utilities { public static class ISymbolExtensions { diff --git a/src/Diagnostics/FxCop/Core/Shared/Extensions/ITypeSymbolExtensions.cs b/src/Diagnostics/FxCop/Core/Shared/Extensions/ITypeSymbolExtensions.cs index 5558242287b97b30c9e5a66ac0b29038f28ba754..d5c5954a21d54e2d91fa69a43cbd0dda9df5455d 100644 --- a/src/Diagnostics/FxCop/Core/Shared/Extensions/ITypeSymbolExtensions.cs +++ b/src/Diagnostics/FxCop/Core/Shared/Extensions/ITypeSymbolExtensions.cs @@ -2,8 +2,9 @@ using System; using System.Collections.Generic; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +namespace Microsoft.AnalyzerPowerPack.Utilities { public static class ITypeSymbolExtensions { diff --git a/src/Diagnostics/FxCop/Core/Shared/Extensions/ObjectExtensions.cs b/src/Diagnostics/FxCop/Core/Shared/Extensions/ObjectExtensions.cs index ffbb9812e11a2155b875baacf0411bfadf405f96..7c0f358db28bda99eedc6bbf093767c6ddc626f0 100644 --- a/src/Diagnostics/FxCop/Core/Shared/Extensions/ObjectExtensions.cs +++ b/src/Diagnostics/FxCop/Core/Shared/Extensions/ObjectExtensions.cs @@ -2,7 +2,7 @@ using System; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +namespace Microsoft.AnalyzerPowerPack.Utilities { internal static class ObjectExtensions { diff --git a/src/Diagnostics/FxCop/Core/Shared/WellKnownTypes.cs b/src/Diagnostics/FxCop/Core/Shared/WellKnownTypes.cs index 92e4096af65ec52d29d69d316d51153aff67f7e4..4def9a4739448dcb629becfa8a8e6307cd9c3ec3 100644 --- a/src/Diagnostics/FxCop/Core/Shared/WellKnownTypes.cs +++ b/src/Diagnostics/FxCop/Core/Shared/WellKnownTypes.cs @@ -1,8 +1,10 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +using Microsoft.CodeAnalysis; + +namespace Microsoft.AnalyzerPowerPack.Utilities { - internal static class WellKnownTypes + public static class WellKnownTypes { public static INamedTypeSymbol FlagsAttribute(Compilation compilation) { diff --git a/src/Diagnostics/FxCop/Core/Shared/WordParser.cs b/src/Diagnostics/FxCop/Core/Shared/WordParser.cs index 6b1b030eeec68a8d235ed57007b8c2adbfa6a485..729316851d315e1fbf8d90edecd46d4dbd5755b3 100644 --- a/src/Diagnostics/FxCop/Core/Shared/WordParser.cs +++ b/src/Diagnostics/FxCop/Core/Shared/WordParser.cs @@ -5,7 +5,7 @@ using System.ComponentModel; using System.Text; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +namespace Microsoft.AnalyzerPowerPack.Utilities { /// /// Provides methods for parsing words from text. @@ -22,11 +22,11 @@ public class WordParser // allocation of a Collection if you manually construct WordParser // and use the NextWord method instead of using the static Parse method. // - // [char]: Represents any unicode character - // [A-Z]: Represents any unicode uppercase letter - // [a-z]: Represents any unicode lowercase letter + // [char]: Represents any Unicode character + // [A-Z]: Represents any Unicode uppercase letter + // [a-z]: Represents any Unicode lowercase letter // [0-9]: Represents the numbers 0 to 9 - // [letter]: Represents any unicode letter + // [letter]: Represents any Unicode letter // // -> ( | )+ // @@ -68,7 +68,7 @@ public class WordParser /// /// is . /// - /// + /// /// is not one or more of the values. /// internal WordParser(string text, WordParserOptions options) : this(text, options, NullChar) @@ -91,7 +91,7 @@ internal WordParser(string text, WordParserOptions options) : this(text, options /// /// is . /// - /// + /// /// is not one or more of the values. /// internal WordParser(string text, WordParserOptions options, char prefix) @@ -103,7 +103,7 @@ internal WordParser(string text, WordParserOptions options, char prefix) if (options < WordParserOptions.None || options > (WordParserOptions.IgnoreMnemonicsIndicators | WordParserOptions.SplitCompoundWords)) { - throw new InvalidEnumArgumentException(nameof(options), (int)options, typeof(WordParserOptions)); + throw new ArgumentException($"'{nameof(options)}' ({((int)options).ToString()}) is invalid for Enum type'{typeof(WordParserOptions).Name}'"); } _text = text; @@ -145,7 +145,7 @@ private bool SplitCompoundWords /// /// is . /// - /// + /// /// is not one or more of the values. /// internal static Collection Parse(string text, WordParserOptions options) @@ -172,7 +172,7 @@ internal static Collection Parse(string text, WordParserOptions options) /// /// is . /// - /// + /// /// is not one or more of the values. /// internal static Collection Parse(string text, WordParserOptions options, char prefix) @@ -190,7 +190,7 @@ internal static Collection Parse(string text, WordParserOptions options, } /// - /// Returns a value indicating whether at least one of the specified words occurs, using a case-insensitive ordinal comparision, within the specified text. + /// Returns a value indicating whether at least one of the specified words occurs, using a case-insensitive ordinal comparison, within the specified text. /// /// /// A containing the text to check. @@ -211,7 +211,7 @@ internal static Collection Parse(string text, WordParserOptions options, /// /// is . /// - /// + /// /// is not one or more of the values. /// internal static bool ContainsWord(string text, WordParserOptions options, params string[] words) @@ -220,7 +220,7 @@ internal static bool ContainsWord(string text, WordParserOptions options, params } /// - /// Returns a value indicating whether at least one of the specified words occurs, using a case-insensitive ordinal comparision, within the specified text. + /// Returns a value indicating whether at least one of the specified words occurs, using a case-insensitive ordinal comparison, within the specified text. /// /// /// A containing the text to check. @@ -245,7 +245,7 @@ internal static bool ContainsWord(string text, WordParserOptions options, params /// /// is . /// - /// + /// /// is not one or more of the values. /// internal static bool ContainsWord(string text, WordParserOptions options, char prefix, params string[] words) @@ -340,7 +340,7 @@ private bool ParseNext() return true; } - // Unrecogized character, ignore + // Unrecognized character, ignore Skip(); continue; } diff --git a/src/Diagnostics/FxCop/Core/Shared/WordParserOptions.cs b/src/Diagnostics/FxCop/Core/Shared/WordParserOptions.cs index af02bcd7b4578966aa13a75a38a1f253f21dab75..5755abca9d82277dc9c3ab42aa60d5efb8508f75 100644 --- a/src/Diagnostics/FxCop/Core/Shared/WordParserOptions.cs +++ b/src/Diagnostics/FxCop/Core/Shared/WordParserOptions.cs @@ -2,7 +2,7 @@ using System; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +namespace Microsoft.AnalyzerPowerPack.Utilities { /// /// Defines the word parsing and delimiting options for use with . diff --git a/src/Diagnostics/FxCop/Core/Usage/CA2200DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/Core/Usage/CA2200DiagnosticAnalyzer.cs index b0639f1b81a081e0402ff049c76c6cc1918b3041..e65950ef9665fba6b982e83e810d8882c0b4a48a 100644 --- a/src/Diagnostics/FxCop/Core/Usage/CA2200DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/Usage/CA2200DiagnosticAnalyzer.cs @@ -2,20 +2,21 @@ using System.Collections.Immutable; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Usage +namespace Microsoft.AnalyzerPowerPack.Usage { public abstract class CA2200DiagnosticAnalyzer : DiagnosticAnalyzer { internal const string RuleId = "CA2200"; - private static readonly LocalizableString s_localizableTitle = new LocalizableResourceString(nameof(FxCopRulesResources.RethrowToPreserveStackDetails), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableMessage = new LocalizableResourceString(nameof(FxCopRulesResources.RethrowException), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableTitle = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.RethrowToPreserveStackDetails), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableMessage = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.RethrowException), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor Rule = new DiagnosticDescriptor(RuleId, s_localizableTitle, s_localizableMessage, - FxCopDiagnosticCategory.Usage, + AnalyzerPowerPackDiagnosticCategory.Usage, DiagnosticSeverity.Warning, isEnabledByDefault: true, helpLinkUri: "http://msdn.microsoft.com/library/ms182363.aspx", diff --git a/src/Diagnostics/FxCop/Core/Usage/CA2214DiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/Core/Usage/CA2214DiagnosticAnalyzer.cs index 9bbddf9c4eca5f26cfa67694f456a42bc4b6b2a5..4d35080926f63a0de1c555cb521d512f60efb6dc 100644 --- a/src/Diagnostics/FxCop/Core/Usage/CA2214DiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/Usage/CA2214DiagnosticAnalyzer.cs @@ -2,9 +2,10 @@ using System.Collections.Immutable; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Usage +namespace Microsoft.AnalyzerPowerPack.Usage { /// /// CA2214: Do not call overridable methods in constructors @@ -18,13 +19,13 @@ namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Usage public abstract class CA2214DiagnosticAnalyzer : DiagnosticAnalyzer where TLanguageKindEnum : struct { public const string RuleId = "CA2214"; - private static readonly LocalizableString s_localizableMessageAndTitle = new LocalizableResourceString(nameof(FxCopRulesResources.DoNotCallOverridableMethodsInConstructors), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableDescription = new LocalizableResourceString(nameof(FxCopRulesResources.DoNotCallOverridableMethodsInConstructorsDescription), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableMessageAndTitle = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.DoNotCallOverridableMethodsInConstructors), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableDescription = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.DoNotCallOverridableMethodsInConstructorsDescription), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); public static DiagnosticDescriptor Rule = new DiagnosticDescriptor(RuleId, s_localizableMessageAndTitle, s_localizableMessageAndTitle, - FxCopDiagnosticCategory.Usage, + AnalyzerPowerPackDiagnosticCategory.Usage, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: s_localizableDescription, diff --git a/src/Diagnostics/FxCop/Core/Usage/ImplementSerializationConstructors.Fixer.cs b/src/Diagnostics/FxCop/Core/Usage/ImplementSerializationConstructors.Fixer.cs index df46d1270370963be2ebc3ed127765e7ce949b67..496fa5fb4cbbd3b507a0af9753fd72faa8a28955 100644 --- a/src/Diagnostics/FxCop/Core/Usage/ImplementSerializationConstructors.Fixer.cs +++ b/src/Diagnostics/FxCop/Core/Usage/ImplementSerializationConstructors.Fixer.cs @@ -9,11 +9,12 @@ using System.Threading.Tasks; using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.Editing; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; using Microsoft.CodeAnalysis.Shared.Extensions; using Roslyn.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Usage +namespace Microsoft.AnalyzerPowerPack.Usage { /// /// CA2229: Implement serialization constructors. @@ -37,17 +38,17 @@ public override async Task RegisterCodeFixesAsync(CodeFixContext context) var diagnostic = context.Diagnostics.Single(); - // There was no constructor and so the diagnostic was on the type. Generate a serlialization ctor. + // There was no constructor and so the diagnostic was on the type. Generate a serialization ctor. if (symbol.Kind == SymbolKind.NamedType) { - context.RegisterCodeFix(new MyCodeAction(FxCopFixersResources.ImplementSerializationConstructor, + context.RegisterCodeFix(new MyCodeAction(AnalyzerPowerPackFixersResources.ImplementSerializationConstructor, async ct => await GenerateConstructor(context.Document, node, symbol, ct).ConfigureAwait(false)), diagnostic); } // There is a serialization constructor but with incorrect accessibility. Set that right. else if (symbol.Kind == SymbolKind.Method) { - context.RegisterCodeFix(new MyCodeAction(FxCopFixersResources.ImplementSerializationConstructor, + context.RegisterCodeFix(new MyCodeAction(AnalyzerPowerPackFixersResources.ImplementSerializationConstructor, async ct => await SetAccessibility(context.Document, node, symbol, ct).ConfigureAwait(false)), diagnostic); } @@ -75,7 +76,7 @@ private async Task GenerateConstructor(Document document, SyntaxNode n statements: new[] { throwStatement }); docEditor.AddMember(declaration, ctorDecl); - }, cancellationToken); + }, cancellationToken).ConfigureAwait(false); return editor.GetChangedDocuments().First(); } @@ -91,7 +92,7 @@ private async Task SetAccessibility(Document document, SyntaxNode node { var newAccessibility = methodSymbol.ContainingType.IsSealed ? Accessibility.Private : Accessibility.Protected; docEditor.SetAccessibility(declaration, newAccessibility); - }, cancellationToken); + }, cancellationToken).ConfigureAwait(false); return editor.GetChangedDocuments().First(); } diff --git a/src/Diagnostics/FxCop/Core/Usage/MarkAllNonSerializableFields.Fixer.cs b/src/Diagnostics/FxCop/Core/Usage/MarkAllNonSerializableFields.Fixer.cs index 165806bfc6c123ef37f22dd6d3a7e4bd4ccb3c23..bd6825b5c808bca4fd129ad280467c04a47d90a5 100644 --- a/src/Diagnostics/FxCop/Core/Usage/MarkAllNonSerializableFields.Fixer.cs +++ b/src/Diagnostics/FxCop/Core/Usage/MarkAllNonSerializableFields.Fixer.cs @@ -8,10 +8,11 @@ using System.Threading.Tasks; using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.Editing; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; using Roslyn.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Usage +namespace Microsoft.AnalyzerPowerPack.Usage { /// /// CA2235: Mark all non-serializable fields @@ -35,7 +36,7 @@ public override async Task RegisterCodeFixesAsync(CodeFixContext context) var diagnostic = context.Diagnostics.Single(); // Fix 1: Add a NonSerialized attribute to the field - context.RegisterCodeFix(new MyCodeAction(FxCopFixersResources.AddNonSerializedAttribute, + context.RegisterCodeFix(new MyCodeAction(AnalyzerPowerPackFixersResources.AddNonSerializedAttribute, async ct => await AddNonSerializedAttribute(context.Document, fieldNode, ct).ConfigureAwait(false)), diagnostic); @@ -46,7 +47,7 @@ public override async Task RegisterCodeFixesAsync(CodeFixContext context) var type = fieldSymbol?.Type; if (type != null && type.Locations.Any(l => l.IsInSource)) { - context.RegisterCodeFix(new MyCodeAction(FxCopFixersResources.AddSerializableAttribute, + context.RegisterCodeFix(new MyCodeAction(AnalyzerPowerPackFixersResources.AddSerializableAttribute, async ct => await AddSerializableAttributeToType(context.Document, type, ct).ConfigureAwait(false)), diagnostic); } @@ -67,7 +68,7 @@ private static async Task AddSerializableAttributeToType(Document docu { var serializableAttr = docEditor.Generator.Attribute(docEditor.Generator.TypeExpression(WellKnownTypes.SerializableAttribute(docEditor.SemanticModel.Compilation))); docEditor.AddAttribute(declaration, serializableAttr); - }, cancellationToken); + }, cancellationToken).ConfigureAwait(false); return editor.GetChangedDocuments().First(); } diff --git a/src/Diagnostics/FxCop/Core/Usage/MarkTypesWithSerializable.Fixer.cs b/src/Diagnostics/FxCop/Core/Usage/MarkTypesWithSerializable.Fixer.cs index 046772306da4952dc4dddd5c8f28fb7e8b3b01cc..263db5cf76b0a63846bd187d17fbbecd2c5c2e69 100644 --- a/src/Diagnostics/FxCop/Core/Usage/MarkTypesWithSerializable.Fixer.cs +++ b/src/Diagnostics/FxCop/Core/Usage/MarkTypesWithSerializable.Fixer.cs @@ -8,9 +8,10 @@ using System.Threading.Tasks; using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.Editing; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; +using Microsoft.CodeAnalysis; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Usage +namespace Microsoft.AnalyzerPowerPack.Usage { /// /// CA2237: Mark ISerializable types with SerializableAttribute @@ -32,7 +33,7 @@ public override async Task RegisterCodeFixesAsync(CodeFixContext context) } var diagnostic = context.Diagnostics.Single(); - context.RegisterCodeFix(new MyCodeAction(FxCopFixersResources.AddSerializableAttribute, + context.RegisterCodeFix(new MyCodeAction(AnalyzerPowerPackFixersResources.AddSerializableAttribute, async ct => await AddSerializableAttribute(context.Document, node, ct).ConfigureAwait(false)), diagnostic); } diff --git a/src/Diagnostics/FxCop/Core/Usage/SerializationRulesDiagnosticAnalyzer.cs b/src/Diagnostics/FxCop/Core/Usage/SerializationRulesDiagnosticAnalyzer.cs index 1bb1aa786796e49b286dae7599e348f9ff834b97..a544d4e561beebfd5700228caa43e80eefd1cb2e 100644 --- a/src/Diagnostics/FxCop/Core/Usage/SerializationRulesDiagnosticAnalyzer.cs +++ b/src/Diagnostics/FxCop/Core/Usage/SerializationRulesDiagnosticAnalyzer.cs @@ -2,23 +2,24 @@ using System.Collections.Immutable; using System.Linq; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities; +using Microsoft.AnalyzerPowerPack.Utilities; -namespace Microsoft.CodeAnalysis.FxCopAnalyzers.Usage +namespace Microsoft.AnalyzerPowerPack.Usage { [DiagnosticAnalyzer(LanguageNames.CSharp, LanguageNames.VisualBasic)] public sealed class SerializationRulesDiagnosticAnalyzer : DiagnosticAnalyzer { // Implement serialization constructors internal const string RuleCA2229Id = "CA2229"; - private static readonly LocalizableString s_localizableTitleCA2229 = new LocalizableResourceString(nameof(FxCopRulesResources.ImplementSerializationConstructor), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableDescriptionCA2229 = new LocalizableResourceString(nameof(FxCopRulesResources.ImplementSerializationConstructorDescription), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableTitleCA2229 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.ImplementSerializationConstructor), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableDescriptionCA2229 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.ImplementSerializationConstructorDescription), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor RuleCA2229 = new DiagnosticDescriptor(RuleCA2229Id, s_localizableTitleCA2229, "{0}", - FxCopDiagnosticCategory.Usage, + AnalyzerPowerPackDiagnosticCategory.Usage, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: s_localizableDescriptionCA2229, @@ -27,14 +28,14 @@ public sealed class SerializationRulesDiagnosticAnalyzer : DiagnosticAnalyzer // Mark ISerializable types with SerializableAttribute internal const string RuleCA2237Id = "CA2237"; - private static readonly LocalizableString s_localizableTitleCA2237 = new LocalizableResourceString(nameof(FxCopRulesResources.MarkISerializableTypesWithAttribute), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableMessageCA2237 = new LocalizableResourceString(nameof(FxCopRulesResources.AddSerializableAttributeToType), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableDescriptionCA2237 = new LocalizableResourceString(nameof(FxCopRulesResources.MarkISerializableTypesWithAttributeDescription), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableTitleCA2237 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.MarkISerializableTypesWithAttribute), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableMessageCA2237 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.AddSerializableAttributeToType), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableDescriptionCA2237 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.MarkISerializableTypesWithAttributeDescription), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor RuleCA2237 = new DiagnosticDescriptor(RuleCA2237Id, s_localizableTitleCA2237, s_localizableMessageCA2237, - FxCopDiagnosticCategory.Usage, + AnalyzerPowerPackDiagnosticCategory.Usage, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: s_localizableDescriptionCA2237, @@ -43,14 +44,14 @@ public sealed class SerializationRulesDiagnosticAnalyzer : DiagnosticAnalyzer // Mark all non-serializable fields internal const string RuleCA2235Id = "CA2235"; - private static readonly LocalizableString s_localizableTitleCA2235 = new LocalizableResourceString(nameof(FxCopRulesResources.MarkAllNonSerializableFields), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableMessageCA2235 = new LocalizableResourceString(nameof(FxCopRulesResources.FieldIsOfNonSerializableType), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); - private static readonly LocalizableString s_localizableDescriptionCA2235 = new LocalizableResourceString(nameof(FxCopRulesResources.MarkAllNonSerializableFieldsDescription), FxCopRulesResources.ResourceManager, typeof(FxCopRulesResources)); + private static readonly LocalizableString s_localizableTitleCA2235 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.MarkAllNonSerializableFields), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableMessageCA2235 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.FieldIsOfNonSerializableType), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); + private static readonly LocalizableString s_localizableDescriptionCA2235 = new LocalizableResourceString(nameof(AnalyzerPowerPackRulesResources.MarkAllNonSerializableFieldsDescription), AnalyzerPowerPackRulesResources.ResourceManager, typeof(AnalyzerPowerPackRulesResources)); internal static DiagnosticDescriptor RuleCA2235 = new DiagnosticDescriptor(RuleCA2235Id, s_localizableTitleCA2235, s_localizableMessageCA2235, - FxCopDiagnosticCategory.Usage, + AnalyzerPowerPackDiagnosticCategory.Usage, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: s_localizableDescriptionCA2235, @@ -146,20 +147,20 @@ public void AnalyzeSymbol(SymbolAnalysisContext context) // There is no serialization ctor - issue a diagnostic. if (serializationCtor == null) { - context.ReportDiagnostic(namedTypeSymbol.CreateDiagnostic(RuleCA2229, string.Format(FxCopRulesResources.SerializableTypeDoesntHaveCtor, namedTypeSymbol.Name))); + context.ReportDiagnostic(namedTypeSymbol.CreateDiagnostic(RuleCA2229, string.Format(AnalyzerPowerPackRulesResources.SerializableTypeDoesntHaveCtor, namedTypeSymbol.Name))); } else { // Check the accessibility - // The serializationctor should be protected if the class is unsealed and private if the class is sealed. + // The serialization ctor should be protected if the class is unsealed and private if the class is sealed. if (namedTypeSymbol.IsSealed && serializationCtor.DeclaredAccessibility != Accessibility.Private) { - context.ReportDiagnostic(serializationCtor.CreateDiagnostic(RuleCA2229, string.Format(FxCopRulesResources.SerializationCtorAccessibilityForSealedType, namedTypeSymbol.Name))); + context.ReportDiagnostic(serializationCtor.CreateDiagnostic(RuleCA2229, string.Format(AnalyzerPowerPackRulesResources.SerializationCtorAccessibilityForSealedType, namedTypeSymbol.Name))); } if (!namedTypeSymbol.IsSealed && serializationCtor.DeclaredAccessibility != Accessibility.Protected) { - context.ReportDiagnostic(serializationCtor.CreateDiagnostic(RuleCA2229, string.Format(FxCopRulesResources.SerializationCtorAccessibilityForUnSealedType, namedTypeSymbol.Name))); + context.ReportDiagnostic(serializationCtor.CreateDiagnostic(RuleCA2229, string.Format(AnalyzerPowerPackRulesResources.SerializationCtorAccessibilityForUnSealedType, namedTypeSymbol.Name))); } } } diff --git a/src/Diagnostics/FxCop/Setup/FxCopRulesSetup.csproj b/src/Diagnostics/FxCop/Setup/AnalyzerPowerPack.Setup.csproj similarity index 82% rename from src/Diagnostics/FxCop/Setup/FxCopRulesSetup.csproj rename to src/Diagnostics/FxCop/Setup/AnalyzerPowerPack.Setup.csproj index 62bf5dd3a66e61d52b6d84e63b4bc89613d0f4bb..60c066ccf8c96cda29706589c2e61fdcdf4ab0fe 100644 --- a/src/Diagnostics/FxCop/Setup/FxCopRulesSetup.csproj +++ b/src/Diagnostics/FxCop/Setup/AnalyzerPowerPack.Setup.csproj @@ -10,7 +10,7 @@ AnyCPU 2.0 {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - {A5844BB9-7B62-475B-AC61-298E5A23EFFE} + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C} Library FxCopRulesSetup FxCopRulesSetup @@ -25,29 +25,6 @@ true v4.6 - - - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0} - CSharpFxCopRulesDiagnosticAnalyzers - false - BuiltProjectOutputGroup - DebugSymbolsProjectOutputGroup - - - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948} - BasicFxCopRulesDiagnosticAnalyzers - false - BuiltProjectOutputGroup - DebugSymbolsProjectOutputGroup - - - {36755424-5267-478C-9434-37A507E22711} - FxCopRulesDiagnosticAnalyzers - false - BuiltProjectOutputGroup - DebugSymbolsProjectOutputGroup - - @@ -83,9 +60,28 @@ false + + + AnalyzerPowerPack.Common + false + BuiltProjectOutputGroup + DebugSymbolsProjectOutputGroup + + + AnalyzerPowerPack.CSharp + false + BuiltProjectOutputGroup + DebugSymbolsProjectOutputGroup + + + AnalyzerPowerPack.VisualBasic + BuiltProjectOutputGroup%3bBuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b + DebugSymbolsProjectOutputGroup + + - + \ No newline at end of file diff --git a/src/Diagnostics/FxCop/Setup/source.extension.vsixmanifest b/src/Diagnostics/FxCop/Setup/source.extension.vsixmanifest index f3c3c14db93d56931bb29442186f6f5bf9151bbd..ae06f4945883e7b41bef053eb6ad4bcc904966b6 100644 --- a/src/Diagnostics/FxCop/Setup/source.extension.vsixmanifest +++ b/src/Diagnostics/FxCop/Setup/source.extension.vsixmanifest @@ -7,13 +7,13 @@ Setup project for ported FxCop Diagnostics. - + - - + + diff --git a/src/Diagnostics/FxCop/System.Runtime.Analyzers/VisualBasic/BasicSystemRuntimeAnalyzers.vbproj b/src/Diagnostics/FxCop/System.Runtime.Analyzers/VisualBasic/BasicSystemRuntimeAnalyzers.vbproj index a5a4eb518591a16a6b91a231bc2a489d1427c708..4f0c7bd8cfead22326be48b776d736b12aa3467e 100644 --- a/src/Diagnostics/FxCop/System.Runtime.Analyzers/VisualBasic/BasicSystemRuntimeAnalyzers.vbproj +++ b/src/Diagnostics/FxCop/System.Runtime.Analyzers/VisualBasic/BasicSystemRuntimeAnalyzers.vbproj @@ -38,8 +38,8 @@ Workspaces - {d8762a0a-3832-47be-bcf6-8b1060be6b28} - CodeAnalysisDiagnosticAnalyzers + {baa0fee4-93c8-46f0-bb36-53a6053776c8} + SystemRuntimeAnalyzers diff --git a/src/Diagnostics/FxCop/Test/FxCopRulesDiagnosticAnalyzersTest.csproj b/src/Diagnostics/FxCop/Test/AnalyzerPowerPack.Test.csproj similarity index 87% rename from src/Diagnostics/FxCop/Test/FxCopRulesDiagnosticAnalyzersTest.csproj rename to src/Diagnostics/FxCop/Test/AnalyzerPowerPack.Test.csproj index 2c23460e2d6dbdcac4fe13226148e8fe1be4fa9c..90435024fc528f00ff289d6c2d046e839f3b1c82 100644 --- a/src/Diagnostics/FxCop/Test/FxCopRulesDiagnosticAnalyzersTest.csproj +++ b/src/Diagnostics/FxCop/Test/AnalyzerPowerPack.Test.csproj @@ -8,10 +8,10 @@ Debug AnyCPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17} + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F} Library - Microsoft.CodeAnalysis.UnitTests - Roslyn.Diagnostics.Analyzers.FxCop.UnitTests + Microsoft.AnalyzerPowerPack.UnitTests + Microsoft.AnalyzerPowerPack.UnitTests true ..\..\..\..\ true @@ -46,18 +46,6 @@ {5F8D2414-064A-4B3A-9B42-8E2A04246BE5} Workspaces - - {36755424-5267-478C-9434-37A507E22711} - FxCopRulesDiagnosticAnalyzers - - - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0} - CSharpFxCopRulesDiagnosticAnalyzers - - - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948} - BasicFxCopRulesDiagnosticAnalyzers - {0A0621F2-D1DC-47FF-B643-C6646557505E} DiagnosticsTestUtilities @@ -67,6 +55,15 @@ CompilerTestResources false + + AnalyzerPowerPack.Common + + + AnalyzerPowerPack.CSharp + + + AnalyzerPowerPack.VisualBasic + @@ -125,4 +122,4 @@ - + \ No newline at end of file diff --git a/src/Diagnostics/FxCop/Test/Design/CA1008Tests.cs b/src/Diagnostics/FxCop/Test/Design/CA1008Tests.cs index cd1f3ee9c682a9d2c1fc46817a462f3430f04003..2d97dca48560e94fe8af10b10b6fb7a8d9ff8fb0 100644 --- a/src/Diagnostics/FxCop/Test/Design/CA1008Tests.cs +++ b/src/Diagnostics/FxCop/Test/Design/CA1008Tests.cs @@ -1,13 +1,14 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.Design; using Microsoft.CodeAnalysis.Test.Utilities; using Roslyn.Test.Utilities; using Xunit; +using Microsoft.CodeAnalysis.UnitTests; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public class CA1008Tests : DiagnosticAnalyzerTestBase { @@ -26,10 +27,10 @@ protected override DiagnosticAnalyzer GetCSharpDiagnosticAnalyzer() public void CSharp_EnumsShouldZeroValueFlagsRename() { // In enum '{0}', change the name of '{1}' to 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E", "A"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E2", "A2"); - var expectedMessage3 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E3", "A3"); - var expectedMessage4 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E4", "A4"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E", "A"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E2", "A2"); + var expectedMessage3 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E3", "A3"); + var expectedMessage4 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E4", "A4"); var code = @" [System.Flags] @@ -77,8 +78,8 @@ public enum NoZeroValuedField public void CSharp_EnumsShouldZeroValueFlagsMultipleZero() { // Remove all members that have the value zero from {0} except for one member that is named 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E2"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E2"); var code = @"// Some comment [System.Flags] @@ -103,8 +104,8 @@ internal enum E2 public void CSharp_EnumsShouldZeroValueFlagsMultipleZeroWithScope() { // Remove all members that have the value zero from {0} except for one member that is named 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E2"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E2"); var code = @"// Some comment [System.Flags] @@ -128,8 +129,8 @@ internal enum E2 public void CSharp_EnumsShouldZeroValueNotFlagsNoZeroValue() { // Add a member to {0} that has a value of zero with a suggested name of 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E2"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E2"); var code = @" private enum E @@ -164,8 +165,8 @@ internal enum E4 public void CSharp_EnumsShouldZeroValueNotFlagsNoZeroValueWithScope() { // Add a member to {0} that has a value of zero with a suggested name of 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E2"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E2"); var code = @" class C @@ -202,10 +203,10 @@ internal enum E4 public void VisualBasic_EnumsShouldZeroValueFlagsRename() { // In enum '{0}', change the name of '{1}' to 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E", "A"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E2", "A2"); - var expectedMessage3 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E3", "A3"); - var expectedMessage4 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E4", "A4"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E", "A"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E2", "A2"); + var expectedMessage3 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E3", "A3"); + var expectedMessage4 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E4", "A4"); var code = @" @@ -242,10 +243,10 @@ End Enum public void VisualBasic_EnumsShouldZeroValueFlagsRenameScope() { // In enum '{0}', change the name of '{1}' to 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E", "A"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E2", "A2"); - var expectedMessage3 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E3", "A3"); - var expectedMessage4 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E4", "A4"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E", "A"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E2", "A2"); + var expectedMessage3 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E3", "A3"); + var expectedMessage4 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E4", "A4"); var code = @" @@ -282,10 +283,10 @@ End Enum public void VisualBasic_EnumsShouldZeroValueFlagsRename_AttributeListHasTrivia() { // In enum '{0}', change the name of '{1}' to 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E", "A"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E2", "A2"); - var expectedMessage3 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E3", "A3"); - var expectedMessage4 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsRename, "E4", "A4"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E", "A"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E2", "A2"); + var expectedMessage3 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E3", "A3"); + var expectedMessage4 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsRename, "E4", "A4"); var code = @" _ @@ -322,9 +323,9 @@ End Enum public void VisualBasic_EnumsShouldZeroValueFlagsMultipleZero() { // Remove all members that have the value zero from {0} except for one member that is named 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E2"); - var expectedMessage3 = string.Format(FxCopRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E3"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E2"); + var expectedMessage3 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueFlagsMultipleZero, "E3"); var code = @" @@ -355,8 +356,8 @@ End Enum public void VisualBasic_EnumsShouldZeroValueNotFlagsNoZeroValue() { // Add a member to {0} that has a value of zero with a suggested name of 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E2"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E2"); var code = @" Private Enum E @@ -388,8 +389,8 @@ End Enum public void VisualBasic_EnumsShouldZeroValueNotFlagsNoZeroValueWithScope() { // Add a member to {0} that has a value of zero with a suggested name of 'None'. - var expectedMessage1 = string.Format(FxCopRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E"); - var expectedMessage2 = string.Format(FxCopRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E2"); + var expectedMessage1 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E"); + var expectedMessage2 = string.Format(AnalyzerPowerPackRulesResources.EnumsShouldZeroValueNotFlagsNoZeroValue, "E2"); var code = @" Private Enum E diff --git a/src/Diagnostics/FxCop/Test/Design/CA1012Tests.cs b/src/Diagnostics/FxCop/Test/Design/CA1012Tests.cs index 177b1d6383b2e75a2997c7b66545b2da72b66621..c239de9b505f641f9cf134742cde3821afad70bc 100644 --- a/src/Diagnostics/FxCop/Test/Design/CA1012Tests.cs +++ b/src/Diagnostics/FxCop/Test/Design/CA1012Tests.cs @@ -1,12 +1,13 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.Design; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA1012Tests : DiagnosticAnalyzerTestBase { @@ -226,7 +227,7 @@ End Class } internal static string CA1012Name = "CA1012"; - internal static string CA1012Message = FxCopRulesResources.TypeIsAbstractButHasPublicConstructors; + internal static string CA1012Message = AnalyzerPowerPackRulesResources.TypeIsAbstractButHasPublicConstructors; private static DiagnosticResult GetCA1012CSharpResultAt(int line, int column, string objectName) { diff --git a/src/Diagnostics/FxCop/Test/Design/CA1024Tests.cs b/src/Diagnostics/FxCop/Test/Design/CA1024Tests.cs index 01599973ee301fa14256397a4d810954ffef7c02..df7526c63d47f40f8d53ce1283c3de89649eaec9 100644 --- a/src/Diagnostics/FxCop/Test/Design/CA1024Tests.cs +++ b/src/Diagnostics/FxCop/Test/Design/CA1024Tests.cs @@ -1,14 +1,14 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Design; +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.CSharp.Design; +using Microsoft.AnalyzerPowerPack.VisualBasic.Design; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Design; -using Roslyn.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA1024Tests : DiagnosticAnalyzerTestBase { @@ -379,12 +379,12 @@ End Class private static DiagnosticResult GetCA1024CSharpResultAt(int line, int column, string methodName) { - return GetCSharpResultAt(line, column, CA1024Name, string.Format(FxCopRulesResources.ChangeToAPropertyIfAppropriate, methodName)); + return GetCSharpResultAt(line, column, CA1024Name, string.Format(AnalyzerPowerPackRulesResources.ChangeToAPropertyIfAppropriate, methodName)); } private static DiagnosticResult GetCA1024BasicResultAt(int line, int column, string methodName) { - return GetBasicResultAt(line, column, CA1024Name, string.Format(FxCopRulesResources.ChangeToAPropertyIfAppropriate, methodName)); + return GetBasicResultAt(line, column, CA1024Name, string.Format(AnalyzerPowerPackRulesResources.ChangeToAPropertyIfAppropriate, methodName)); } } } diff --git a/src/Diagnostics/FxCop/Test/Design/CA1033Tests.cs b/src/Diagnostics/FxCop/Test/Design/CA1033Tests.cs index 0e6d21b3c41dfc74af45c6ab42e5d8a59157deaf..bbc7b4b1e5a1a7143440a2483b8b04ef42dd8cbc 100644 --- a/src/Diagnostics/FxCop/Test/Design/CA1033Tests.cs +++ b/src/Diagnostics/FxCop/Test/Design/CA1033Tests.cs @@ -1,13 +1,13 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Design; +using Microsoft.AnalyzerPowerPack.CSharp.Design; +using Microsoft.AnalyzerPowerPack.VisualBasic.Design; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Design; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public class CA1033Tests : DiagnosticAnalyzerTestBase { diff --git a/src/Diagnostics/FxCop/Test/Design/CA1052Tests.cs b/src/Diagnostics/FxCop/Test/Design/CA1052Tests.cs index 2e2e0a9017701df016585089ab9fe8bf23832cd7..1bf90c3871341df0d68f584cfbc18345127be340 100644 --- a/src/Diagnostics/FxCop/Test/Design/CA1052Tests.cs +++ b/src/Diagnostics/FxCop/Test/Design/CA1052Tests.cs @@ -1,12 +1,13 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.Design; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public class CA1052Tests : DiagnosticAnalyzerTestBase { @@ -24,12 +25,12 @@ protected override DiagnosticAnalyzer GetBasicDiagnosticAnalyzer() private static DiagnosticResult CSharpResult(int line, int column, string objectName) { - return GetCSharpResultAt(line, column, StaticTypeRulesDiagnosticAnalyzer.CA1052RuleId, string.Format(FxCopRulesResources.StaticHolderTypeIsNotStatic, objectName)); + return GetCSharpResultAt(line, column, StaticTypeRulesDiagnosticAnalyzer.CA1052RuleId, string.Format(AnalyzerPowerPackRulesResources.StaticHolderTypeIsNotStatic, objectName)); } private static DiagnosticResult BasicResult(int line, int column, string objectName) { - return GetBasicResultAt(line, column, StaticTypeRulesDiagnosticAnalyzer.CA1052RuleId, string.Format(FxCopRulesResources.StaticHolderTypeIsNotStatic, objectName)); + return GetBasicResultAt(line, column, StaticTypeRulesDiagnosticAnalyzer.CA1052RuleId, string.Format(AnalyzerPowerPackRulesResources.StaticHolderTypeIsNotStatic, objectName)); } #endregion diff --git a/src/Diagnostics/FxCop/Test/Design/CA1053Tests.cs b/src/Diagnostics/FxCop/Test/Design/CA1053Tests.cs index d6fefc8a332bc2e06e7828c92304ea6e97a9f56d..a7511b3b47cbcc414d803792c10438fbd21654c5 100644 --- a/src/Diagnostics/FxCop/Test/Design/CA1053Tests.cs +++ b/src/Diagnostics/FxCop/Test/Design/CA1053Tests.cs @@ -1,12 +1,13 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.Design; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { // Some of the CA1052Tests tests hold true here as CA1052 and CA1053 are mutually exclusive public class CA1053Tests : DiagnosticAnalyzerTestBase @@ -28,12 +29,12 @@ protected override DiagnosticAnalyzer GetBasicDiagnosticAnalyzer() private static DiagnosticResult CSharpResult(int line, int column, string objectName) { - return GetCSharpResultAt(line, column, StaticTypeRulesDiagnosticAnalyzer.CA1053RuleId, string.Format(FxCopRulesResources.StaticHolderTypesShouldNotHaveConstructorsMessage, objectName)); + return GetCSharpResultAt(line, column, StaticTypeRulesDiagnosticAnalyzer.CA1053RuleId, string.Format(AnalyzerPowerPackRulesResources.StaticHolderTypesShouldNotHaveConstructorsMessage, objectName)); } private static DiagnosticResult BasicResult(int line, int column, string objectName) { - return GetBasicResultAt(line, column, StaticTypeRulesDiagnosticAnalyzer.CA1053RuleId, string.Format(FxCopRulesResources.StaticHolderTypesShouldNotHaveConstructorsMessage, objectName)); + return GetBasicResultAt(line, column, StaticTypeRulesDiagnosticAnalyzer.CA1053RuleId, string.Format(AnalyzerPowerPackRulesResources.StaticHolderTypesShouldNotHaveConstructorsMessage, objectName)); } #endregion diff --git a/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1008FixerTests.cs b/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1008FixerTests.cs index ca80ae184275785bbf5c0dab2bef079e3539a0c9..a5d0a911347351e6a72346811abdece1f7e2aca5 100644 --- a/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1008FixerTests.cs +++ b/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1008FixerTests.cs @@ -1,15 +1,16 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack.CSharp.Design; +using Microsoft.AnalyzerPowerPack.Design; +using Microsoft.AnalyzerPowerPack.VisualBasic.Design; using Microsoft.CodeAnalysis.CodeFixes; -using Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Design; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Design; +using Microsoft.CodeAnalysis.UnitTests; using Roslyn.Test.Utilities; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public class CA1008FixerTests : CodeFixTestBase { diff --git a/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1012FixerTests.cs b/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1012FixerTests.cs index c1299525d82a9417c21b49efcf6d6c3be58cd90e..cea347713084ded12c30fc5dba32d235dcd921cf 100644 --- a/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1012FixerTests.cs +++ b/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1012FixerTests.cs @@ -1,12 +1,13 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack.Design; using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA1012FixerTests : CodeFixTestBase { diff --git a/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1033FixerTests.cs b/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1033FixerTests.cs index c06a3285c4b8155f7c83496ccc23310ae2090af6..73d72a7a954bd41bd66a34347ba8e1a240fb210d 100644 --- a/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1033FixerTests.cs +++ b/src/Diagnostics/FxCop/Test/Design/CodeFixes/CA1033FixerTests.cs @@ -1,15 +1,16 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack.CSharp.Design; +using Microsoft.AnalyzerPowerPack.Design; +using Microsoft.AnalyzerPowerPack.VisualBasic.Design; using Microsoft.CodeAnalysis.CodeFixes; -using Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Design; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Design; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Design; +using Microsoft.CodeAnalysis.UnitTests; using Roslyn.Test.Utilities; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public class CA1033FixerTests : CodeFixTestBase { diff --git a/src/Diagnostics/FxCop/Test/HardeningAnalyzer/HardeningAnalyzerTests.cs b/src/Diagnostics/FxCop/Test/HardeningAnalyzer/HardeningAnalyzerTests.cs index c9e42f2041925c014c3824121d0d68897da23775..c206b04061197b202e9f7d70d61d6cf483d02c25 100644 --- a/src/Diagnostics/FxCop/Test/HardeningAnalyzer/HardeningAnalyzerTests.cs +++ b/src/Diagnostics/FxCop/Test/HardeningAnalyzer/HardeningAnalyzerTests.cs @@ -3,15 +3,15 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; -using System.Threading; +using Microsoft.AnalyzerPowerPack.Naming; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Naming; using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Roslyn.Test.Utilities; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests.HardeningAnalyzer +namespace Microsoft.AnalyzerPowerPack.UnitTests.HardeningAnalyzer { public class HardeningAnalyzerTests : DiagnosticAnalyzerTestBase { @@ -42,13 +42,13 @@ public class Class6 { } "; - var diagnosticsBag = DiagnosticBag.GetInstance(); + var diagnostics = new List(); var documentsAndSpan = GetDocumentsAndSpans(new[] { source }, LanguageNames.CSharp); - AnalyzeDocumentCore(GetCSharpDiagnosticAnalyzer(), documentsAndSpan.Item1[0], diagnosticsBag.Add, null, logAnalyzerExceptionAsDiagnostics: true); - var diagnostics = diagnosticsBag.ToReadOnlyAndFree(); - Assert.True(diagnostics.Length > 0); - Assert.Equal(string.Format("info AD0001: " + AnalyzerDriverResources.AnalyzerThrows, GetCSharpDiagnosticAnalyzer().GetType(), "System.NotImplementedException", "The method or operation is not implemented."), - DiagnosticFormatter.Instance.Format(diagnostics[0], EnsureEnglishUICulture.PreferredOrNull)); + AnalyzeDocumentCore(GetCSharpDiagnosticAnalyzer(), documentsAndSpan.Item1[0], diagnostics.Add, null, logAnalyzerExceptionAsDiagnostics: true); + Assert.True(diagnostics.Count > 0); + Assert.Equal( + $"info AD0001: The Compiler Analyzer '{GetCSharpDiagnosticAnalyzer().GetType()}' threw an exception of type 'System.NotImplementedException' with message 'The method or operation is not implemented.'.", + (new DiagnosticFormatter()).Format(diagnostics[0], EnsureEnglishUICulture.PreferredOrNull)); } #region "Test_Class" diff --git a/src/Diagnostics/FxCop/Test/Naming/CA1708Tests.cs b/src/Diagnostics/FxCop/Test/Naming/CA1708Tests.cs index add414676b434250802a12cd35fc3e7654c728b8..8c9f9c0507f143b207447cea5ced602422f3b0de 100644 --- a/src/Diagnostics/FxCop/Test/Naming/CA1708Tests.cs +++ b/src/Diagnostics/FxCop/Test/Naming/CA1708Tests.cs @@ -1,14 +1,16 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Linq; +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.Naming; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Naming; using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Roslyn.Utilities; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public class CA1708Tests : DiagnosticAnalyzerTestBase { @@ -315,7 +317,7 @@ public int CAsE1 } } ", - GetCA1708CSharpResultAt(Member, GetSymbolDisplayString("NI.CASE1.Case1", "NI.CASE1.CAse1(int)", "NI.CASE1.CaSe1(T)", "NI.CASE1.CASe1", "NI.CASE1.CasE1", "NI.CASE1.caSE1", "NI.CASE1.CAsE1"), 4, 18)); + GetCA1708CSharpResultAt(Member, GetSymbolDisplayStringNoSorting("NI.CASE1.CASe1", "NI.CASE1.CAsE1", "NI.CASE1.CAse1(int)", "NI.CASE1.CaSe1(T)", "NI.CASE1.CasE1", "NI.CASE1.Case1", "NI.CASE1.caSE1"), 4, 18)); } [Fact, Trait(Traits.Feature, Traits.Features.Diagnostics)] @@ -380,7 +382,7 @@ public partial class D #region Helper Methods private const string RuleName = CA1708DiagnosticAnalyzer.RuleId; - private static readonly string s_message = FxCopRulesResources.IdentifierNamesShouldDifferMoreThanCase; + private static readonly string s_message = AnalyzerPowerPackRulesResources.IdentifierNamesShouldDifferMoreThanCase; private const string Namespace = CA1708DiagnosticAnalyzer.Namespace; private const string Type = CA1708DiagnosticAnalyzer.Type; @@ -389,7 +391,12 @@ public partial class D private static string GetSymbolDisplayString(params string[] objectName) { - return string.Join(", ", objectName.OrderBy(StringComparer.InvariantCulture)); + return string.Join(", ", objectName.OrderByDescending(x => x, StringComparer.InvariantCulture)); + } + + private static string GetSymbolDisplayStringNoSorting(params string[] objectName) + { + return string.Join(", ", objectName); } private static DiagnosticResult GetCA1708CSharpResult(string typeName, string objectName) diff --git a/src/Diagnostics/FxCop/Test/Naming/CA1715Tests.cs b/src/Diagnostics/FxCop/Test/Naming/CA1715Tests.cs index cdf7b8c0060964c02b72e2220407bc4b8fe2266c..eb7434c1e525c1cd53c49c4bbe784e64eb1e4b9f 100644 --- a/src/Diagnostics/FxCop/Test/Naming/CA1715Tests.cs +++ b/src/Diagnostics/FxCop/Test/Naming/CA1715Tests.cs @@ -1,12 +1,13 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.Naming; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Naming; using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public class CA1715Test : DiagnosticAnalyzerTestBase { @@ -291,8 +292,8 @@ End Class GetCA1715BasicResultAt(46, 30, CA1715TypeParameterMessage)); } - internal static string CA1715InterfaceMessage = FxCopRulesResources.InterfaceNamesShouldStartWithI; - internal static string CA1715TypeParameterMessage = FxCopRulesResources.TypeParameterNamesShouldStartWithT; + internal static string CA1715InterfaceMessage = AnalyzerPowerPackRulesResources.InterfaceNamesShouldStartWithI; + internal static string CA1715TypeParameterMessage = AnalyzerPowerPackRulesResources.TypeParameterNamesShouldStartWithT; private static DiagnosticResult GetCA1715CSharpResultAt(int line, int column, string message) { diff --git a/src/Diagnostics/FxCop/Test/Performance/RemoveEmptyFinalizersTests.Fixer.cs b/src/Diagnostics/FxCop/Test/Performance/RemoveEmptyFinalizersTests.Fixer.cs index 26439ae0ab4df75cf935a18d6247ae5497d5506c..17281f61abb80bc858394a485c3d4cba5270440c 100644 --- a/src/Diagnostics/FxCop/Test/Performance/RemoveEmptyFinalizersTests.Fixer.cs +++ b/src/Diagnostics/FxCop/Test/Performance/RemoveEmptyFinalizersTests.Fixer.cs @@ -1,14 +1,15 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack.CSharp.Performance; +using Microsoft.AnalyzerPowerPack.Performance; +using Microsoft.AnalyzerPowerPack.VisualBasic.Performance; using Microsoft.CodeAnalysis.CodeFixes; -using Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Performance; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Performance; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Performance; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class RemoveEmptyFinalizersFixerTests : CodeFixTestBase { diff --git a/src/Diagnostics/FxCop/Test/Performance/RemoveEmptyFinalizersTests.cs b/src/Diagnostics/FxCop/Test/Performance/RemoveEmptyFinalizersTests.cs index cddd56674c84e7da5f14fc9ddd5deb728c225be5..68d208b017787f7eb11735cea8f47302cff6f157 100644 --- a/src/Diagnostics/FxCop/Test/Performance/RemoveEmptyFinalizersTests.cs +++ b/src/Diagnostics/FxCop/Test/Performance/RemoveEmptyFinalizersTests.cs @@ -1,13 +1,14 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Performance; +using Microsoft.AnalyzerPowerPack.CSharp.Performance; +using Microsoft.AnalyzerPowerPack.VisualBasic.Performance; using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Performance; +using Microsoft.CodeAnalysis.UnitTests; using Roslyn.Test.Utilities; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class RemoveEmptyFinalizersTests : DiagnosticAnalyzerTestBase { diff --git a/src/Diagnostics/FxCop/Test/Usage/CA2200Tests.cs b/src/Diagnostics/FxCop/Test/Usage/CA2200Tests.cs index d54713f6d7394fe50e635b4dd29614fe5b50f0a0..45441ec6592f960def1926c59aefa8bc7bb37158 100644 --- a/src/Diagnostics/FxCop/Test/Usage/CA2200Tests.cs +++ b/src/Diagnostics/FxCop/Test/Usage/CA2200Tests.cs @@ -1,14 +1,14 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.CSharp.Usage; +using Microsoft.AnalyzerPowerPack.VisualBasic.Usage; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Usage; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Usage; -using Roslyn.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA2200Tests : DiagnosticAnalyzerTestBase { @@ -367,7 +367,7 @@ End Sub } internal static string CA2200Name = "CA2200"; - internal static string CA2200Message = FxCopRulesResources.RethrowException; + internal static string CA2200Message = AnalyzerPowerPackRulesResources.RethrowException; private static DiagnosticResult GetCA2200BasicResultAt(int line, int column) { diff --git a/src/Diagnostics/FxCop/Test/Usage/CA2214Tests.cs b/src/Diagnostics/FxCop/Test/Usage/CA2214Tests.cs index 9420feb188140c3cceebd91b6c900103c44745f1..acf1f5718e16b1a6eec559080705d08a0097b70b 100644 --- a/src/Diagnostics/FxCop/Test/Usage/CA2214Tests.cs +++ b/src/Diagnostics/FxCop/Test/Usage/CA2214Tests.cs @@ -1,14 +1,15 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Linq; -using Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Usage; +using Microsoft.AnalyzerPowerPack.CSharp.Usage; +using Microsoft.AnalyzerPowerPack.VisualBasic.Usage; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Usage; -using Roslyn.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA2214Tests : DiagnosticAnalyzerTestBase { diff --git a/src/Diagnostics/FxCop/Test/Usage/CA2229Tests.cs b/src/Diagnostics/FxCop/Test/Usage/CA2229Tests.cs index 2f0ac12505aac8ffafcb121a75a76bb256a8b4fa..bd7a1863f259d8e21a0900c86c9ab63ea6e98c58 100644 --- a/src/Diagnostics/FxCop/Test/Usage/CA2229Tests.cs +++ b/src/Diagnostics/FxCop/Test/Usage/CA2229Tests.cs @@ -1,12 +1,13 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Usage; +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.Usage; using Microsoft.CodeAnalysis.Test.Utilities; using Xunit; +using Microsoft.CodeAnalysis.UnitTests; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA2229Tests : DiagnosticAnalyzerTestBase { @@ -410,9 +411,9 @@ End Sub } internal static string CA2229Name = "CA2229"; - internal static string CA2229Message = FxCopRulesResources.SerializableTypeDoesntHaveCtor; - internal static string CA2229MessageSealed = FxCopRulesResources.SerializationCtorAccessibilityForSealedType; - internal static string CA2229MessageUnsealed = FxCopRulesResources.SerializationCtorAccessibilityForUnSealedType; + internal static string CA2229Message = AnalyzerPowerPackRulesResources.SerializableTypeDoesntHaveCtor; + internal static string CA2229MessageSealed = AnalyzerPowerPackRulesResources.SerializationCtorAccessibilityForSealedType; + internal static string CA2229MessageUnsealed = AnalyzerPowerPackRulesResources.SerializationCtorAccessibilityForUnSealedType; private static DiagnosticResult GetCA2229CSharpResultAt(int line, int column, string objectName, string message) { diff --git a/src/Diagnostics/FxCop/Test/Usage/CA2235Tests.cs b/src/Diagnostics/FxCop/Test/Usage/CA2235Tests.cs index e8fb56b6584170e5d560ce57c2d3a05940471b1a..f87defb011f0dc7c66240565e543f20e9f64360a 100644 --- a/src/Diagnostics/FxCop/Test/Usage/CA2235Tests.cs +++ b/src/Diagnostics/FxCop/Test/Usage/CA2235Tests.cs @@ -1,13 +1,14 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Usage; +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.Usage; using Microsoft.CodeAnalysis.Test.Utilities; using Roslyn.Test.Utilities; using Xunit; +using Microsoft.CodeAnalysis.UnitTests; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA2235Tests : DiagnosticAnalyzerTestBase { @@ -219,7 +220,7 @@ End Class } internal static string CA2235Name = "CA2235"; - internal static string CA2235Message = FxCopRulesResources.FieldIsOfNonSerializableType; + internal static string CA2235Message = AnalyzerPowerPackRulesResources.FieldIsOfNonSerializableType; private static DiagnosticResult GetCA2235CSharpResultAt(int line, int column, string fieldName, string containerName, string typeName) { diff --git a/src/Diagnostics/FxCop/Test/Usage/CA2237Tests.cs b/src/Diagnostics/FxCop/Test/Usage/CA2237Tests.cs index d1eb0054e9ed6abdda0fba7aa25e7cf9e5a88db4..b8ee27163d296f3a4c56274a3f717b3e8407a753 100644 --- a/src/Diagnostics/FxCop/Test/Usage/CA2237Tests.cs +++ b/src/Diagnostics/FxCop/Test/Usage/CA2237Tests.cs @@ -1,12 +1,13 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Usage; +using Microsoft.AnalyzerPowerPack; +using Microsoft.AnalyzerPowerPack.Usage; using Microsoft.CodeAnalysis.Test.Utilities; using Xunit; +using Microsoft.CodeAnalysis.UnitTests; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA2237Tests : DiagnosticAnalyzerTestBase { @@ -202,7 +203,7 @@ End Class } internal static string CA2237Name = "CA2237"; - internal static string CA2237Message = FxCopRulesResources.AddSerializableAttributeToType; + internal static string CA2237Message = AnalyzerPowerPackRulesResources.AddSerializableAttributeToType; private static DiagnosticResult GetCA2237CSharpResultAt(int line, int column, string objectName) { diff --git a/src/Diagnostics/FxCop/Test/Usage/ImplementSerializationConstructorsTests.Fixer.cs b/src/Diagnostics/FxCop/Test/Usage/ImplementSerializationConstructorsTests.Fixer.cs index 138343008b8d2f5d23bc63808c5b61cc02ef383c..cba18b40694cee00659020b05a4b35b5ceff86c3 100644 --- a/src/Diagnostics/FxCop/Test/Usage/ImplementSerializationConstructorsTests.Fixer.cs +++ b/src/Diagnostics/FxCop/Test/Usage/ImplementSerializationConstructorsTests.Fixer.cs @@ -2,12 +2,13 @@ using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Usage; +using Microsoft.AnalyzerPowerPack.Usage; using Microsoft.CodeAnalysis.Test.Utilities; using Roslyn.Test.Utilities; using Xunit; +using Microsoft.CodeAnalysis.UnitTests; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA2229FixerTests : CodeFixTestBase { diff --git a/src/Diagnostics/FxCop/Test/Usage/MarkAllNonSerializableFieldsTests.Fixer.cs b/src/Diagnostics/FxCop/Test/Usage/MarkAllNonSerializableFieldsTests.Fixer.cs index 84f233645e85a77ae3bf0d3bad21ce30516f3b52..71649c1186a1f2b55d4877607b5facbe0cf24725 100644 --- a/src/Diagnostics/FxCop/Test/Usage/MarkAllNonSerializableFieldsTests.Fixer.cs +++ b/src/Diagnostics/FxCop/Test/Usage/MarkAllNonSerializableFieldsTests.Fixer.cs @@ -1,15 +1,16 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack.CSharp.Usage; +using Microsoft.AnalyzerPowerPack.Usage; +using Microsoft.AnalyzerPowerPack.VisualBasic.Usage; using Microsoft.CodeAnalysis.CodeFixes; -using Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.Usage; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Usage; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Usage; +using Microsoft.CodeAnalysis.UnitTests; using Roslyn.Test.Utilities; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA2235FixerTests : CodeFixTestBase { diff --git a/src/Diagnostics/FxCop/Test/Usage/MarkTypesWithSerializableTests.Fixer.cs b/src/Diagnostics/FxCop/Test/Usage/MarkTypesWithSerializableTests.Fixer.cs index be84efdf388e5dbf346e29c650c2b8b317a6c1f0..2226d446656f4f092ada5d87ec81f33f2557d053 100644 --- a/src/Diagnostics/FxCop/Test/Usage/MarkTypesWithSerializableTests.Fixer.cs +++ b/src/Diagnostics/FxCop/Test/Usage/MarkTypesWithSerializableTests.Fixer.cs @@ -1,13 +1,14 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AnalyzerPowerPack.Usage; using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.FxCopAnalyzers.Usage; using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.CodeAnalysis.UnitTests; using Roslyn.Test.Utilities; using Xunit; -namespace Microsoft.CodeAnalysis.UnitTests +namespace Microsoft.AnalyzerPowerPack.UnitTests { public partial class CA2237FixerTests : CodeFixTestBase { diff --git a/src/Diagnostics/FxCop/VisualBasic/BasicFxCopRulesDiagnosticAnalyzers.vbproj b/src/Diagnostics/FxCop/VisualBasic/AnalyzerPowerPack.VisualBasic.vbproj similarity index 87% rename from src/Diagnostics/FxCop/VisualBasic/BasicFxCopRulesDiagnosticAnalyzers.vbproj rename to src/Diagnostics/FxCop/VisualBasic/AnalyzerPowerPack.VisualBasic.vbproj index 61b011f54df0b946b2f75930f722c46fd9eda8d6..73db6eecebc2446b31d13b54b86848b957847958 100644 --- a/src/Diagnostics/FxCop/VisualBasic/BasicFxCopRulesDiagnosticAnalyzers.vbproj +++ b/src/Diagnostics/FxCop/VisualBasic/AnalyzerPowerPack.VisualBasic.vbproj @@ -8,14 +8,17 @@ Debug AnyCPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948} + {14182A97-F7F0-4C62-8B27-98AA8AE2109A};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + {45854FF7-A6D5-4B28-87A1-0B75390125C0} Library true - Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers + Microsoft.AnalyzerPowerPack.VisualBasic Microsoft.CodeAnalysis.VisualBasic.FxCopRules.DiagnosticAnalyzers.xml ..\..\..\..\ true + Profile7 v4.5 + .NETPortable @@ -29,20 +32,19 @@ {2523D0E6-DF32-4A3E-8AE0-A19BFFAE2EF6} BasicCodeAnalysis - - {36755424-5267-478C-9434-37A507E22711} - FxCopRulesDiagnosticAnalyzers - {5F8D2414-064A-4B3A-9B42-8E2A04246BE5} Workspaces + + AnalyzerPowerPack.Common + - Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.xml + Microsoft.AnalyzerPowerPack.VisualBasic.xml - Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.xml + Microsoft.AnalyzerPowerPack.VisualBasic.xml On @@ -56,6 +58,9 @@ On + + Microsoft.AnalyzerPowerPack.VisualBasic + @@ -79,8 +84,6 @@ ..\..\..\..\packages\Microsoft.Composition.$(MicrosoftCompositionVersion)\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll - - @@ -89,7 +92,6 @@ - diff --git a/src/Diagnostics/FxCop/VisualBasic/Design/BasicCA1024DiagnosticAnalyzer.vb b/src/Diagnostics/FxCop/VisualBasic/Design/BasicCA1024DiagnosticAnalyzer.vb index 1b243dd382001c4df8bdfa1641242aa776fea501..ca37c10025f6c553d8e1ceda46de07bfcb16372b 100644 --- a/src/Diagnostics/FxCop/VisualBasic/Design/BasicCA1024DiagnosticAnalyzer.vb +++ b/src/Diagnostics/FxCop/VisualBasic/Design/BasicCA1024DiagnosticAnalyzer.vb @@ -2,11 +2,13 @@ Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Imports Microsoft.CodeAnalysis.Diagnostics -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Design +Imports Microsoft.AnalyzerPowerPack.Design Imports System.Collections.Immutable Imports System.Threading +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.VisualBasic -Namespace Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Design +Namespace Design Public Class BasicCA1024DiagnosticAnalyzer Inherits CA1024DiagnosticAnalyzer(Of SyntaxKind) diff --git a/src/Diagnostics/FxCop/VisualBasic/Design/BasicInterfaceMethodsShouldBeCallableByChildTypesAnalyzer.vb b/src/Diagnostics/FxCop/VisualBasic/Design/BasicInterfaceMethodsShouldBeCallableByChildTypesAnalyzer.vb index eac8a4e1f2cef3c37b37b59a0808bb20bf5c0d39..795116de6594e02bcf0576e0d8eb156abc27ee38 100644 --- a/src/Diagnostics/FxCop/VisualBasic/Design/BasicInterfaceMethodsShouldBeCallableByChildTypesAnalyzer.vb +++ b/src/Diagnostics/FxCop/VisualBasic/Design/BasicInterfaceMethodsShouldBeCallableByChildTypesAnalyzer.vb @@ -1,10 +1,11 @@ ' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. Imports Microsoft.CodeAnalysis.Diagnostics -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Design +Imports Microsoft.AnalyzerPowerPack.Design Imports Microsoft.CodeAnalysis.VisualBasic.Syntax +Imports Microsoft.CodeAnalysis -Namespace Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Design +Namespace Design ''' ''' CA1033: Interface methods should be callable by child types diff --git a/src/Diagnostics/FxCop/VisualBasic/Design/CodeFixes/CA1008BasicCodeFixProvider.vb b/src/Diagnostics/FxCop/VisualBasic/Design/CodeFixes/CA1008BasicCodeFixProvider.vb index d67e21fa5b6b17ff68983f38f23c6af773ea3b7f..6316995c5dc8c4d9ed9355ecea75491105784cec 100644 --- a/src/Diagnostics/FxCop/VisualBasic/Design/CodeFixes/CA1008BasicCodeFixProvider.vb +++ b/src/Diagnostics/FxCop/VisualBasic/Design/CodeFixes/CA1008BasicCodeFixProvider.vb @@ -2,10 +2,12 @@ Imports System.Composition Imports Microsoft.CodeAnalysis.CodeFixes -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Design +Imports Microsoft.AnalyzerPowerPack.Design Imports Microsoft.CodeAnalysis.VisualBasic.Syntax +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.VisualBasic -Namespace Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Design +Namespace Design ' ' CA1008: Enums should have zero value ' diff --git a/src/Diagnostics/FxCop/VisualBasic/Design/CodeFixes/CA1052BasicCodeFixProvider.vb b/src/Diagnostics/FxCop/VisualBasic/Design/CodeFixes/CA1052BasicCodeFixProvider.vb index 1173bf15a8429b3fa70ed390d9ddad12b14f1f8e..5c296c9d4b35e301eec9ab4cbdec7fa3a4d25ff6 100644 --- a/src/Diagnostics/FxCop/VisualBasic/Design/CodeFixes/CA1052BasicCodeFixProvider.vb +++ b/src/Diagnostics/FxCop/VisualBasic/Design/CodeFixes/CA1052BasicCodeFixProvider.vb @@ -6,12 +6,14 @@ Imports System.Threading Imports Microsoft.CodeAnalysis.CodeActions Imports Microsoft.CodeAnalysis.CodeFixes Imports Microsoft.CodeAnalysis.Formatting -Imports Microsoft.CodeAnalysis.FxCopAnalyzers -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Design +Imports Microsoft.AnalyzerPowerPack +Imports Microsoft.AnalyzerPowerPack.Design Imports Microsoft.CodeAnalysis.Shared.Extensions Imports Microsoft.CodeAnalysis.VisualBasic.Syntax +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.VisualBasic -Namespace Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Design +Namespace Design Public Class CA1052BasicCodeFixProvider @@ -33,10 +35,10 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Design Dim cancellationToken = context.CancellationToken cancellationToken.ThrowIfCancellationRequested() - Dim root = Await document.GetSyntaxRootAsync(cancellationToken) + Dim root = Await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(False) Dim classStatement = root.FindToken(span.Start).Parent?.FirstAncestorOrSelf(Of ClassStatementSyntax) If classStatement IsNot Nothing Then - Dim title As String = String.Format(FxCopRulesResources.StaticHolderTypeIsNotStatic, classStatement.Identifier.Text) + Dim title As String = String.Format(AnalyzerPowerPackRulesResources.StaticHolderTypeIsNotStatic, classStatement.Identifier.Text) Dim fix = New MyCodeAction(title, Function(ct) AddNotInheritableKeyword(document, root, classStatement)) context.RegisterCodeFix(fix, context.Diagnostics) End If diff --git a/src/Diagnostics/FxCop/VisualBasic/Performance/RemoveEmptyFinalizers.vb b/src/Diagnostics/FxCop/VisualBasic/Performance/RemoveEmptyFinalizers.vb index 996f23ac4c463092454af6da9ec2503a32fa82b2..179a8d57b7c45a892d508e540d2a6aaee9e10f00 100644 --- a/src/Diagnostics/FxCop/VisualBasic/Performance/RemoveEmptyFinalizers.vb +++ b/src/Diagnostics/FxCop/VisualBasic/Performance/RemoveEmptyFinalizers.vb @@ -1,11 +1,13 @@ ' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. Imports Microsoft.CodeAnalysis.Diagnostics -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Performance -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +Imports Microsoft.AnalyzerPowerPack.Performance +Imports Microsoft.AnalyzerPowerPack.Utilities Imports Microsoft.CodeAnalysis.VisualBasic.Syntax +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.VisualBasic -Namespace Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Performance +Namespace Performance Public Class BasicRemoveEmptyFinalizers Inherits RemoveEmptyFinalizers(Of SyntaxKind) diff --git a/src/Diagnostics/FxCop/VisualBasic/Usage/BasicCA2200DiagnosticAnalyzer.vb b/src/Diagnostics/FxCop/VisualBasic/Usage/BasicCA2200DiagnosticAnalyzer.vb index cf9a7987fd6489d470ceabe16643cb39a28aa74a..59a0f462d43259befed7c307a00e81e7c693cda9 100644 --- a/src/Diagnostics/FxCop/VisualBasic/Usage/BasicCA2200DiagnosticAnalyzer.vb +++ b/src/Diagnostics/FxCop/VisualBasic/Usage/BasicCA2200DiagnosticAnalyzer.vb @@ -3,10 +3,12 @@ Imports System.Collections.Immutable Imports System.Threading Imports Microsoft.CodeAnalysis.Diagnostics -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Usage +Imports Microsoft.AnalyzerPowerPack.Usage Imports Microsoft.CodeAnalysis.VisualBasic.Syntax +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.VisualBasic -Namespace Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Usage +Namespace Usage Public Class BasicCA2200DiagnosticAnalyzer Inherits CA2200DiagnosticAnalyzer diff --git a/src/Diagnostics/FxCop/VisualBasic/Usage/BasicCA2214DiagnosticAnalyzer.vb b/src/Diagnostics/FxCop/VisualBasic/Usage/BasicCA2214DiagnosticAnalyzer.vb index b6c746491f315bc477aaa67acdb3e3595d2f7b23..fa1eb209a683351edc6d0aa1ed5a605c79945b92 100644 --- a/src/Diagnostics/FxCop/VisualBasic/Usage/BasicCA2214DiagnosticAnalyzer.vb +++ b/src/Diagnostics/FxCop/VisualBasic/Usage/BasicCA2214DiagnosticAnalyzer.vb @@ -3,11 +3,13 @@ Imports System.Collections.Immutable Imports System.Threading Imports Microsoft.CodeAnalysis.Diagnostics -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Usage -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Utilities +Imports Microsoft.AnalyzerPowerPack.Usage +Imports Microsoft.AnalyzerPowerPack.Utilities Imports Microsoft.CodeAnalysis.VisualBasic.Syntax +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.VisualBasic -Namespace Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Usage +Namespace Usage Public Class BasicCA2214DiagnosticAnalyzer Inherits CA2214DiagnosticAnalyzer(Of SyntaxKind) diff --git a/src/Diagnostics/FxCop/VisualBasic/Usage/MarkAllNonSerializableFields.Fixer.vb b/src/Diagnostics/FxCop/VisualBasic/Usage/MarkAllNonSerializableFields.Fixer.vb index 5f7dbed98e31b797168b7f4e841fbdeeba4f008b..0eb6edb838492cca80891f95e27bc266581562f6 100644 --- a/src/Diagnostics/FxCop/VisualBasic/Usage/MarkAllNonSerializableFields.Fixer.vb +++ b/src/Diagnostics/FxCop/VisualBasic/Usage/MarkAllNonSerializableFields.Fixer.vb @@ -2,20 +2,22 @@ Imports System.Composition Imports Microsoft.CodeAnalysis.CodeFixes -Imports Microsoft.CodeAnalysis.FxCopAnalyzers.Usage +Imports Microsoft.AnalyzerPowerPack.Usage +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.VisualBasic -Namespace Microsoft.CodeAnalysis.VisualBasic.FxCopAnalyzers.Usage +Namespace Usage Public Class BasicMarkAllNonSerializableFieldsFixer Inherits MarkAllNonSerializableFieldsFixer Protected Overrides Function GetFieldDeclarationNode(node As SyntaxNode) As SyntaxNode Dim fieldNode = node - While fieldNode IsNot Nothing AndAlso fieldNode.Kind() <> VisualBasic.SyntaxKind.FieldDeclaration + While fieldNode IsNot Nothing AndAlso fieldNode.Kind() <> SyntaxKind.FieldDeclaration fieldNode = fieldNode.Parent End While - Return If(fieldNode?.Kind() = VisualBasic.SyntaxKind.FieldDeclaration, fieldNode, Nothing) + Return If(fieldNode?.Kind() = SyntaxKind.FieldDeclaration, fieldNode, Nothing) End Function End Class End Namespace diff --git a/src/Roslyn.sln b/src/Roslyn.sln index 66992bff6dc35e52baadba523c15d3e4a099054f..b5b0dc1156356e7f092aa617feff499ca3e834ce 100644 --- a/src/Roslyn.sln +++ b/src/Roslyn.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.22725.0 +VisualStudioVersion = 14.0.22905.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysisTest", "Compilers\Core\CodeAnalysisTest\CodeAnalysisTest.csproj", "{A4C99B85-765C-4C65-9C2A-BB609AAB09E6}" EndProject @@ -91,16 +91,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Roslyn", "Roslyn", "{4A9CCE EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FxCop", "FxCop", "{24E8CBFA-38D2-486F-B772-C10AB2DC7F01}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FxCopRulesDiagnosticAnalyzers", "Diagnostics\FxCop\Core\FxCopRulesDiagnosticAnalyzers.csproj", "{36755424-5267-478C-9434-37A507E22711}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpFxCopRulesDiagnosticAnalyzers", "Diagnostics\FxCop\CSharp\CSharpFxCopRulesDiagnosticAnalyzers.csproj", "{3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FxCopRulesSetup", "Diagnostics\FxCop\Setup\FxCopRulesSetup.csproj", "{A5844BB9-7B62-475B-AC61-298E5A23EFFE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FxCopRulesDiagnosticAnalyzersTest", "Diagnostics\FxCop\Test\FxCopRulesDiagnosticAnalyzersTest.csproj", "{B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}" -EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "BasicFxCopRulesDiagnosticAnalyzers", "Diagnostics\FxCop\VisualBasic\BasicFxCopRulesDiagnosticAnalyzers.vbproj", "{2FCCB9BE-DD4E-48F2-B678-80E6FB196948}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RoslynDiagnosticAnalyzers", "Diagnostics\Roslyn\Core\RoslynDiagnosticAnalyzers.csproj", "{DCC1F13B-F51C-445B-BDAE-92135BD58364}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpRoslynDiagnosticAnalyzers", "Diagnostics\Roslyn\CSharp\CSharpRoslynDiagnosticAnalyzers.csproj", "{B82F1C54-2D3E-497B-8C31-4AB16D6508FA}" @@ -331,6 +321,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpSystemRuntimeInteropS EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "BasicSystemRuntimeInteropServicesAnalyzers", "Diagnostics\FxCop\System.Runtime.InteropServices.Analyzers\VisualBasic\BasicSystemRuntimeInteropServicesAnalyzers.vbproj", "{EDE9E796-E0A4-42E9-8B82-97B664B9343E}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzerPowerPack.Common", "Diagnostics\FxCop\Core\AnalyzerPowerPack.Common.csproj", "{CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzerPowerPack.CSharp", "Diagnostics\FxCop\CSharp\AnalyzerPowerPack.CSharp.csproj", "{D212BF08-95D5-4664-AD47-AF9BFE7C48D0}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AnalyzerPowerPack.VisualBasic", "Diagnostics\FxCop\VisualBasic\AnalyzerPowerPack.VisualBasic.vbproj", "{45854FF7-A6D5-4B28-87A1-0B75390125C0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzerPowerPack.Setup", "Diagnostics\FxCop\Setup\AnalyzerPowerPack.Setup.csproj", "{FFCA21B9-C7CB-4F0F-851B-947EE25C416C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzerPowerPack.Test", "Diagnostics\FxCop\Test\AnalyzerPowerPack.Test.csproj", "{06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution Compilers\Core\AnalyzerDriver\AnalyzerDriver.projitems*{edc68a0e-c68d-4a74-91b7-bf38ec909888}*SharedItemsImports = 4 @@ -846,86 +846,6 @@ Global {6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}.Release|Mixed Platforms.Build.0 = Release|Any CPU {6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}.Release|x64.ActiveCfg = Release|Any CPU {6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}.Release|x64.Build.0 = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|Any CPU.Build.0 = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|ARM.ActiveCfg = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|ARM.Build.0 = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|x64.ActiveCfg = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|x64.Build.0 = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|Any CPU.ActiveCfg = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|Any CPU.Build.0 = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|ARM.ActiveCfg = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|ARM.Build.0 = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|x64.ActiveCfg = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|x64.Build.0 = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|ARM.ActiveCfg = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|ARM.Build.0 = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|x64.ActiveCfg = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|x64.Build.0 = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|Any CPU.Build.0 = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|ARM.ActiveCfg = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|ARM.Build.0 = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|x64.ActiveCfg = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|x64.Build.0 = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|ARM.ActiveCfg = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|ARM.Build.0 = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|x64.ActiveCfg = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|x64.Build.0 = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|Any CPU.Build.0 = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|ARM.ActiveCfg = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|ARM.Build.0 = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|x64.ActiveCfg = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|x64.Build.0 = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|ARM.ActiveCfg = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|ARM.Build.0 = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|x64.ActiveCfg = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|x64.Build.0 = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|Any CPU.Build.0 = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|ARM.ActiveCfg = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|ARM.Build.0 = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|x64.ActiveCfg = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|x64.Build.0 = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|ARM.ActiveCfg = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|ARM.Build.0 = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|x64.ActiveCfg = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|x64.Build.0 = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|Any CPU.Build.0 = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|ARM.ActiveCfg = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|ARM.Build.0 = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|x64.ActiveCfg = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|x64.Build.0 = Release|Any CPU {DCC1F13B-F51C-445B-BDAE-92135BD58364}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DCC1F13B-F51C-445B-BDAE-92135BD58364}.Debug|Any CPU.Build.0 = Debug|Any CPU {DCC1F13B-F51C-445B-BDAE-92135BD58364}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -2412,6 +2332,86 @@ Global {EDE9E796-E0A4-42E9-8B82-97B664B9343E}.Release|Mixed Platforms.Build.0 = Release|Any CPU {EDE9E796-E0A4-42E9-8B82-97B664B9343E}.Release|x64.ActiveCfg = Release|Any CPU {EDE9E796-E0A4-42E9-8B82-97B664B9343E}.Release|x64.Build.0 = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|ARM.ActiveCfg = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|ARM.Build.0 = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|x64.ActiveCfg = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|x64.Build.0 = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|Any CPU.Build.0 = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|ARM.ActiveCfg = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|ARM.Build.0 = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|x64.ActiveCfg = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|x64.Build.0 = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|ARM.ActiveCfg = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|ARM.Build.0 = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|x64.ActiveCfg = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|x64.Build.0 = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|Any CPU.Build.0 = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|ARM.ActiveCfg = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|ARM.Build.0 = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|x64.ActiveCfg = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|x64.Build.0 = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|ARM.ActiveCfg = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|ARM.Build.0 = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|x64.ActiveCfg = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|x64.Build.0 = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|Any CPU.Build.0 = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|ARM.ActiveCfg = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|ARM.Build.0 = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|x64.ActiveCfg = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|x64.Build.0 = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|ARM.ActiveCfg = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|ARM.Build.0 = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|x64.ActiveCfg = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|x64.Build.0 = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|Any CPU.Build.0 = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|ARM.ActiveCfg = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|ARM.Build.0 = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|x64.ActiveCfg = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|x64.Build.0 = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|ARM.ActiveCfg = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|ARM.Build.0 = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|x64.ActiveCfg = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|x64.Build.0 = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|Any CPU.Build.0 = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|ARM.ActiveCfg = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|ARM.Build.0 = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|x64.ActiveCfg = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -2453,11 +2453,6 @@ Global {6AA96934-D6B7-4CC8-990D-DB6B9DD56E34} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} {4A9CCE88-E499-4FFB-9BB8-60E782CD5ACA} = {5F5DD61A-746D-40AE-A89C-EF82B39C036E} {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} = {5F5DD61A-746D-40AE-A89C-EF82B39C036E} - {36755424-5267-478C-9434-37A507E22711} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} - {A5844BB9-7B62-475B-AC61-298E5A23EFFE} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} {DCC1F13B-F51C-445B-BDAE-92135BD58364} = {4A9CCE88-E499-4FFB-9BB8-60E782CD5ACA} {B82F1C54-2D3E-497B-8C31-4AB16D6508FA} = {4A9CCE88-E499-4FFB-9BB8-60E782CD5ACA} {BBDC84C8-AE58-4D0F-B5A4-384CDCB9069E} = {4A9CCE88-E499-4FFB-9BB8-60E782CD5ACA} @@ -2566,5 +2561,10 @@ Global {94A18486-A90F-4E7A-AD1C-EFF26B5CE115} = {32BCFD38-B44B-4E4F-AFC6-90ABAF32C465} {A634B792-8504-4A2D-9149-4C9E4959F11C} = {32BCFD38-B44B-4E4F-AFC6-90ABAF32C465} {EDE9E796-E0A4-42E9-8B82-97B664B9343E} = {32BCFD38-B44B-4E4F-AFC6-90ABAF32C465} + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} + {45854FF7-A6D5-4B28-87A1-0B75390125C0} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} EndGlobalSection EndGlobal diff --git a/src/RoslynLight.sln b/src/RoslynLight.sln index ae83b7e9a4d5d26586b3ff878e861873e1167051..88fe706a5ee42c18d8cc2316075b2f7d5a4bd41e 100644 --- a/src/RoslynLight.sln +++ b/src/RoslynLight.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.22705.0 +VisualStudioVersion = 14.0.22905.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysisTest", "Compilers\Core\CodeAnalysisTest\CodeAnalysisTest.csproj", "{A4C99B85-765C-4C65-9C2A-BB609AAB09E6}" EndProject @@ -88,16 +88,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Roslyn", "Roslyn", "{4A9CCE EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FxCop", "FxCop", "{24E8CBFA-38D2-486F-B772-C10AB2DC7F01}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FxCopRulesDiagnosticAnalyzers", "Diagnostics\FxCop\Core\FxCopRulesDiagnosticAnalyzers.csproj", "{36755424-5267-478C-9434-37A507E22711}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpFxCopRulesDiagnosticAnalyzers", "Diagnostics\FxCop\CSharp\CSharpFxCopRulesDiagnosticAnalyzers.csproj", "{3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FxCopRulesSetup", "Diagnostics\FxCop\Setup\FxCopRulesSetup.csproj", "{A5844BB9-7B62-475B-AC61-298E5A23EFFE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FxCopRulesDiagnosticAnalyzersTest", "Diagnostics\FxCop\Test\FxCopRulesDiagnosticAnalyzersTest.csproj", "{B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}" -EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "BasicFxCopRulesDiagnosticAnalyzers", "Diagnostics\FxCop\VisualBasic\BasicFxCopRulesDiagnosticAnalyzers.vbproj", "{2FCCB9BE-DD4E-48F2-B678-80E6FB196948}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RoslynDiagnosticAnalyzers", "Diagnostics\Roslyn\Core\RoslynDiagnosticAnalyzers.csproj", "{DCC1F13B-F51C-445B-BDAE-92135BD58364}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpRoslynDiagnosticAnalyzers", "Diagnostics\Roslyn\CSharp\CSharpRoslynDiagnosticAnalyzers.csproj", "{B82F1C54-2D3E-497B-8C31-4AB16D6508FA}" @@ -258,6 +248,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vbc2", "Compilers\VisualBas EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vbc", "Compilers\VisualBasic\vbc\vbc.csproj", "{E58EE9D7-1239-4961-A0C1-F9EC3952C4C1}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzerPowerPack.Common", "Diagnostics\FxCop\Core\AnalyzerPowerPack.Common.csproj", "{CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzerPowerPack.CSharp", "Diagnostics\FxCop\CSharp\AnalyzerPowerPack.CSharp.csproj", "{D212BF08-95D5-4664-AD47-AF9BFE7C48D0}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AnalyzerPowerPack.VisualBasic", "Diagnostics\FxCop\VisualBasic\AnalyzerPowerPack.VisualBasic.vbproj", "{45854FF7-A6D5-4B28-87A1-0B75390125C0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzerPowerPack.Setup", "Diagnostics\FxCop\Setup\AnalyzerPowerPack.Setup.csproj", "{FFCA21B9-C7CB-4F0F-851B-947EE25C416C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnalyzerPowerPack.Test", "Diagnostics\FxCop\Test\AnalyzerPowerPack.Test.csproj", "{06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution Compilers\Core\AnalyzerDriver\AnalyzerDriver.projitems*{edc68a0e-c68d-4a74-91b7-bf38ec909888}*SharedItemsImports = 4 @@ -276,8 +276,8 @@ Global ExpressionEvaluator\CSharp\Source\ResultProvider\CSharpResultProvider.projitems*{bf9dac1e-3a5e-4dc3-bb44-9a64e0d4e9d3}*SharedItemsImports = 4 Compilers\Core\SharedCollections\SharedCollections.projitems*{afde6bea-5038-4a4a-a88e-dbd2e4088eed}*SharedItemsImports = 4 ExpressionEvaluator\Core\Source\ResultProvider\ResultProvider.projitems*{fa0e905d-ec46-466d-b7b2-3b5557f9428c}*SharedItemsImports = 4 - Compilers\Core\AnalyzerDriver\AnalyzerDriver.projitems*{1ee8cad3-55f9-4d91-96b2-084641da9a6c}*SharedItemsImports = 4 Compilers\Core\SharedCollections\SharedCollections.projitems*{1ee8cad3-55f9-4d91-96b2-084641da9a6c}*SharedItemsImports = 4 + Compilers\Core\AnalyzerDriver\AnalyzerDriver.projitems*{1ee8cad3-55f9-4d91-96b2-084641da9a6c}*SharedItemsImports = 4 Compilers\CSharp\CSharpAnalyzerDriver\CSharpAnalyzerDriver.projitems*{3973b09a-4fbf-44a5-8359-3d22ceb71f71}*SharedItemsImports = 4 ExpressionEvaluator\Core\Source\ResultProvider\ResultProvider.projitems*{bedc5a4a-809e-4017-9cfd-6c8d4e1847f0}*SharedItemsImports = 4 Compilers\CSharp\CSharpAnalyzerDriver\CSharpAnalyzerDriver.projitems*{b501a547-c911-4a05-ac6e-274a50dff30e}*SharedItemsImports = 4 @@ -775,86 +775,6 @@ Global {6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}.Release|Mixed Platforms.Build.0 = Release|Any CPU {6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}.Release|x64.ActiveCfg = Release|Any CPU {6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}.Release|x64.Build.0 = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|Any CPU.Build.0 = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|ARM.ActiveCfg = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|ARM.Build.0 = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|x64.ActiveCfg = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Debug|x64.Build.0 = Debug|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|Any CPU.ActiveCfg = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|Any CPU.Build.0 = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|ARM.ActiveCfg = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|ARM.Build.0 = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|x64.ActiveCfg = Release|Any CPU - {36755424-5267-478C-9434-37A507E22711}.Release|x64.Build.0 = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|ARM.ActiveCfg = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|ARM.Build.0 = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|x64.ActiveCfg = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Debug|x64.Build.0 = Debug|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|Any CPU.Build.0 = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|ARM.ActiveCfg = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|ARM.Build.0 = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|x64.ActiveCfg = Release|Any CPU - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0}.Release|x64.Build.0 = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|ARM.ActiveCfg = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|ARM.Build.0 = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|x64.ActiveCfg = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Debug|x64.Build.0 = Debug|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|Any CPU.Build.0 = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|ARM.ActiveCfg = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|ARM.Build.0 = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|x64.ActiveCfg = Release|Any CPU - {A5844BB9-7B62-475B-AC61-298E5A23EFFE}.Release|x64.Build.0 = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|ARM.ActiveCfg = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|ARM.Build.0 = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|x64.ActiveCfg = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Debug|x64.Build.0 = Debug|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|Any CPU.Build.0 = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|ARM.ActiveCfg = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|ARM.Build.0 = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|x64.ActiveCfg = Release|Any CPU - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17}.Release|x64.Build.0 = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|ARM.ActiveCfg = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|ARM.Build.0 = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|x64.ActiveCfg = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Debug|x64.Build.0 = Debug|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|Any CPU.Build.0 = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|ARM.ActiveCfg = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|ARM.Build.0 = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|x64.ActiveCfg = Release|Any CPU - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948}.Release|x64.Build.0 = Release|Any CPU {DCC1F13B-F51C-445B-BDAE-92135BD58364}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DCC1F13B-F51C-445B-BDAE-92135BD58364}.Debug|Any CPU.Build.0 = Debug|Any CPU {DCC1F13B-F51C-445B-BDAE-92135BD58364}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -1159,70 +1079,6 @@ Global {18F5FBB8-7570-4412-8CC7-0A86FF13B7BA}.Release|Mixed Platforms.Build.0 = Release|Any CPU {18F5FBB8-7570-4412-8CC7-0A86FF13B7BA}.Release|x64.ActiveCfg = Release|Any CPU {18F5FBB8-7570-4412-8CC7-0A86FF13B7BA}.Release|x64.Build.0 = Release|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Debug|ARM.ActiveCfg = Debug|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Debug|ARM.Build.0 = Debug|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Debug|x64.ActiveCfg = Debug|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Debug|x64.Build.0 = Debug|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Release|Any CPU.Build.0 = Release|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Release|ARM.ActiveCfg = Release|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Release|ARM.Build.0 = Release|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Release|x64.ActiveCfg = Release|Any CPU - {49BFAE50-1BCE-48AE-BC89-78B7D90A3ECD}.Release|x64.Build.0 = Release|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Debug|ARM.ActiveCfg = Debug|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Debug|ARM.Build.0 = Debug|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Debug|x64.ActiveCfg = Debug|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Debug|x64.Build.0 = Debug|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Release|Any CPU.Build.0 = Release|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Release|ARM.ActiveCfg = Release|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Release|ARM.Build.0 = Release|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Release|x64.ActiveCfg = Release|Any CPU - {B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}.Release|x64.Build.0 = Release|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Debug|ARM.ActiveCfg = Debug|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Debug|ARM.Build.0 = Debug|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Debug|x64.ActiveCfg = Debug|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Debug|x64.Build.0 = Debug|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Release|Any CPU.Build.0 = Release|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Release|ARM.ActiveCfg = Release|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Release|ARM.Build.0 = Release|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Release|x64.ActiveCfg = Release|Any CPU - {3CDEEAB7-2256-418A-BEB2-620B5CB16302}.Release|x64.Build.0 = Release|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Debug|ARM.ActiveCfg = Debug|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Debug|ARM.Build.0 = Debug|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Debug|x64.ActiveCfg = Debug|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Debug|x64.Build.0 = Debug|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Release|Any CPU.Build.0 = Release|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Release|ARM.ActiveCfg = Release|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Release|ARM.Build.0 = Release|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Release|x64.ActiveCfg = Release|Any CPU - {0BE66736-CDAA-4989-88B1-B3F46EBDCA4A}.Release|x64.Build.0 = Release|Any CPU {3E7DEA65-317B-4F43-A25D-62F18D96CFD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3E7DEA65-317B-4F43-A25D-62F18D96CFD7}.Debug|Any CPU.Build.0 = Debug|Any CPU {3E7DEA65-317B-4F43-A25D-62F18D96CFD7}.Debug|ARM.ActiveCfg = Debug|ARM @@ -1351,54 +1207,6 @@ Global {01E9BD68-0339-4A13-B42F-A3CA84D164F3}.Release|Mixed Platforms.Build.0 = Release|Any CPU {01E9BD68-0339-4A13-B42F-A3CA84D164F3}.Release|x64.ActiveCfg = Release|Any CPU {01E9BD68-0339-4A13-B42F-A3CA84D164F3}.Release|x64.Build.0 = Release|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Debug|ARM.ActiveCfg = Debug|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Debug|ARM.Build.0 = Debug|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Debug|x64.ActiveCfg = Debug|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Debug|x64.Build.0 = Debug|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|Any CPU.Build.0 = Release|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|ARM.ActiveCfg = Release|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|ARM.Build.0 = Release|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|x64.ActiveCfg = Release|Any CPU - {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|x64.Build.0 = Release|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|ARM.ActiveCfg = Debug|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|ARM.Build.0 = Debug|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|x64.ActiveCfg = Debug|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|x64.Build.0 = Debug|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Release|Any CPU.Build.0 = Release|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Release|ARM.ActiveCfg = Release|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Release|ARM.Build.0 = Release|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Release|x64.ActiveCfg = Release|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Release|x64.Build.0 = Release|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Debug|ARM.ActiveCfg = Debug|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Debug|ARM.Build.0 = Debug|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Debug|x64.ActiveCfg = Debug|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Debug|x64.Build.0 = Debug|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Release|Any CPU.Build.0 = Release|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Release|ARM.ActiveCfg = Release|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Release|ARM.Build.0 = Release|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Release|x64.ActiveCfg = Release|Any CPU - {3CEA0D69-00D3-40E5-A661-DC41EA07269B}.Release|x64.Build.0 = Release|Any CPU {76C6F005-C89D-4348-BB4A-39189DDBEB52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {76C6F005-C89D-4348-BB4A-39189DDBEB52}.Debug|Any CPU.Build.0 = Debug|Any CPU {76C6F005-C89D-4348-BB4A-39189DDBEB52}.Debug|ARM.ActiveCfg = Debug|ARM @@ -1415,54 +1223,6 @@ Global {76C6F005-C89D-4348-BB4A-39189DDBEB52}.Release|Mixed Platforms.Build.0 = Release|Any CPU {76C6F005-C89D-4348-BB4A-39189DDBEB52}.Release|x64.ActiveCfg = Release|Any CPU {76C6F005-C89D-4348-BB4A-39189DDBEB52}.Release|x64.Build.0 = Release|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Debug|ARM.ActiveCfg = Debug|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Debug|ARM.Build.0 = Debug|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Debug|x64.ActiveCfg = Debug|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Debug|x64.Build.0 = Debug|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Release|Any CPU.Build.0 = Release|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Release|ARM.ActiveCfg = Release|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Release|ARM.Build.0 = Release|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Release|x64.ActiveCfg = Release|Any CPU - {849E516A-595F-474B-ADB4-E099F921CEDF}.Release|x64.Build.0 = Release|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Debug|ARM.ActiveCfg = Debug|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Debug|ARM.Build.0 = Debug|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Debug|x64.ActiveCfg = Debug|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Debug|x64.Build.0 = Debug|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Release|Any CPU.Build.0 = Release|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Release|ARM.ActiveCfg = Release|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Release|ARM.Build.0 = Release|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Release|x64.ActiveCfg = Release|Any CPU - {FE2CBEA6-D121-4FAA-AA8B-FC9900BF8C83}.Release|x64.Build.0 = Release|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Debug|Any CPU.Build.0 = Debug|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Debug|ARM.ActiveCfg = Debug|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Debug|ARM.Build.0 = Debug|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Debug|x64.ActiveCfg = Debug|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Debug|x64.Build.0 = Debug|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Release|Any CPU.ActiveCfg = Release|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Release|Any CPU.Build.0 = Release|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Release|ARM.ActiveCfg = Release|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Release|ARM.Build.0 = Release|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Release|x64.ActiveCfg = Release|Any CPU - {92412D1A-0F23-45B5-B196-58839C524917}.Release|x64.Build.0 = Release|Any CPU {EBA4DFA1-6DED-418F-A485-A3B608978906}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EBA4DFA1-6DED-418F-A485-A3B608978906}.Debug|Any CPU.Build.0 = Debug|Any CPU {EBA4DFA1-6DED-418F-A485-A3B608978906}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -1479,16 +1239,6 @@ Global {EBA4DFA1-6DED-418F-A485-A3B608978906}.Release|Mixed Platforms.Build.0 = Release|Any CPU {EBA4DFA1-6DED-418F-A485-A3B608978906}.Release|x64.ActiveCfg = Release|Any CPU {EBA4DFA1-6DED-418F-A485-A3B608978906}.Release|x64.Build.0 = Release|Any CPU - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Debug|Any CPU.ActiveCfg = Debug|x86 - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Debug|ARM.ActiveCfg = Debug|x86 - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Debug|x64.ActiveCfg = Debug|x86 - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Release|Any CPU.ActiveCfg = Release|x86 - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Release|ARM.ActiveCfg = Release|x86 - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Release|Mixed Platforms.Build.0 = Release|x86 - {8CEE3609-A5A9-4A9B-86D7-33118F5D6B34}.Release|x64.ActiveCfg = Release|x86 {14118347-ED06-4608-9C45-18228273C712}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {14118347-ED06-4608-9C45-18228273C712}.Debug|Any CPU.Build.0 = Debug|Any CPU {14118347-ED06-4608-9C45-18228273C712}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -1515,32 +1265,6 @@ Global {6E62A0FF-D0DC-4109-9131-AB8E60CDFF7B}.Release|Mixed Platforms.ActiveCfg = Release|x86 {6E62A0FF-D0DC-4109-9131-AB8E60CDFF7B}.Release|Mixed Platforms.Build.0 = Release|x86 {6E62A0FF-D0DC-4109-9131-AB8E60CDFF7B}.Release|x64.ActiveCfg = Release|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Debug|Any CPU.ActiveCfg = Debug|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Debug|ARM.ActiveCfg = Debug|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Debug|x64.ActiveCfg = Debug|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Release|Any CPU.ActiveCfg = Release|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Release|ARM.ActiveCfg = Release|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Release|Mixed Platforms.Build.0 = Release|x86 - {7F3CB45E-4993-4FA4-8D6A-C2DFFED2DFC3}.Release|x64.ActiveCfg = Release|x86 - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Debug|ARM.ActiveCfg = Debug|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Debug|ARM.Build.0 = Debug|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Debug|x64.ActiveCfg = Debug|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Debug|x64.Build.0 = Debug|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Release|Any CPU.Build.0 = Release|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Release|ARM.ActiveCfg = Release|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Release|ARM.Build.0 = Release|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Release|x64.ActiveCfg = Release|Any CPU - {E2E889A5-2489-4546-9194-47C63E49EAEB}.Release|x64.Build.0 = Release|Any CPU {FD6BA96C-7905-4876-8BCC-E38E2CA64F31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FD6BA96C-7905-4876-8BCC-E38E2CA64F31}.Debug|Any CPU.Build.0 = Debug|Any CPU {FD6BA96C-7905-4876-8BCC-E38E2CA64F31}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -2017,6 +1741,86 @@ Global {E58EE9D7-1239-4961-A0C1-F9EC3952C4C1}.Release|Mixed Platforms.Build.0 = Release|Any CPU {E58EE9D7-1239-4961-A0C1-F9EC3952C4C1}.Release|x64.ActiveCfg = Release|x64 {E58EE9D7-1239-4961-A0C1-F9EC3952C4C1}.Release|x64.Build.0 = Release|x64 + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|ARM.ActiveCfg = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|ARM.Build.0 = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|x64.ActiveCfg = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Debug|x64.Build.0 = Debug|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|Any CPU.Build.0 = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|ARM.ActiveCfg = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|ARM.Build.0 = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|x64.ActiveCfg = Release|Any CPU + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB}.Release|x64.Build.0 = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|ARM.ActiveCfg = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|ARM.Build.0 = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|x64.ActiveCfg = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Debug|x64.Build.0 = Debug|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|Any CPU.Build.0 = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|ARM.ActiveCfg = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|ARM.Build.0 = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|x64.ActiveCfg = Release|Any CPU + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0}.Release|x64.Build.0 = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|ARM.ActiveCfg = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|ARM.Build.0 = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|x64.ActiveCfg = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Debug|x64.Build.0 = Debug|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|Any CPU.Build.0 = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|ARM.ActiveCfg = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|ARM.Build.0 = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|x64.ActiveCfg = Release|Any CPU + {45854FF7-A6D5-4B28-87A1-0B75390125C0}.Release|x64.Build.0 = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|ARM.ActiveCfg = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|ARM.Build.0 = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|x64.ActiveCfg = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Debug|x64.Build.0 = Debug|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|Any CPU.Build.0 = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|ARM.ActiveCfg = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|ARM.Build.0 = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|x64.ActiveCfg = Release|Any CPU + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C}.Release|x64.Build.0 = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|ARM.ActiveCfg = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|ARM.Build.0 = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|x64.ActiveCfg = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Debug|x64.Build.0 = Debug|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|Any CPU.Build.0 = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|ARM.ActiveCfg = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|ARM.Build.0 = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|x64.ActiveCfg = Release|Any CPU + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -2058,11 +1862,6 @@ Global {6AA96934-D6B7-4CC8-990D-DB6B9DD56E34} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} {4A9CCE88-E499-4FFB-9BB8-60E782CD5ACA} = {5F5DD61A-746D-40AE-A89C-EF82B39C036E} {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} = {5F5DD61A-746D-40AE-A89C-EF82B39C036E} - {36755424-5267-478C-9434-37A507E22711} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} - {A5844BB9-7B62-475B-AC61-298E5A23EFFE} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} - {B0F9E8F5-0411-47E3-8019-23CD3F1E5A17} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} {DCC1F13B-F51C-445B-BDAE-92135BD58364} = {4A9CCE88-E499-4FFB-9BB8-60E782CD5ACA} {B82F1C54-2D3E-497B-8C31-4AB16D6508FA} = {4A9CCE88-E499-4FFB-9BB8-60E782CD5ACA} {BBDC84C8-AE58-4D0F-B5A4-384CDCB9069E} = {4A9CCE88-E499-4FFB-9BB8-60E782CD5ACA} @@ -2136,5 +1935,10 @@ Global {C545216D-8CBA-4460-810D-D3DC7EFF8373} = {32A48625-F0AD-419D-828B-A50BDABA38EA} {21446697-E359-41D9-B39D-40ADA2B20823} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37} {E58EE9D7-1239-4961-A0C1-F9EC3952C4C1} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37} + {CBCD620C-FF07-4BA4-ABC9-2F23C73760DB} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} + {D212BF08-95D5-4664-AD47-AF9BFE7C48D0} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} + {45854FF7-A6D5-4B28-87A1-0B75390125C0} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} + {FFCA21B9-C7CB-4F0F-851B-947EE25C416C} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} + {06ECCF53-B9B8-4CC2-83C0-E308BF645F7F} = {24E8CBFA-38D2-486F-B772-C10AB2DC7F01} EndGlobalSection EndGlobal diff --git a/src/Tools/Source/OpenSourceDebug/OpenSourceDebug.csproj b/src/Tools/Source/OpenSourceDebug/OpenSourceDebug.csproj index fa7542cc1df5e2161c3f4b155b9eb23494a85b3f..2c88767b98655d92629ea932daafe76158800ea1 100644 --- a/src/Tools/Source/OpenSourceDebug/OpenSourceDebug.csproj +++ b/src/Tools/Source/OpenSourceDebug/OpenSourceDebug.csproj @@ -122,21 +122,21 @@ BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b - - {36755424-5267-478C-9434-37A507E22711} - FxCopRulesDiagnosticAnalyzers + + {cbcd620c-ff07-4ba4-abc9-2f23c73760db} + AnalyzerPowerPack.Common BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b - - {3BA13187-2A3B-4B08-9199-C11FDA1D5AD0} - CSharpFxCopRulesDiagnosticAnalyzers + + {d212bf08-95d5-4664-ad47-af9bfe7c48d0} + AnalyzerPowerPack.CSharp BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b - - {2FCCB9BE-DD4E-48F2-B678-80E6FB196948} - BasicFxCopRulesDiagnosticAnalyzers + + {45854ff7-a6d5-4b28-87a1-0b75390125c0} + AnalyzerPowerPack.VisualBasic BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b @@ -186,4 +186,4 @@ - + \ No newline at end of file diff --git a/src/Tools/Source/OpenSourceDebug/source.extension.vsixmanifest b/src/Tools/Source/OpenSourceDebug/source.extension.vsixmanifest index f76fa48a11c514202c0d8665da29d1c8487dcd69..c5cf1d7e5612f7eff8a97b6fc2f25b886f664d6a 100644 --- a/src/Tools/Source/OpenSourceDebug/source.extension.vsixmanifest +++ b/src/Tools/Source/OpenSourceDebug/source.extension.vsixmanifest @@ -18,12 +18,12 @@ - + - + - +