// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; using ICSharpCode.NRefactory.VB.Parser; using ICSharpCode.NRefactory.VB.Dom; namespace ICSharpCode.NRefactory.VB.PrettyPrinter { public interface IOutputDomVisitor : IDomVisitor { event Action BeforeNodeVisit; event Action AfterNodeVisit; string Text { get; } Errors Errors { get; } AbstractPrettyPrintOptions Options { get; } IOutputFormatter OutputFormatter { get; } } public interface IOutputFormatter { int IndentationLevel { get; set; } string Text { get; } bool IsInMemberBody { get; set; } void NewLine(); void Indent(); void PrintComment(Comment comment, bool forceWriteInPreviousBlock); void PrintPreprocessingDirective(PreprocessingDirective directive, bool forceWriteInPreviousBlock); void PrintBlankLine(bool forceWriteInPreviousBlock); } }