@@ -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
@@ -1534,6 +1534,17 @@ impl IntTy {
15341534 }
15351535 }
15361536
1537+ pub fn to_symbol ( & self ) -> Symbol {
1538+ match * self {
1539+ IntTy :: Isize => sym:: isize,
1540+ IntTy :: I8 => sym:: i8,
1541+ IntTy :: I16 => sym:: i16,
1542+ IntTy :: I32 => sym:: i32,
1543+ IntTy :: I64 => sym:: i64,
1544+ IntTy :: I128 => sym:: i128,
1545+ }
1546+ }
1547+
15371548 pub fn val_to_string ( & self , val : i128 ) -> String {
15381549 // Cast to a `u128` so we can correctly print `INT128_MIN`. All integral types
15391550 // are parsed as `u128`, so we wouldn't want to print an extra negative
@@ -1575,6 +1586,17 @@ impl UintTy {
15751586 }
15761587 }
15771588
1589+ pub fn to_symbol ( & self ) -> Symbol {
1590+ match * self {
1591+ UintTy :: Usize => sym:: usize,
1592+ UintTy :: U8 => sym:: u8,
1593+ UintTy :: U16 => sym:: u16,
1594+ UintTy :: U32 => sym:: u32,
1595+ UintTy :: U64 => sym:: u64,
1596+ UintTy :: U128 => sym:: u128,
1597+ }
1598+ }
1599+
15781600 pub fn val_to_string ( & self , val : u128 ) -> String {
15791601 format ! ( "{}{}" , val, self . ty_to_string( ) )
15801602 }
0 commit comments