protected MemberDefinition(MemberDeclarationSyntax node, ITypeDefinition declaringType) : base(node)
        {
            DeclaringType   = declaringType ?? throw new ArgumentNullException(nameof(declaringType));
            AccessModifiers = DetermineAccessModifier(node, DeclaringType);

            if (declaringType.IsVisible == false)
            {
                IsVisible = false;
            }
            else
            {
                // Determine visibility based on the access modifiers
                IsVisible = AccessModifiers.IsVisible();
            }
        }
        public void IsVisibleReturnsExpectedValue(AccessModifiers accessModifiers, bool expected)
        {
            var actual = accessModifiers.IsVisible();

            actual.Should().Be(expected);
        }