2 // System.CodeDom.Compiler IndentedTextWriter class
5 // Daniel Stodden (stodden@in.tum.de)
7 // (C) 2002 Ximian, Inc.
13 namespace System.CodeDom.Compiler {
15 public class IndentedTextWriter
18 private TextWriter writer;
19 private string tabString;
26 public IndentedTextWriter( TextWriter writer )
29 this.tabString = DefaultTabString;
33 public IndentedTextWriter( TextWriter writer, string tabString )
36 this.tabString = tabString;
44 public const string DefaultTabString = " ";
49 public override Encoding Encoding {
51 return writer.Encoding;
64 public TextWriter InnerWriter {
70 public override string NewLine {
72 return writer.NewLine;
75 writer.NewLine = value;
82 public override void Close()
87 public override void Flush()
92 public override void Write( bool value )
95 writer.Write( value );
98 public override void Write( char value )
101 writer.Write( value );
104 public override void Write( char[] value )
107 writer.Write( value );
110 public override void Write( double value )
113 writer.Write( value );
116 public override void Write( int value )
119 writer.Write( value );
122 public override void Write( long value )
125 writer.Write( value );
128 public override void Write( object value )
131 writer.Write( value );
134 public override void Write( float value )
137 writer.Write( value );
140 public override void Write( string value )
143 writer.Write( value );
146 public override void Write( string format, object arg )
149 writer.Write( format, arg );
152 public override void Write( string format, params object[] args )
155 writer.Write( format, args );
158 public override void Write( char[] buffer, int index, int count )
161 writer.Write( buffer, index, count );
164 public override void Write( string format, object arg0, object arg1 )
167 writer.Write( format, arg0, arg1 );
171 public override void WriteLine()
178 public override void WriteLine( char value )
181 writer.WriteLine( value );
185 public override void WriteLine( char[] value )
188 writer.WriteLine( value );
192 public override void WriteLine( double value )
195 writer.WriteLine( value );
199 public override void WriteLine( int value )
202 writer.WriteLine( value );
206 public override void WriteLine( long value )
209 writer.WriteLine( value );
213 public override void WriteLine( object value )
216 writer.WriteLine( value );
220 public override void WriteLine( float value )
223 writer.WriteLine( value );
227 public override void WriteLine( string value )
230 writer.WriteLine( value );
234 public override void WriteLine( uint value )
237 writer.WriteLine( value );
241 public override void WriteLine( string format, object arg )
244 writer.WriteLine( format, arg );
248 public override void WriteLine( string format, params object[] args )
251 writer.WriteLine( format, args );
255 public override void WriteLine( char[] buffer, int index, int count )
258 writer.WriteLine( buffer, index, count );
262 public override void WriteLine( string format, object arg0, object arg1 )
265 writer.WriteLine( format, arg0, arg1 );
270 public void WriteLineNoTabs( string value )
272 writer.WriteLine( value );
277 protected virtual void OutputTabs()
280 for ( int i = 0; i < indent; ++i )
281 writer.Write( tabString );