Esempio n. 1
0
        /// <summary>
        /// Registers a new SpecialNodesInserter with the output visitor.
        /// Make sure to call Finish() (or Dispose()) on the returned SpecialNodesInserter
        /// when the output is finished.
        /// </summary>
        public static SpecialNodesInserter Install(IEnumerable <ISpecial> specials, IOutputAstVisitor outputVisitor)
        {
            SpecialNodesInserter sni = new SpecialNodesInserter(specials, new SpecialOutputVisitor(outputVisitor.OutputFormatter));

            outputVisitor.BeforeNodeVisit += sni.AcceptNodeStart;
            outputVisitor.AfterNodeVisit  += sni.AcceptNodeEnd;
            return(sni);
        }
		/// <summary>
		/// Registers a new SpecialNodesInserter with the output visitor.
		/// Make sure to call Finish() (or Dispose()) on the returned SpecialNodesInserter
		/// when the output is finished.
		/// </summary>
		public static SpecialNodesInserter Install(IEnumerable<ISpecial> specials, IOutputAstVisitor outputVisitor)
		{
			SpecialNodesInserter sni = new SpecialNodesInserter(specials, new SpecialOutputVisitor(outputVisitor.OutputFormatter));
			outputVisitor.BeforeNodeVisit += sni.AcceptNodeStart;
			outputVisitor.AfterNodeVisit  += sni.AcceptNodeEnd;
			return sni;
		}