diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-05-19 01:04:26 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-05-23 12:46:24 +0300 |
| commit | ca2a50fad7439f02a9e99f8107ffed8460fc8c44 (patch) | |
| tree | 4552fd5c786238aa51f716f983804f8c101dc1fd /src/libsyntax/print | |
| parent | 558559e70f648ff518da5ada726da2f04b617197 (diff) | |
| download | rust-ca2a50fad7439f02a9e99f8107ffed8460fc8c44.tar.gz rust-ca2a50fad7439f02a9e99f8107ffed8460fc8c44.zip | |
syntax: Turn `token::Lit` into a struct
Diffstat (limited to 'src/libsyntax/print')
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 2e072522d24..67f57a7ed00 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -163,22 +163,22 @@ fn binop_to_string(op: BinOpToken) -> &'static str { } } -pub fn literal_to_string(lit: token::Lit, suffix: Option<ast::Name>) -> String { - let mut out = match lit { - token::Byte(b) => format!("b'{}'", b), - token::Char(c) => format!("'{}'", c), - token::Err(c) => format!("'{}'", c), - token::Bool(c) | - token::Float(c) | - token::Integer(c) => c.to_string(), - token::Str_(s) => format!("\"{}\"", s), - token::StrRaw(s, n) => format!("r{delim}\"{string}\"{delim}", - delim="#".repeat(n as usize), - string=s), - token::ByteStr(v) => format!("b\"{}\"", v), - token::ByteStrRaw(s, n) => format!("br{delim}\"{string}\"{delim}", - delim="#".repeat(n as usize), - string=s), +pub fn literal_to_string(token::Lit { kind, symbol, suffix }: token::Lit) -> String { + let mut out = match kind { + token::Byte => format!("b'{}'", symbol), + token::Char => format!("'{}'", symbol), + token::Bool | + token::Float | + token::Integer => symbol.to_string(), + token::Str => format!("\"{}\"", symbol), + token::StrRaw(n) => format!("r{delim}\"{string}\"{delim}", + delim="#".repeat(n as usize), + string=symbol), + token::ByteStr => format!("b\"{}\"", symbol), + token::ByteStrRaw(n) => format!("br{delim}\"{string}\"{delim}", + delim="#".repeat(n as usize), + string=symbol), + token::Err => format!("'{}'", symbol), }; if let Some(suffix) = suffix { @@ -231,7 +231,7 @@ pub fn token_to_string(tok: &Token) -> String { token::SingleQuote => "'".to_string(), /* Literals */ - token::Literal(lit, suf) => literal_to_string(lit, suf), + token::Literal(lit) => literal_to_string(lit), /* Name components */ token::Ident(s, false) => s.to_string(), @@ -571,7 +571,7 @@ pub trait PrintState<'a> { fn print_literal(&mut self, lit: &ast::Lit) -> io::Result<()> { self.maybe_print_comment(lit.span.lo())?; - self.writer().word(literal_to_string(lit.token, lit.suffix)) + self.writer().word(literal_to_string(lit.token)) } fn print_string(&mut self, st: &str, |
