예제 #1
0
 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)
                               ));
 }
예제 #2
0
 public RuleTreeLeaf(AnalysisRuleAddinNode rule)
 {
     this.rule = rule;
     Debug.Assert(rule != null);
     Debug.Assert(rule.Output == TYPE);
 }