コード例 #1
0
        /// <summary>
        /// returns the children of this node
        /// </summary>
        /// <typeparam name="Return"></typeparam>
        /// <param name="visitor">the node we want to test</param>
        /// <returns>The node's children,else returns null(if there is no valid node given)</returns>
        public override Return AcceptVisitor <Return>(CASTAbstractVisitor <Return> visitor)
        {
            IASTAbstractConcreteVisitor <Return> typedVisitor = visitor as IASTAbstractConcreteVisitor <Return>;

            if (typedVisitor != null)
            {
                return(typedVisitor.VisitLexerDescription(this));
            }
            else
            {
                return(visitor.VisitChildren(this));
            }
        }
コード例 #2
0
 /// <summary>
 /// The Accept function is called by the Visitors' Visit functions
 /// </summary>
 /// <typeparam name="Return">The type of the eturn.</typeparam>
 /// <param name="visitor">The visitor.</param>
 /// <returns></returns>
 public abstract Return AcceptVisitor <Return>(CASTAbstractVisitor <Return> visitor);