/// <summary>
        /// Accept a <see cref="ISyntacticTreeVisitor{T}"/> to walk a tree of <see cref="QueryToken"/>s.
        /// </summary>
        /// <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
        /// <param name="visitor">An implementation of the visitor interface.</param>
        /// <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        public override T Accept <T>(ISyntacticTreeVisitor <T> visitor)
        {
            SyntacticTreeVisitor <T> implementation = visitor as SyntacticTreeVisitor <T>;

            if (implementation != null)
            {
                return(implementation.Visit(this));
            }

            throw new NotImplementedException();
        }
 public override T Accept <T>(ISyntacticTreeVisitor <T> visitor)
 {
     throw new NotImplementedException();
 }
示例#3
0
 /// <summary>
 /// Accept a <see cref="ISyntacticTreeVisitor{T}"/> to walk a tree of <see cref="QueryToken"/>s.
 /// </summary>
 /// <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
 /// <param name="visitor">An implementation of the visitor interface.</param>
 /// <returns>An object whose type is determined by the type parameter of the visitor.</returns>
 public override T Accept <T>(ISyntacticTreeVisitor <T> visitor)
 {
     return(visitor.Visit(this));
 }
示例#4
0
 /// <summary>
 /// Accept a <see cref="ISyntacticTreeVisitor{T}"/> to walk a tree of <see cref="QueryToken"/>s.
 /// </summary>
 /// <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
 /// <param name="visitor">An implementation of the visitor interface.</param>
 /// <returns>An object whose type is determined by the type parameter of the visitor.</returns>
 public abstract T Accept <T>(ISyntacticTreeVisitor <T> visitor);