File: Microsoft.NetCore.Analyzers\InteropServices\MarkBooleanPInvokeArgumentsWithMarshalAs.cs
Web Access
Project: src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Microsoft.CodeAnalysis.NetAnalyzers\Microsoft.CodeAnalysis.NetAnalyzers.csproj (Microsoft.CodeAnalysis.NetAnalyzers)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections.Immutable;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Diagnostics;

namespace Microsoft.NetCore.Analyzers.InteropServices
{
    /// <summary>
    /// CA1414: Mark boolean PInvoke arguments with MarshalAs
    /// </summary>
    public abstract class MarkBooleanPInvokeArgumentsWithMarshalAsAnalyzer : DiagnosticAnalyzer
    {
        internal const string RuleId = "CA1414";

        /*private static readonly LocalizableString s_localizableTitle = CreateLocalizableResourceString(nameof(MarkBooleanPInvokeArgumentsWithMarshalAsTitle));
        private static readonly LocalizableString s_localizableDescription = CreateLocalizableResourceString(nameof(MarkBooleanPInvokeArgumentsWithMarshalAsDescription));

        internal static readonly DiagnosticDescriptor DefaultRule = DiagnosticDescriptorHelper.Create(RuleId,
            s_localizableTitle,
            CreateLocalizableResourceString(nameof(MarkBooleanPInvokeArgumentsWithMarshalAsMessageDefault)),
            DiagnosticCategory.Interoperability,
            RuleLevel.Disabled,
            description: s_localizableDescription,
            isPortedFxCopRule: true,
            isDataflowRule: false,
            isEnabledByDefaultInFxCopAnalyzers: false);
        internal static readonly DiagnosticDescriptor ReturnRule = DiagnosticDescriptorHelper.Create(RuleId,
            s_localizableTitle,
            CreateLocalizableResourceString(nameof(MarkBooleanPInvokeArgumentsWithMarshalAsMessageReturn)),
            DiagnosticCategory.Interoperability,
            RuleLevel.Disabled,
            description: s_localizableDescription,
            isPortedFxCopRule: true,
            isDataflowRule: false,
            isEnabledByDefaultInFxCopAnalyzers: false);*/

        public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics { get; } = ImmutableArray<DiagnosticDescriptor>.Empty;
        //ImmutableArray.Create(DefaultRule, ReturnRule);

#pragma warning disable RS1025 // Configure generated code analysis
        public override void Initialize(AnalysisContext context)
#pragma warning restore RS1025 // Configure generated code analysis
        {
            context.EnableConcurrentExecution();

            // TODO: Configure generated code analysis.
            //analysisContext.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);
        }
    }
}