public ISet <Event> Eval(Event context, Event root) { //System.out.println("Checking '" + this.ToString() + "' in context: " + context.location()); if (Child == null) { //System.out.println("1"); return(ApplyFilter(EvalCurrentNode(context, root), context)); } else { //System.out.println("2"); //System.out.println(current(context,root)); HashSet <Event> result = new HashSet <Event>(); foreach (Event e in ApplyFilter(EvalCurrentNode(context, root), context)) { result.UnionWith(Child.Eval(e, root)); } return(result); } }
public override DataType Eval(Event context) { var result = value.Eval(context); return new EventSet(result); }