File: AbstractAddAccessibilityModifiers.cs
Web Access
Project: ..\..\..\src\Features\Core\Portable\Microsoft.CodeAnalysis.Features.csproj (Microsoft.CodeAnalysis.Features)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
using Microsoft.CodeAnalysis.CodeStyle;
using Microsoft.CodeAnalysis.LanguageService;
 
namespace Microsoft.CodeAnalysis.AddAccessibilityModifiers
{
    internal abstract class AbstractAddAccessibilityModifiers<TMemberDeclarationSyntax> : IAddAccessibilityModifiers
        where TMemberDeclarationSyntax : SyntaxNode
    {
        public bool ShouldUpdateAccessibilityModifier(
            IAccessibilityFacts accessibilityFacts,
            SyntaxNode member,
            AccessibilityModifiersRequired option,
            out SyntaxToken name,
            out bool modifierAdded)
        {
            name = default;
            modifierAdded = false;
            return member is TMemberDeclarationSyntax memberDecl &&
                ShouldUpdateAccessibilityModifier(accessibilityFacts, memberDecl, option, out name, out modifierAdded);
        }
 
        public abstract bool ShouldUpdateAccessibilityModifier(
            IAccessibilityFacts accessibilityFacts,
            TMemberDeclarationSyntax member,
            AccessibilityModifiersRequired option,
            out SyntaxToken name,
            out bool modifierAdded);
    }
}