/// <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 SpecialNodesByMapInserter Install(Hashtable specialsMap, IOutputAstVisitor outputVisitor) { SpecialNodesByMapInserter sni = new SpecialNodesByMapInserter(specialsMap, new SpecialOutputVisitor(outputVisitor.OutputFormatter)); outputVisitor.BeforeNodeVisit += sni.AcceptNodeStart; outputVisitor.AfterNodeVisit += sni.AcceptNodeEnd; return(sni); }
public String ToCSharp() { IOutputAstVisitor outputVisitor = new CSharpOutputVisitor(); SetPrettyPrintOptions(outputVisitor); using (SpecialNodesByMapInserter.Install(new Hashtable(), outputVisitor)) { unit.AcceptVisitor(outputVisitor, null); } String code = outputVisitor.Text; return(NRefactoryUtil.FixSourceFormatting(code)); }