Example #1
0
 public void Accept(IFilterNodeVisitor visitor)
 {
     visitor.StartVisit(this);
     First.Accept(visitor);
     Second.Accept(visitor);
     visitor.EndVisit();
 }
        public static IList <IFilterDescriptor> Create(string input)
        {
            IList <IFilterDescriptor> result = new List <IFilterDescriptor>();

            FilterParser parser     = new FilterParser(input);
            IFilterNode  filterNode = parser.Parse();

            if (filterNode == null)
            {
                return(result);
            }

            FilterNodeVisitor visitor = new FilterNodeVisitor();

            filterNode.Accept(visitor);
            result.Add(visitor.Result);
            return(result);
        }