Esempio n. 1
0
        private static string GetClassModifiersDisplay([NotNull] IModifiersOwner modifiersOwner)
        {
            string display = null;

            if (modifiersOwner.IsAbstract)
            {
                display = modifiersOwner.IsSealed ? "static " : "abstract ";
            }
            else if (modifiersOwner.IsSealed)
            {
                display = "sealed ";
            }

            if (modifiersOwner.IsUnsafe)
            {
                display += "unsafe ";
            }

            return(display);
        }
Esempio n. 2
0
        private static string GetMethodModifiersDisplay([NotNull] IModifiersOwner modifiersOwner)
        {
            string display = null;

            if (modifiersOwner.IsStatic)
            {
                display = "static ";
            }
            else
            {
                if (modifiersOwner.IsSealed)
                {
                    display = "sealed ";
                }
                else if (modifiersOwner.IsAbstract)
                {
                    display = "abstract ";
                }
                if (modifiersOwner.IsOverride)
                {
                    display += "override ";
                }
                else if (modifiersOwner.IsVirtual && !modifiersOwner.IsAbstract)
                {
                    display += "virtual ";
                }
            }

            if (modifiersOwner.IsUnsafe)
            {
                display += "unsafe ";
            }
            if (modifiersOwner.IsExtern)
            {
                display += "extern ";
            }

            return(display);
        }
Esempio n. 3
0
        private static AccessRights getRights(IModifiersOwner owner, bool useEffectiveRights)
        {
            AccessRights effectiveRights = owner.GetAccessRights();

            if (!useEffectiveRights || !(owner is IClassMemberDeclaration))
            {
                return(effectiveRights);
            }

            owner = ((IClassMemberDeclaration)owner).GetContainingTypeDeclaration();
            while (owner != null)
            {
                AccessRights ownerRights = owner.GetAccessRights();
                AccessRights newEffectiveRights;
                if (_rightsMap.TryGetValue(new RightsPair(effectiveRights, ownerRights), out newEffectiveRights))
                {
                    effectiveRights = newEffectiveRights;
                }

                owner = ((IClassMemberDeclaration)owner).GetContainingTypeDeclaration();
            }

            return(effectiveRights);
        }
 private static bool IsManaged([NotNull] IModifiersOwner modifiersOwner)
 {
     return(modifiersOwner.IsVirtual || modifiersOwner.IsOverride || modifiersOwner.IsAbstract);
 }