Skip to content

Commit 573a8d8

Browse files
committed
syntax: extract error_on_invalid_abi.
1 parent 66bf323 commit 573a8d8

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1501,32 +1501,35 @@ impl<'a> Parser<'a> {
15011501
match self.token.kind {
15021502
token::Literal(token::Lit { kind: token::Str, symbol, suffix }) |
15031503
token::Literal(token::Lit { kind: token::StrRaw(..), symbol, suffix }) => {
1504-
let sp = self.token.span;
1505-
self.expect_no_suffix(sp, "an ABI spec", suffix);
1504+
self.expect_no_suffix(self.token.span, "an ABI spec", suffix);
15061505
self.bump();
15071506
match abi::lookup(&symbol.as_str()) {
15081507
Some(abi) => Ok(Some(abi)),
15091508
None => {
1510-
let prev_span = self.prev_span;
1511-
struct_span_err!(
1512-
self.sess.span_diagnostic,
1513-
prev_span,
1514-
E0703,
1515-
"invalid ABI: found `{}`",
1516-
symbol
1517-
)
1518-
.span_label(prev_span, "invalid ABI")
1519-
.help(&format!("valid ABIs: {}", abi::all_names().join(", ")))
1520-
.emit();
1509+
self.error_on_invalid_abi(symbol);
15211510
Ok(None)
15221511
}
15231512
}
15241513
}
1525-
15261514
_ => Ok(None),
15271515
}
15281516
}
15291517

1518+
/// Emit an error where `symbol` is an invalid ABI.
1519+
fn error_on_invalid_abi(&self, symbol: Symbol) {
1520+
let prev_span = self.prev_span;
1521+
struct_span_err!(
1522+
self.sess.span_diagnostic,
1523+
prev_span,
1524+
E0703,
1525+
"invalid ABI: found `{}`",
1526+
symbol
1527+
)
1528+
.span_label(prev_span, "invalid ABI")
1529+
.help(&format!("valid ABIs: {}", abi::all_names().join(", ")))
1530+
.emit();
1531+
}
1532+
15301533
/// We are parsing `async fn`. If we are on Rust 2015, emit an error.
15311534
fn ban_async_in_2015(&self, async_span: Span) {
15321535
if async_span.rust_2015() {

0 commit comments

Comments
 (0)