|
3 | 3 | //! Note that HIR pretty printing is layered on top of this crate. |
4 | 4 |
|
5 | 5 | mod expr; |
| 6 | +mod fixup; |
6 | 7 | mod item; |
7 | 8 |
|
8 | 9 | use crate::pp::Breaks::{Consistent, Inconsistent}; |
9 | 10 | use crate::pp::{self, Breaks}; |
10 | | -use crate::pprust::state::expr::FixupContext; |
| 11 | +use crate::pprust::state::fixup::FixupContext; |
11 | 12 | use ast::TraitBoundModifiers; |
12 | 13 | use rustc_ast::attr::AttrIdGenerator; |
13 | 14 | use rustc_ast::ptr::P; |
14 | 15 | use rustc_ast::token::{self, BinOpToken, CommentKind, Delimiter, Nonterminal, Token, TokenKind}; |
15 | 16 | use rustc_ast::tokenstream::{Spacing, TokenStream, TokenTree}; |
16 | 17 | use rustc_ast::util::classify; |
17 | 18 | use rustc_ast::util::comments::{Comment, CommentStyle}; |
18 | | -use rustc_ast::util::parser; |
19 | 19 | use rustc_ast::{self as ast, AttrArgs, AttrArgsEq, BlockCheckMode, PatKind}; |
20 | 20 | use rustc_ast::{attr, BindingMode, ByRef, DelimArgs, RangeEnd, RangeSyntax, Term}; |
21 | 21 | use rustc_ast::{GenericArg, GenericBound, SelfKind}; |
@@ -1252,22 +1252,14 @@ impl<'a> State<'a> { |
1252 | 1252 | ast::StmtKind::Item(item) => self.print_item(item), |
1253 | 1253 | ast::StmtKind::Expr(expr) => { |
1254 | 1254 | self.space_if_not_bol(); |
1255 | | - self.print_expr_outer_attr_style( |
1256 | | - expr, |
1257 | | - false, |
1258 | | - FixupContext { stmt: true, ..FixupContext::default() }, |
1259 | | - ); |
| 1255 | + self.print_expr_outer_attr_style(expr, false, FixupContext::new_stmt()); |
1260 | 1256 | if classify::expr_requires_semi_to_be_stmt(expr) { |
1261 | 1257 | self.word(";"); |
1262 | 1258 | } |
1263 | 1259 | } |
1264 | 1260 | ast::StmtKind::Semi(expr) => { |
1265 | 1261 | self.space_if_not_bol(); |
1266 | | - self.print_expr_outer_attr_style( |
1267 | | - expr, |
1268 | | - false, |
1269 | | - FixupContext { stmt: true, ..FixupContext::default() }, |
1270 | | - ); |
| 1262 | + self.print_expr_outer_attr_style(expr, false, FixupContext::new_stmt()); |
1271 | 1263 | self.word(";"); |
1272 | 1264 | } |
1273 | 1265 | ast::StmtKind::Empty => { |
@@ -1319,11 +1311,7 @@ impl<'a> State<'a> { |
1319 | 1311 | ast::StmtKind::Expr(expr) if i == blk.stmts.len() - 1 => { |
1320 | 1312 | self.maybe_print_comment(st.span.lo()); |
1321 | 1313 | self.space_if_not_bol(); |
1322 | | - self.print_expr_outer_attr_style( |
1323 | | - expr, |
1324 | | - false, |
1325 | | - FixupContext { stmt: true, ..FixupContext::default() }, |
1326 | | - ); |
| 1314 | + self.print_expr_outer_attr_style(expr, false, FixupContext::new_stmt()); |
1327 | 1315 | self.maybe_print_trailing_comment(expr.span, Some(blk.span.hi())); |
1328 | 1316 | } |
1329 | 1317 | _ => self.print_stmt(st), |
@@ -1367,8 +1355,7 @@ impl<'a> State<'a> { |
1367 | 1355 | self.word_space("="); |
1368 | 1356 | self.print_expr_cond_paren( |
1369 | 1357 | expr, |
1370 | | - fixup.parenthesize_exterior_struct_lit && parser::contains_exterior_struct_lit(expr) |
1371 | | - || parser::needs_par_as_let_scrutinee(expr.precedence().order()), |
| 1358 | + fixup.needs_par_as_let_scrutinee(expr), |
1372 | 1359 | FixupContext::default(), |
1373 | 1360 | ); |
1374 | 1361 | } |
|
0 commit comments