@@ -34,8 +34,8 @@ use rustc_ast::{
34
34
use rustc_ast_pretty:: pprust;
35
35
use rustc_data_structures:: fx:: FxHashSet ;
36
36
use rustc_errors:: {
37
- pluralize, AddToDiagnostic , Applicability , DiagCtxt , Diagnostic , DiagnosticBuilder ,
38
- DiagnosticMessage , FatalError , MultiSpan , PResult ,
37
+ pluralize, AddToDiagnostic , Applicability , DiagCtxt , Diagnostic , DiagnosticBuilder , FatalError ,
38
+ PResult ,
39
39
} ;
40
40
use rustc_session:: errors:: ExprParenthesesNeeded ;
41
41
use rustc_span:: source_map:: Spanned ;
@@ -239,21 +239,7 @@ impl<'a> DerefMut for SnapshotParser<'a> {
239
239
}
240
240
241
241
impl < ' a > Parser < ' a > {
242
- #[ rustc_lint_diagnostics]
243
- #[ track_caller]
244
- pub fn struct_span_err < S : Into < MultiSpan > > (
245
- & self ,
246
- sp : S ,
247
- m : impl Into < DiagnosticMessage > ,
248
- ) -> DiagnosticBuilder < ' a > {
249
- self . dcx ( ) . struct_span_err ( sp, m)
250
- }
251
-
252
- pub fn span_bug < S : Into < MultiSpan > > ( & self , sp : S , msg : impl Into < DiagnosticMessage > ) -> ! {
253
- self . dcx ( ) . span_bug ( sp, msg)
254
- }
255
-
256
- pub ( super ) fn dcx ( & self ) -> & ' a DiagCtxt {
242
+ pub fn dcx ( & self ) -> & ' a DiagCtxt {
257
243
& self . sess . dcx
258
244
}
259
245
@@ -610,7 +596,7 @@ impl<'a> Parser<'a> {
610
596
} ;
611
597
self . last_unexpected_token_span = Some ( self . token . span ) ;
612
598
// FIXME: translation requires list formatting (for `expect`)
613
- let mut err = self . struct_span_err ( self . token . span , msg_exp) ;
599
+ let mut err = self . dcx ( ) . struct_span_err ( self . token . span , msg_exp) ;
614
600
615
601
if let TokenKind :: Ident ( symbol, _) = & self . prev_token . kind {
616
602
if [ "def" , "fun" , "func" , "function" ] . contains ( & symbol. as_str ( ) ) {
@@ -1647,7 +1633,7 @@ impl<'a> Parser<'a> {
1647
1633
kind : IncDecRecovery ,
1648
1634
op_span : Span ,
1649
1635
) -> PResult < ' a , P < Expr > > {
1650
- let mut err = self . struct_span_err (
1636
+ let mut err = self . dcx ( ) . struct_span_err (
1651
1637
op_span,
1652
1638
format ! ( "Rust has no {} {} operator" , kind. fixity, kind. op. name( ) ) ,
1653
1639
) ;
@@ -1843,7 +1829,7 @@ impl<'a> Parser<'a> {
1843
1829
_ => this_token_str,
1844
1830
} ,
1845
1831
) ;
1846
- let mut err = self . struct_span_err ( sp, msg) ;
1832
+ let mut err = self . dcx ( ) . struct_span_err ( sp, msg) ;
1847
1833
let label_exp = format ! ( "expected `{token_str}`" ) ;
1848
1834
let sm = self . sess . source_map ( ) ;
1849
1835
if !sm. is_multiline ( prev_sp. until ( sp) ) {
@@ -1978,7 +1964,7 @@ impl<'a> Parser<'a> {
1978
1964
self . consume_block ( Delimiter :: Parenthesis , ConsumeClosingDelim :: No ) ; //eat the block
1979
1965
let hi = self . token . span ;
1980
1966
self . bump ( ) ; //remove )
1981
- let mut err = self . struct_span_err ( lo. to ( hi) , "use of deprecated `try` macro" ) ;
1967
+ let mut err = self . dcx ( ) . struct_span_err ( lo. to ( hi) , "use of deprecated `try` macro" ) ;
1982
1968
err. note ( "in the 2018 edition `try` is a reserved keyword, and the `try!()` macro is deprecated" ) ;
1983
1969
let prefix = if is_empty { "" } else { "alternatively, " } ;
1984
1970
if !is_empty {
@@ -2328,7 +2314,7 @@ impl<'a> Parser<'a> {
2328
2314
format ! ( "expected expression, found {}" , super :: token_descr( & self . token) ) ,
2329
2315
) ,
2330
2316
} ;
2331
- let mut err = self . struct_span_err ( span, msg) ;
2317
+ let mut err = self . dcx ( ) . struct_span_err ( span, msg) ;
2332
2318
let sp = self . sess . source_map ( ) . start_point ( self . token . span ) ;
2333
2319
if let Some ( sp) = self . sess . ambiguous_block_expr_parse . borrow ( ) . get ( & sp) {
2334
2320
err. subdiagnostic ( ExprParenthesesNeeded :: surrounding ( * sp) ) ;
@@ -2450,7 +2436,7 @@ impl<'a> Parser<'a> {
2450
2436
// We are causing this error here exclusively in case that a `const` expression
2451
2437
// could be recovered from the current parser state, even if followed by more
2452
2438
// arguments after a comma.
2453
- let mut err = self . struct_span_err (
2439
+ let mut err = self . dcx ( ) . struct_span_err (
2454
2440
self . token . span ,
2455
2441
format ! ( "expected one of `,` or `>`, found {}" , super :: token_descr( & self . token) ) ,
2456
2442
) ;
@@ -2840,7 +2826,7 @@ impl<'a> Parser<'a> {
2840
2826
let label = self . eat_label ( ) . expect ( "just checked if a label exists" ) ;
2841
2827
self . bump ( ) ; // eat `:`
2842
2828
let span = label. ident . span . to ( self . prev_token . span ) ;
2843
- let mut err = self . struct_span_err ( span, "block label not supported here" ) ;
2829
+ let mut err = self . dcx ( ) . struct_span_err ( span, "block label not supported here" ) ;
2844
2830
err. span_label ( span, "not supported here" ) ;
2845
2831
err. tool_only_span_suggestion (
2846
2832
label. ident . span . until ( self . token . span ) ,
@@ -2875,7 +2861,7 @@ impl<'a> Parser<'a> {
2875
2861
err. cancel ( ) ;
2876
2862
}
2877
2863
let seq_span = lo. to ( self . prev_token . span ) ;
2878
- let mut err = self . struct_span_err ( comma_span, "unexpected `,` in pattern" ) ;
2864
+ let mut err = self . dcx ( ) . struct_span_err ( comma_span, "unexpected `,` in pattern" ) ;
2879
2865
if let Ok ( seq_snippet) = self . span_to_snippet ( seq_span) {
2880
2866
err. multipart_suggestion (
2881
2867
format ! (
@@ -2970,7 +2956,7 @@ impl<'a> Parser<'a> {
2970
2956
}
2971
2957
self . bump ( ) ;
2972
2958
}
2973
- let mut err = self . struct_span_err ( spans, "encountered diff marker" ) ;
2959
+ let mut err = self . dcx ( ) . struct_span_err ( spans, "encountered diff marker" ) ;
2974
2960
err. span_label ( start, "after this is the code before the merge" ) ;
2975
2961
if let Some ( middle) = middlediff3 {
2976
2962
err. span_label ( middle, "" ) ;
0 commit comments