Update to rustc_lexer version 660.

Change `unescape_*()` to `unescape_literal()`.
This commit is contained in:
Julian Wollersberger 2020-05-24 13:12:16 +02:00
parent f4f5fca101
commit cd4ffc1945
4 changed files with 14 additions and 13 deletions

4
Cargo.lock generated
View file

@ -1398,9 +1398,9 @@ dependencies = [
[[package]] [[package]]
name = "rustc-ap-rustc_lexer" name = "rustc-ap-rustc_lexer"
version = "656.0.0" version = "660.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cbba98ec46e96a4663197dfa8c0378752de2006e314e5400c0ca74929d6692f" checksum = "30760dbcc7667c9e0da561e980e24867ca7f4526ce060a3d7e6d9dcfeaae88d1"
dependencies = [ dependencies = [
"unicode-xid", "unicode-xid",
] ]

View file

@ -13,7 +13,7 @@ doctest = false
[dependencies] [dependencies]
itertools = "0.9.0" itertools = "0.9.0"
rowan = "0.10.0" rowan = "0.10.0"
rustc_lexer = { version = "656.0.0", package = "rustc-ap-rustc_lexer" } rustc_lexer = { version = "660.0.0", package = "rustc-ap-rustc_lexer" }
rustc-hash = "1.1.0" rustc-hash = "1.1.0"
arrayvec = "0.5.1" arrayvec = "0.5.1"
once_cell = "1.3.1" once_cell = "1.3.1"

View file

@ -6,6 +6,7 @@ use crate::{
ast::{AstToken, Comment, RawString, String, Whitespace}, ast::{AstToken, Comment, RawString, String, Whitespace},
TextRange, TextSize, TextRange, TextSize,
}; };
use rustc_lexer::unescape::{unescape_literal, Mode};
impl Comment { impl Comment {
pub fn kind(&self) -> CommentKind { pub fn kind(&self) -> CommentKind {
@ -147,7 +148,7 @@ impl HasStringValue for String {
let mut buf = std::string::String::with_capacity(text.len()); let mut buf = std::string::String::with_capacity(text.len());
let mut has_error = false; let mut has_error = false;
rustc_lexer::unescape::unescape_str(text, &mut |_, unescaped_char| match unescaped_char { unescape_literal(text, Mode::Str, &mut |_, unescaped_char| match unescaped_char {
Ok(c) => buf.push(c), Ok(c) => buf.push(c),
Err(_) => has_error = true, Err(_) => has_error = true,
}); });
@ -498,7 +499,7 @@ impl HasFormatSpecifier for String {
let offset = self.text_range_between_quotes()?.start() - self.syntax().text_range().start(); let offset = self.text_range_between_quotes()?.start() - self.syntax().text_range().start();
let mut res = Vec::with_capacity(text.len()); let mut res = Vec::with_capacity(text.len());
rustc_lexer::unescape::unescape_str(text, &mut |range, unescaped_char| { unescape_literal(text, Mode::Str, &mut |range, unescaped_char| {
res.push(( res.push((
TextRange::new(range.start.try_into().unwrap(), range.end.try_into().unwrap()) TextRange::new(range.start.try_into().unwrap(), range.end.try_into().unwrap())
+ offset, + offset,

View file

@ -2,15 +2,15 @@
mod block; mod block;
use std::convert::TryFrom;
use rustc_lexer::unescape;
use crate::{ use crate::{
ast, match_ast, AstNode, SyntaxError, ast, match_ast, AstNode, SyntaxError,
SyntaxKind::{BYTE, BYTE_STRING, CHAR, CONST_DEF, FN_DEF, INT_NUMBER, STRING, TYPE_ALIAS_DEF}, SyntaxKind::{BYTE, BYTE_STRING, CHAR, CONST_DEF, FN_DEF, INT_NUMBER, STRING, TYPE_ALIAS_DEF},
SyntaxNode, SyntaxToken, TextSize, T, SyntaxNode, SyntaxToken, TextSize, T,
}; };
use rustc_lexer::unescape::{
self, unescape_byte, unescape_byte_literal, unescape_char, unescape_literal, Mode,
};
use std::convert::TryFrom;
fn rustc_unescape_error_to_string(err: unescape::EscapeError) -> &'static str { fn rustc_unescape_error_to_string(err: unescape::EscapeError) -> &'static str {
use unescape::EscapeError as EE; use unescape::EscapeError as EE;
@ -121,18 +121,18 @@ fn validate_literal(literal: ast::Literal, acc: &mut Vec<SyntaxError>) {
match token.kind() { match token.kind() {
BYTE => { BYTE => {
if let Some(Err(e)) = unquote(text, 2, '\'').map(unescape::unescape_byte) { if let Some(Err(e)) = unquote(text, 2, '\'').map(unescape_byte) {
push_err(2, e); push_err(2, e);
} }
} }
CHAR => { CHAR => {
if let Some(Err(e)) = unquote(text, 1, '\'').map(unescape::unescape_char) { if let Some(Err(e)) = unquote(text, 1, '\'').map(unescape_char) {
push_err(1, e); push_err(1, e);
} }
} }
BYTE_STRING => { BYTE_STRING => {
if let Some(without_quotes) = unquote(text, 2, '"') { if let Some(without_quotes) = unquote(text, 2, '"') {
unescape::unescape_byte_str(without_quotes, &mut |range, char| { unescape_byte_literal(without_quotes, Mode::ByteStr, &mut |range, char| {
if let Err(err) = char { if let Err(err) = char {
push_err(2, (range.start, err)); push_err(2, (range.start, err));
} }
@ -141,7 +141,7 @@ fn validate_literal(literal: ast::Literal, acc: &mut Vec<SyntaxError>) {
} }
STRING => { STRING => {
if let Some(without_quotes) = unquote(text, 1, '"') { if let Some(without_quotes) = unquote(text, 1, '"') {
unescape::unescape_str(without_quotes, &mut |range, char| { unescape_literal(without_quotes, Mode::Str, &mut |range, char| {
if let Err(err) = char { if let Err(err) = char {
push_err(1, (range.start, err)); push_err(1, (range.start, err));
} }