|
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