@@ -2,8 +2,8 @@ use std::borrow::Cow;
2
2
3
3
use crate :: svd:: { Access , Cluster , Device , Field , Register , RegisterInfo , RegisterProperties } ;
4
4
use inflections:: Inflect ;
5
- use proc_macro2:: { Ident , Literal , Span , TokenStream } ;
6
- use quote:: { quote, ToTokens } ;
5
+ use proc_macro2:: { Ident , Span , TokenStream } ;
6
+ use quote:: quote;
7
7
use std:: collections:: HashSet ;
8
8
use std:: path:: { Path , PathBuf } ;
9
9
use svd_rs:: { MaybeArray , PeripheralInfo } ;
@@ -282,7 +282,7 @@ pub fn access_of(properties: &RegisterProperties, fields: Option<&[Field]>) -> A
282
282
} )
283
283
}
284
284
285
- pub fn digit_or_hex ( n : u64 ) -> TokenStream {
285
+ pub fn digit_or_hex ( n : u64 ) -> syn :: LitInt {
286
286
if n < 10 {
287
287
unsuffixed ( n)
288
288
} else {
@@ -291,14 +291,14 @@ pub fn digit_or_hex(n: u64) -> TokenStream {
291
291
}
292
292
293
293
/// Turns `n` into an unsuffixed separated hex token
294
- pub fn hex ( n : u64 ) -> TokenStream {
294
+ pub fn hex ( n : u64 ) -> syn :: LitInt {
295
295
let ( h4, h3, h2, h1) = (
296
296
( n >> 48 ) & 0xffff ,
297
297
( n >> 32 ) & 0xffff ,
298
298
( n >> 16 ) & 0xffff ,
299
299
n & 0xffff ,
300
300
) ;
301
- syn:: parse_str :: < syn :: Lit > (
301
+ syn:: LitInt :: new (
302
302
& ( if h4 != 0 {
303
303
format ! ( "0x{h4:04x}_{h3:04x}_{h2:04x}_{h1:04x}" )
304
304
} else if h3 != 0 {
@@ -312,21 +312,20 @@ pub fn hex(n: u64) -> TokenStream {
312
312
} else {
313
313
"0" . to_string ( )
314
314
} ) ,
315
+ Span :: call_site ( ) ,
315
316
)
316
- . unwrap ( )
317
- . into_token_stream ( )
318
317
}
319
318
320
319
/// Turns `n` into an unsuffixed token
321
- pub fn unsuffixed ( n : u64 ) -> TokenStream {
322
- Literal :: u64_unsuffixed ( n ) . into_token_stream ( )
320
+ pub fn unsuffixed ( n : u64 ) -> syn :: LitInt {
321
+ syn :: LitInt :: new ( & n . to_string ( ) , Span :: call_site ( ) )
323
322
}
324
323
325
- pub fn unsuffixed_or_bool ( n : u64 , width : u32 ) -> TokenStream {
324
+ pub fn unsuffixed_or_bool ( n : u64 , width : u32 ) -> syn :: Lit {
326
325
if width == 1 {
327
- Ident :: new ( if n == 0 { "false" } else { "true" } , Span :: call_site ( ) ) . into_token_stream ( )
326
+ syn :: Lit :: Bool ( syn :: LitBool :: new ( n != 0 , Span :: call_site ( ) ) )
328
327
} else {
329
- unsuffixed ( n)
328
+ syn :: Lit :: Int ( unsuffixed ( n) )
330
329
}
331
330
}
332
331
0 commit comments