@@ -5,7 +5,7 @@ use itertools::{Itertools, Position};
5
5
use rustc_ast:: ptr:: P ;
6
6
use rustc_ast:: util:: classify;
7
7
use rustc_ast:: util:: literal:: escape_byte_str_symbol;
8
- use rustc_ast:: util:: parser:: { self , AssocOp , Fixity } ;
8
+ use rustc_ast:: util:: parser:: { self , AssocOp , ExprPrecedence , Fixity } ;
9
9
use rustc_ast:: {
10
10
self as ast, BlockCheckMode , FormatAlignment , FormatArgPosition , FormatArgsPiece , FormatCount ,
11
11
FormatDebugHex , FormatSign , FormatTrait , token,
@@ -214,7 +214,7 @@ impl<'a> State<'a> {
214
214
fn print_expr_call ( & mut self , func : & ast:: Expr , args : & [ P < ast:: Expr > ] , fixup : FixupContext ) {
215
215
let needs_paren = match func. kind {
216
216
ast:: ExprKind :: Field ( ..) => true ,
217
- _ => func. precedence ( ) < parser :: PREC_UNAMBIGUOUS ,
217
+ _ => func. precedence ( ) < ExprPrecedence :: Unambiguous ,
218
218
} ;
219
219
220
220
// Independent of parenthesization related to precedence, we must
@@ -256,7 +256,7 @@ impl<'a> State<'a> {
256
256
// a statement containing an expression.
257
257
self . print_expr_cond_paren (
258
258
receiver,
259
- receiver. precedence ( ) < parser :: PREC_UNAMBIGUOUS ,
259
+ receiver. precedence ( ) < ExprPrecedence :: Unambiguous ,
260
260
fixup,
261
261
) ;
262
262
@@ -276,7 +276,7 @@ impl<'a> State<'a> {
276
276
fixup : FixupContext ,
277
277
) {
278
278
let assoc_op = AssocOp :: from_ast_binop ( op. node ) ;
279
- let binop_prec = assoc_op. precedence ( ) as i8 ;
279
+ let binop_prec = assoc_op. precedence ( ) ;
280
280
let left_prec = lhs. precedence ( ) ;
281
281
let right_prec = rhs. precedence ( ) ;
282
282
@@ -317,7 +317,7 @@ impl<'a> State<'a> {
317
317
self . word ( op. as_str ( ) ) ;
318
318
self . print_expr_cond_paren (
319
319
expr,
320
- expr. precedence ( ) < parser :: PREC_PREFIX ,
320
+ expr. precedence ( ) < ExprPrecedence :: Prefix ,
321
321
fixup. subsequent_subexpression ( ) ,
322
322
) ;
323
323
}
@@ -339,7 +339,7 @@ impl<'a> State<'a> {
339
339
}
340
340
self . print_expr_cond_paren (
341
341
expr,
342
- expr. precedence ( ) < parser :: PREC_PREFIX ,
342
+ expr. precedence ( ) < ExprPrecedence :: Prefix ,
343
343
fixup. subsequent_subexpression ( ) ,
344
344
) ;
345
345
}
@@ -423,7 +423,7 @@ impl<'a> State<'a> {
423
423
self . print_token_literal ( lit, expr. span )
424
424
}
425
425
ast:: ExprKind :: Cast ( expr, ty) => {
426
- let prec = AssocOp :: As . precedence ( ) as i8 ;
426
+ let prec = ExprPrecedence :: Cast ;
427
427
self . print_expr_cond_paren (
428
428
expr,
429
429
expr. precedence ( ) < prec,
@@ -503,7 +503,7 @@ impl<'a> State<'a> {
503
503
MatchKind :: Postfix => {
504
504
self . print_expr_cond_paren (
505
505
expr,
506
- expr. precedence ( ) < parser :: PREC_UNAMBIGUOUS ,
506
+ expr. precedence ( ) < ExprPrecedence :: Unambiguous ,
507
507
fixup,
508
508
) ;
509
509
self . word_nbsp ( ".match" ) ;
@@ -567,13 +567,13 @@ impl<'a> State<'a> {
567
567
ast:: ExprKind :: Await ( expr, _) => {
568
568
self . print_expr_cond_paren (
569
569
expr,
570
- expr. precedence ( ) < parser :: PREC_UNAMBIGUOUS ,
570
+ expr. precedence ( ) < ExprPrecedence :: Unambiguous ,
571
571
fixup,
572
572
) ;
573
573
self . word ( ".await" ) ;
574
574
}
575
575
ast:: ExprKind :: Assign ( lhs, rhs, _) => {
576
- let prec = AssocOp :: Assign . precedence ( ) as i8 ;
576
+ let prec = ExprPrecedence :: Assign ;
577
577
self . print_expr_cond_paren (
578
578
lhs,
579
579
lhs. precedence ( ) <= prec,
@@ -588,7 +588,7 @@ impl<'a> State<'a> {
588
588
) ;
589
589
}
590
590
ast:: ExprKind :: AssignOp ( op, lhs, rhs) => {
591
- let prec = AssocOp :: Assign . precedence ( ) as i8 ;
591
+ let prec = ExprPrecedence :: Assign ;
592
592
self . print_expr_cond_paren (
593
593
lhs,
594
594
lhs. precedence ( ) <= prec,
@@ -606,7 +606,7 @@ impl<'a> State<'a> {
606
606
ast:: ExprKind :: Field ( expr, ident) => {
607
607
self . print_expr_cond_paren (
608
608
expr,
609
- expr. precedence ( ) < parser :: PREC_UNAMBIGUOUS ,
609
+ expr. precedence ( ) < ExprPrecedence :: Unambiguous ,
610
610
fixup,
611
611
) ;
612
612
self . word ( "." ) ;
@@ -615,7 +615,7 @@ impl<'a> State<'a> {
615
615
ast:: ExprKind :: Index ( expr, index, _) => {
616
616
self . print_expr_cond_paren (
617
617
expr,
618
- expr. precedence ( ) < parser :: PREC_UNAMBIGUOUS ,
618
+ expr. precedence ( ) < ExprPrecedence :: Unambiguous ,
619
619
fixup. leftmost_subexpression ( ) ,
620
620
) ;
621
621
self . word ( "[" ) ;
@@ -627,7 +627,7 @@ impl<'a> State<'a> {
627
627
// than `Assign`, but `x .. x = x` gives a parse error instead of `x .. (x = x)`.
628
628
// Here we use a fake precedence value so that any child with lower precedence than
629
629
// a "normal" binop gets parenthesized. (`LOr` is the lowest-precedence binop.)
630
- let fake_prec = AssocOp :: LOr . precedence ( ) as i8 ;
630
+ let fake_prec = ExprPrecedence :: LOr ;
631
631
if let Some ( e) = start {
632
632
self . print_expr_cond_paren (
633
633
e,
@@ -662,7 +662,7 @@ impl<'a> State<'a> {
662
662
expr,
663
663
// Parenthesize if required by precedence, or in the
664
664
// case of `break 'inner: loop { break 'inner 1 } + 1`
665
- expr. precedence ( ) < parser :: PREC_JUMP
665
+ expr. precedence ( ) < ExprPrecedence :: Jump
666
666
|| ( opt_label. is_none ( ) && classify:: leading_labeled_expr ( expr) ) ,
667
667
fixup. subsequent_subexpression ( ) ,
668
668
) ;
@@ -681,7 +681,7 @@ impl<'a> State<'a> {
681
681
self . word ( " " ) ;
682
682
self . print_expr_cond_paren (
683
683
expr,
684
- expr. precedence ( ) < parser :: PREC_JUMP ,
684
+ expr. precedence ( ) < ExprPrecedence :: Jump ,
685
685
fixup. subsequent_subexpression ( ) ,
686
686
) ;
687
687
}
@@ -694,7 +694,7 @@ impl<'a> State<'a> {
694
694
self . word ( " " ) ;
695
695
self . print_expr_cond_paren (
696
696
expr,
697
- expr. precedence ( ) < parser :: PREC_JUMP ,
697
+ expr. precedence ( ) < ExprPrecedence :: Jump ,
698
698
fixup. subsequent_subexpression ( ) ,
699
699
) ;
700
700
}
@@ -704,7 +704,7 @@ impl<'a> State<'a> {
704
704
self . word ( " " ) ;
705
705
self . print_expr_cond_paren (
706
706
result,
707
- result. precedence ( ) < parser :: PREC_JUMP ,
707
+ result. precedence ( ) < ExprPrecedence :: Jump ,
708
708
fixup. subsequent_subexpression ( ) ,
709
709
) ;
710
710
}
@@ -758,13 +758,13 @@ impl<'a> State<'a> {
758
758
self . space ( ) ;
759
759
self . print_expr_cond_paren (
760
760
expr,
761
- expr. precedence ( ) < parser :: PREC_JUMP ,
761
+ expr. precedence ( ) < ExprPrecedence :: Jump ,
762
762
fixup. subsequent_subexpression ( ) ,
763
763
) ;
764
764
}
765
765
}
766
766
ast:: ExprKind :: Try ( e) => {
767
- self . print_expr_cond_paren ( e, e. precedence ( ) < parser :: PREC_UNAMBIGUOUS , fixup) ;
767
+ self . print_expr_cond_paren ( e, e. precedence ( ) < ExprPrecedence :: Unambiguous , fixup) ;
768
768
self . word ( "?" )
769
769
}
770
770
ast:: ExprKind :: TryBlock ( blk) => {
0 commit comments