public override bool Compare(Rule other) { UnconditionalRule unconditionalRule = other as UnconditionalRule; if (unconditionalRule != null) { return(base.Compare(other)); } else { return(false); } }
private void HandleRuleBody__Conditions_IMPLY_RuleAction_SEMICOLON() { Microsoft.ActiveDirectory.TRLParser.LanguageParser.Rule unconditionalRule; if (this._policyObjects.Count != 0) { object obj = this._policyObjects.Peek(); if (obj.GetType() == typeof(RuleOutput)) { RuleOutput ruleOutput = (RuleOutput)obj; this._policyObjects.Pop(); IssuanceStatement issuanceStatement = this._policyObjects.Peek() as IssuanceStatement; if (issuanceStatement != null) { this._policyObjects.Pop(); obj = this._policyObjects.Peek(); if (obj.GetType() == typeof(ConditionType)) { ConditionType conditionType = (ConditionType)obj; this._policyObjects.Pop(); ConditionType conditionType1 = conditionType; if (conditionType1 == ConditionType.Unconditional) { unconditionalRule = new UnconditionalRule(issuanceStatement); } else if (conditionType1 == ConditionType.Selection) { unconditionalRule = new SelectionRule(issuanceStatement); Collection<SelectionCondition> selectionConditions = this._policyObjects.Peek() as Collection<SelectionCondition>; foreach (SelectionCondition selectionCondition in selectionConditions) { ((SelectionRule)unconditionalRule).Conditions.Add(selectionCondition); } this._policyObjects.Pop(); } else { object[] objArray = new object[1]; objArray[0] = (object)conditionType; throw new InvalidOperationException(SR.GetString("POLICY0034", objArray)); } unconditionalRule.Output = ruleOutput; this._policyObjects.Push(unconditionalRule); return; } else { object[] objArray1 = new object[1]; objArray1[0] = "ConditionType"; throw new InvalidOperationException(SR.GetString("POLICY0037", objArray1)); } } else { object[] objArray2 = new object[1]; objArray2[0] = "IssuanceStatement"; throw new InvalidOperationException(SR.GetString("POLICY0037", objArray2)); } } else { object[] objArray3 = new object[1]; objArray3[0] = "RuleOutput"; throw new InvalidOperationException(SR.GetString("POLICY0037", objArray3)); } } else { throw new InvalidOperationException(SR.GetString("POLICY0038", new object[0])); } }