public RuleTreeBranch(IRuleTreeNode[] children, AnalysisRuleAddinNode rule) { this.rule = rule; this.children = children; Debug.Assert(rule != null); Debug.Assert(children != null && children.Length > 0); Debug.Assert(children.All(c => (c is RuleTreeLeaf && ((RuleTreeLeaf)c).Rule.Input == rule.Output) || (c is RuleTreeBranch && ((RuleTreeBranch)c).Rule.Input == rule.Output) )); }
public RuleTreeLeaf(AnalysisRuleAddinNode rule) { this.rule = rule; Debug.Assert(rule != null); Debug.Assert(rule.Output == TYPE); }