/// <summary>
        /// Visists the given visitor with the specified solution item.
        /// </summary>
        public static bool Accept(ISolutionItemNode solutionItem, ISolutionVisitor visitor)
        {
            if (visitor.VisitEnter(solutionItem))
            {
                foreach (var node in solutionItem.Nodes)
                {
                    if (!node.Accept(visitor))
                        break;
                }
            }

            return visitor.VisitLeave(solutionItem);
        }
Example #2
0
        /// <summary>
        /// Visists the given visitor with the specified solution item.
        /// </summary>
        public static bool Accept(ISolutionItemNode solutionItem, ISolutionVisitor visitor)
        {
            if (visitor.VisitEnter(solutionItem))
            {
                foreach (var node in solutionItem.Nodes)
                {
                    if (!node.Accept(visitor))
                    {
                        break;
                    }
                }
            }

            return(visitor.VisitLeave(solutionItem));
        }
		public bool VisitLeave(ISolutionItemNode solutionItem)
		{
			throw new NotSupportedException();
		}
Example #4
0
 /// <summary>
 /// Adapts a <see cref="ISolutionItemNode"/> to an <see cref="IVsHierarchyItem"/>.
 /// </summary>
 /// <returns>The <see cref="IVsHierarchyItem"/> or <see langword="null"/> if conversion is not possible.</returns>
 public static IVsHierarchyItem AsVsHierarchyItem(this ISolutionItemNode item) => item.As <IVsHierarchyItem>();
Example #5
0
 /// <summary>
 /// Ends visiting a solution item.
 /// </summary>
 /// <param name="solutionItem">The solution item being visited.</param>
 /// <returns>
 ///   <see langword="true" /> if the solution item siblings should be visited; <see langword="false" /> otherwise.
 /// </returns>
 public virtual bool VisitLeave(ISolutionItemNode solutionItem)
 {
     return(true);
 }
Example #6
0
 /// <summary>
 /// Begins visiting a solution item.
 /// </summary>
 /// <param name="solutionItem">The solution item being visited.</param>
 /// <returns>
 ///   <see langword="true" /> if the solution item children should be visited; <see langword="false" /> otherwise.
 /// </returns>
 public virtual bool VisitEnter(ISolutionItemNode solutionItem)
 {
     return(true);
 }
 public virtual void Visit(ISolutionItemNode node)
 {
    DefaultVisit(node);
 }
 public bool VisitLeave(ISolutionItemNode solutionItem)
 {
     throw new NotSupportedException();
 }
 /// <summary>
 /// Begins visiting a solution item.
 /// </summary>
 /// <param name="solutionItem">The solution item being visited.</param>
 /// <returns>
 ///   <see langword="true" /> if the solution item children should be visited; <see langword="false" /> otherwise.
 /// </returns>
 public virtual bool VisitEnter(ISolutionItemNode solutionItem)
 {
     return true;
 }
Example #10
0
		public bool VisitEnter (ISolutionItemNode solutionItem) => false;
Example #11
0
		public bool VisitLeave (ISolutionItemNode solutionItem) => true;
 // Don't traverse child items of a solution item.
 public bool VisitEnter(ISolutionItemNode solutionItem)
 {
     return(false);
 }
Example #13
0
		/// <summary>
		/// Begins visiting a solution item.
		/// </summary>
		/// <param name="solutionItem">The solution item being visited.</param>
		/// <returns>
		///   <see langword="true" /> if the solution item children should be visited; <see langword="false" /> otherwise.
		/// </returns>
		public virtual bool VisitEnter (ISolutionItemNode solutionItem) => true;
Example #14
0
 /// <summary>
 /// Begins visiting a solution item.
 /// </summary>
 /// <param name="solutionItem">The solution item being visited.</param>
 /// <returns>
 ///   <see langword="true" /> if the solution item children should be visited; <see langword="false" /> otherwise.
 /// </returns>
 public virtual bool VisitEnter(ISolutionItemNode solutionItem) => true;
Example #15
0
 // Don't traverse child items of a solution item.
 public bool VisitEnter(ISolutionItemNode solutionItem) => false;
Example #16
0
 /// <summary>
 /// Ends visiting a solution item.
 /// </summary>
 /// <param name="solutionItem">The solution item being visited.</param>
 /// <returns>
 ///   <see langword="true" /> if the solution item siblings should be visited; <see langword="false" /> otherwise.
 /// </returns>
 public virtual bool VisitLeave(ISolutionItemNode solutionItem)
 {
     return true;
 }
Example #17
0
 public bool VisitLeave(ISolutionItemNode solutionItem) => true;
 // Don't traverse child items of a solution item.
 public bool VisitEnter(ISolutionItemNode solutionItem)
 {
     return false;
 }