diff --git a/src/librustc/hir/print.rs b/src/librustc/hir/print.rs index 4b87503ff88c4..246b3341a23ff 100644 --- a/src/librustc/hir/print.rs +++ b/src/librustc/hir/print.rs @@ -187,13 +187,13 @@ impl<'a> State<'a> { } pub fn space_if_not_bol(&mut self) { - if !self.is_bol() { + if !self.s.is_beginning_of_line() { self.s.space(); } } pub fn break_offset_if_not_bol(&mut self, n: usize, off: isize) { - if !self.is_bol() { + if !self.s.is_beginning_of_line() { self.s.break_offset(n, off) } else { if off != 0 && self.s.last_token().is_hardbreak_tok() { diff --git a/src/libsyntax/print/pp.rs b/src/libsyntax/print/pp.rs index 5e23288f55417..be5a00985789b 100644 --- a/src/libsyntax/print/pp.rs +++ b/src/libsyntax/print/pp.rs @@ -301,7 +301,7 @@ impl Default for BufEntry { } impl Printer { - pub fn last_token(&mut self) -> Token { + pub fn last_token(&self) -> Token { self.buf[self.right].token.clone() } @@ -651,6 +651,10 @@ impl Printer { self.spaces(SIZE_INFINITY as usize) } + pub fn is_beginning_of_line(&self) -> bool { + self.last_token().is_eof() || self.last_token().is_hardbreak_tok() + } + pub fn hardbreak_tok_offset(off: isize) -> Token { Token::Break(BreakToken {offset: off, blank_space: SIZE_INFINITY}) } diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 2e206811d7ca2..288417fcd89c7 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -445,13 +445,8 @@ pub trait PrintState<'a> { fn pclose(&mut self) { self.writer().word(")") } - // is this the beginning of a line? - fn is_bol(&mut self) -> bool { - self.writer().last_token().is_eof() || self.writer().last_token().is_hardbreak_tok() - } - fn hardbreak_if_not_bol(&mut self) { - if !self.is_bol() { + if !self.writer().is_beginning_of_line() { self.writer().hardbreak() } } @@ -512,7 +507,7 @@ pub trait PrintState<'a> { } } comments::Trailing => { - if !self.is_bol() { + if !self.writer().is_beginning_of_line() { self.writer().word(" "); } if cmnt.lines.len() == 1 { @@ -735,7 +730,7 @@ pub trait PrintState<'a> { } fn space_if_not_bol(&mut self) { - if !self.is_bol() { self.writer().space(); } + if !self.writer().is_beginning_of_line() { self.writer().space(); } } fn nbsp(&mut self) { self.writer().word(" ") } @@ -793,7 +788,7 @@ impl<'a> State<'a> { crate fn break_offset_if_not_bol(&mut self, n: usize, off: isize) { - if !self.is_bol() { + if !self.s.is_beginning_of_line() { self.s.break_offset(n, off) } else { if off != 0 && self.s.last_token().is_hardbreak_tok() {