Skip to content

Commit 2760586

Browse files
committed
---
yaml --- r: 174122 b: refs/heads/batch c: caf4a90 h: refs/heads/master v: v3
1 parent 92539d8 commit 2760586

File tree

2 files changed

+38
-32
lines changed

2 files changed

+38
-32
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
2929
refs/heads/issue-18208-method-dispatch-2: 9e1eae4fb9b6527315b4441cf8a0f5ca911d1671
3030
refs/heads/automation-fail: 1bf06495443584539b958873e04cc2f864ab10e4
3131
refs/heads/issue-18208-method-dispatch-3-quick-reject: 2009f85b9f99dedcec4404418eda9ddba90258a2
32-
refs/heads/batch: 92b48556e088a4054c49f40fb85322ceff5de453
32+
refs/heads/batch: caf4a90c66b838883b58ff9d51b3b0a3f968f23f
3333
refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
3434
refs/heads/beta: 44a287e6eb22ec3c2a687fc156813577464017f7
3535
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928

branches/batch/src/libsyntax/print/pp.rs

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -317,9 +317,7 @@ impl Printer {
317317
Token::Eof => {
318318
if !self.scan_stack_empty {
319319
self.check_stack(0);
320-
let left = self.token[self.left].clone();
321-
let left_size = self.size[self.left];
322-
try!(self.advance_left(left, left_size));
320+
try!(self.advance_left());
323321
}
324322
self.indent(0);
325323
Ok(())
@@ -370,16 +368,16 @@ impl Printer {
370368
self.right_total += b.blank_space;
371369
Ok(())
372370
}
373-
Token::String(ref s, len) => {
371+
Token::String(s, len) => {
374372
if self.scan_stack_empty {
375373
debug!("pp String('{}')/print ~[{},{}]",
376-
*s, self.left, self.right);
377-
self.print(token.clone(), len)
374+
s, self.left, self.right);
375+
self.print(Token::String(s, len), len)
378376
} else {
379377
debug!("pp String('{}')/buffer ~[{},{}]",
380-
*s, self.left, self.right);
378+
s, self.left, self.right);
381379
self.advance_right();
382-
self.token[self.right] = token.clone();
380+
self.token[self.right] = Token::String(s, len);
383381
self.size[self.right] = len;
384382
self.right_total += len;
385383
self.check_stream()
@@ -400,9 +398,7 @@ impl Printer {
400398
self.size[scanned] = SIZE_INFINITY;
401399
}
402400
}
403-
let left = self.token[self.left].clone();
404-
let left_size = self.size[self.left];
405-
try!(self.advance_left(left, left_size));
401+
try!(self.advance_left());
406402
if self.left != self.right {
407403
try!(self.check_stream());
408404
}
@@ -449,29 +445,39 @@ impl Printer {
449445
self.right %= self.buf_len;
450446
assert!((self.right != self.left));
451447
}
452-
pub fn advance_left(&mut self, x: Token, l: int) -> io::IoResult<()> {
448+
pub fn advance_left(&mut self) -> io::IoResult<()> {
453449
debug!("advance_left ~[{},{}], sizeof({})={}", self.left, self.right,
454-
self.left, l);
455-
if l >= 0 {
456-
let ret = self.print(x.clone(), l);
457-
match x {
458-
Token::Break(b) => self.left_total += b.blank_space,
459-
Token::String(_, len) => {
460-
assert_eq!(len, l); self.left_total += len;
461-
}
462-
_ => ()
463-
}
464-
if self.left != self.right {
465-
self.left += 1u;
466-
self.left %= self.buf_len;
467-
let left = self.token[self.left].clone();
468-
let left_size = self.size[self.left];
469-
try!(self.advance_left(left, left_size));
450+
self.left, self.size[self.left]);
451+
452+
let mut left_size = self.size[self.left];
453+
454+
while left_size >= 0 {
455+
let left = self.token[self.left].clone();
456+
457+
let len = match left {
458+
Token::Break(b) => b.blank_space,
459+
Token::String(_, len) => {
460+
assert_eq!(len, left_size);
461+
len
462+
}
463+
_ => 0
464+
};
465+
466+
try!(self.print(left, left_size));
467+
468+
self.left_total += len;
469+
470+
if self.left == self.right {
471+
break;
470472
}
471-
ret
472-
} else {
473-
Ok(())
473+
474+
self.left += 1u;
475+
self.left %= self.buf_len;
476+
477+
left_size = self.size[self.left];
474478
}
479+
480+
Ok(())
475481
}
476482
pub fn check_stack(&mut self, k: int) {
477483
if !self.scan_stack_empty {

0 commit comments

Comments
 (0)