@@ -10,7 +10,7 @@ use crate::parse::token;
1010use crate :: print:: pprust;
1111use crate :: ptr:: P ;
1212use crate :: source_map:: { dummy_spanned, respan, Spanned } ;
13- use crate :: symbol:: { kw, Symbol } ;
13+ use crate :: symbol:: { kw, sym , Symbol } ;
1414use crate :: tokenstream:: TokenStream ;
1515use crate :: ThinVec ;
1616
@@ -1531,6 +1531,17 @@ impl IntTy {
15311531 }
15321532 }
15331533
1534+ pub fn to_symbol ( & self ) -> Symbol {
1535+ match * self {
1536+ IntTy :: Isize => sym:: isize,
1537+ IntTy :: I8 => sym:: i8,
1538+ IntTy :: I16 => sym:: i16,
1539+ IntTy :: I32 => sym:: i32,
1540+ IntTy :: I64 => sym:: i64,
1541+ IntTy :: I128 => sym:: i128,
1542+ }
1543+ }
1544+
15341545 pub fn val_to_string ( & self , val : i128 ) -> String {
15351546 // Cast to a `u128` so we can correctly print `INT128_MIN`. All integral types
15361547 // are parsed as `u128`, so we wouldn't want to print an extra negative
@@ -1572,6 +1583,17 @@ impl UintTy {
15721583 }
15731584 }
15741585
1586+ pub fn to_symbol ( & self ) -> Symbol {
1587+ match * self {
1588+ UintTy :: Usize => sym:: usize,
1589+ UintTy :: U8 => sym:: u8,
1590+ UintTy :: U16 => sym:: u16,
1591+ UintTy :: U32 => sym:: u32,
1592+ UintTy :: U64 => sym:: u64,
1593+ UintTy :: U128 => sym:: u128,
1594+ }
1595+ }
1596+
15751597 pub fn val_to_string ( & self , val : u128 ) -> String {
15761598 format ! ( "{}{}" , val, self . ty_to_string( ) )
15771599 }
0 commit comments