Exemplo n.º 1
0
        public void Traverse(IVisitor visitor)
        {
            if (visitor == null)
            {
                throw new ArgumentNullException("visitor");
            }

            visitor.PerformBefore(this);
            m_left.Traverse(visitor);
            visitor.PerformOnOperator(this);
            m_operator.Traverse(visitor);
            visitor.PerformOnQuantifier(this);
            m_quantifier.Traverse(visitor);
            visitor.PerformOnSelect(this);
            m_right.Traverse(visitor);
            visitor.PerformAfter(this);
        }