TestPolicyStatement() private static method

private static TestPolicyStatement ( PolicyStatement policy ) : bool
policy System.Security.Policy.PolicyStatement
return bool
        // Token: 0x06001D76 RID: 7542 RVA: 0x00066A5C File Offset: 0x00064C5C
        internal static bool CanUseQuickCache(CodeGroup group)
        {
            ArrayList arrayList = new ArrayList();

            arrayList.Add(group);
            for (int i = 0; i < arrayList.Count; i++)
            {
                group = (CodeGroup)arrayList[i];
                IUnionSemanticCodeGroup unionSemanticCodeGroup = group as IUnionSemanticCodeGroup;
                if (unionSemanticCodeGroup == null)
                {
                    return(false);
                }
                if (!PolicyManager.TestPolicyStatement(group.PolicyStatement))
                {
                    return(false);
                }
                IMembershipCondition membershipCondition = group.MembershipCondition;
                if (membershipCondition != null && !(membershipCondition is IConstantMembershipCondition))
                {
                    return(false);
                }
                IList children = group.Children;
                if (children != null && children.Count > 0)
                {
                    foreach (object value in children)
                    {
                        arrayList.Add(value);
                    }
                }
            }
            return(true);
        }
Example #2
0
        internal static bool CanUseQuickCache(CodeGroup group)
        {
            ArrayList arrayList = new ArrayList();

            arrayList.Add((object)group);
            for (int index = 0; index < arrayList.Count; ++index)
            {
                group = (CodeGroup)arrayList[index];
                if (!(group is IUnionSemanticCodeGroup) || !PolicyManager.TestPolicyStatement(group.PolicyStatement))
                {
                    return(false);
                }
                IMembershipCondition membershipCondition = group.MembershipCondition;
                if (membershipCondition != null && !(membershipCondition is IConstantMembershipCondition))
                {
                    return(false);
                }
                IList children = group.Children;
                if (children != null && children.Count > 0)
                {
                    foreach (object obj in (IEnumerable)children)
                    {
                        arrayList.Add(obj);
                    }
                }
            }
            return(true);
        }