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); }
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); }
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); }