@@ -222,29 +222,6 @@ struct PrintStackElem {
222
222
223
223
const SIZE_INFINITY : isize = 0xffff ;
224
224
225
- pub fn mk_printer ( ) -> Printer {
226
- let linewidth = 78 ;
227
- // Yes 55, it makes the ring buffers big enough to never fall behind.
228
- let n: usize = 55 * linewidth;
229
- debug ! ( "mk_printer {}" , linewidth) ;
230
- Printer {
231
- out : String :: new ( ) ,
232
- buf_max_len : n,
233
- margin : linewidth as isize ,
234
- space : linewidth as isize ,
235
- left : 0 ,
236
- right : 0 ,
237
- // Initialize a single entry; advance_right() will extend it on demand
238
- // up to `buf_max_len` elements.
239
- buf : vec ! [ BufEntry :: default ( ) ] ,
240
- left_total : 0 ,
241
- right_total : 0 ,
242
- scan_stack : VecDeque :: new ( ) ,
243
- print_stack : Vec :: new ( ) ,
244
- pending_indentation : 0 ,
245
- }
246
- }
247
-
248
225
pub struct Printer {
249
226
out : String ,
250
227
buf_max_len : usize ,
@@ -288,6 +265,29 @@ impl Default for BufEntry {
288
265
}
289
266
290
267
impl Printer {
268
+ pub fn new ( ) -> Self {
269
+ let linewidth = 78 ;
270
+ // Yes 55, it makes the ring buffers big enough to never fall behind.
271
+ let n: usize = 55 * linewidth;
272
+ debug ! ( "Printer::new {}" , linewidth) ;
273
+ Printer {
274
+ out : String :: new ( ) ,
275
+ buf_max_len : n,
276
+ margin : linewidth as isize ,
277
+ space : linewidth as isize ,
278
+ left : 0 ,
279
+ right : 0 ,
280
+ // Initialize a single entry; advance_right() will extend it on demand
281
+ // up to `buf_max_len` elements.
282
+ buf : vec ! [ BufEntry :: default ( ) ] ,
283
+ left_total : 0 ,
284
+ right_total : 0 ,
285
+ scan_stack : VecDeque :: new ( ) ,
286
+ print_stack : Vec :: new ( ) ,
287
+ pending_indentation : 0 ,
288
+ }
289
+ }
290
+
291
291
pub fn last_token ( & self ) -> Token {
292
292
self . buf [ self . right ] . token . clone ( )
293
293
}
0 commit comments