@@ -293,27 +293,26 @@ where
293
293
/// Numeric lexing. The feast can start!
294
294
fn lex_number ( & mut self ) -> LexResult {
295
295
let start_pos = self . get_pos ( ) ;
296
- if self . window [ 0 ] == Some ( '0' ) {
297
- if matches ! ( self . window [ 1 ] , Some ( 'x' | 'X' ) ) {
296
+ match ( self . window [ 0 ] , self . window [ 1 ] ) {
297
+ ( Some ( '0' ) , Some ( 'x' | 'X' ) ) => {
298
298
// Hex! (0xdeadbeef)
299
299
self . next_char ( ) ;
300
300
self . next_char ( ) ;
301
301
self . lex_number_radix ( start_pos, 16 )
302
- } else if matches ! ( self . window[ 1 ] , Some ( 'o' | 'O' ) ) {
302
+ }
303
+ ( Some ( '0' ) , Some ( 'o' | 'O' ) ) => {
303
304
// Octal style! (0o377)
304
305
self . next_char ( ) ;
305
306
self . next_char ( ) ;
306
307
self . lex_number_radix ( start_pos, 8 )
307
- } else if matches ! ( self . window[ 1 ] , Some ( 'b' | 'B' ) ) {
308
+ }
309
+ ( Some ( '0' ) , Some ( 'b' | 'B' ) ) => {
308
310
// Binary! (0b_1110_0101)
309
311
self . next_char ( ) ;
310
312
self . next_char ( ) ;
311
313
self . lex_number_radix ( start_pos, 2 )
312
- } else {
313
- self . lex_normal_number ( )
314
314
}
315
- } else {
316
- self . lex_normal_number ( )
315
+ _ => self . lex_normal_number ( ) ,
317
316
}
318
317
}
319
318
@@ -439,10 +438,9 @@ where
439
438
fn take_number ( & mut self , radix : u32 ) -> Option < char > {
440
439
let take_char = Lexer :: < T > :: is_digit_of_radix ( self . window [ 0 ] , radix) ;
441
440
442
- if take_char {
443
- Some ( self . next_char ( ) . unwrap ( ) )
444
- } else {
445
- None
441
+ match take_char {
442
+ true => Some ( self . next_char ( ) . unwrap ( ) ) ,
443
+ _ => None ,
446
444
}
447
445
}
448
446
@@ -459,12 +457,9 @@ where
459
457
460
458
/// Test if we face '[eE][-+]?[0-9]+'
461
459
fn at_exponent ( & self ) -> bool {
462
- match self . window [ 0 ] {
463
- Some ( 'e' | 'E' ) => match self . window [ 1 ] {
464
- Some ( '+' | '-' ) => matches ! ( self . window[ 2 ] , Some ( '0' ..='9' ) ) ,
465
- Some ( '0' ..='9' ) => true ,
466
- _ => false ,
467
- } ,
460
+ match ( self . window [ 0 ] , self . window [ 1 ] ) {
461
+ ( Some ( 'e' | 'E' ) , Some ( '+' | '-' ) ) => matches ! ( self . window[ 2 ] , Some ( '0' ..='9' ) ) ,
462
+ ( Some ( 'e' | 'E' ) , Some ( '0' ..='9' ) ) => true ,
468
463
_ => false ,
469
464
}
470
465
}
@@ -705,13 +700,10 @@ where
705
700
}
706
701
707
702
fn is_identifier_continuation ( & self ) -> bool {
708
- if let Some ( c) = self . window [ 0 ] {
709
- match c {
710
- '_' | '0' ..='9' => true ,
711
- c => is_xid_continue ( c) ,
712
- }
713
- } else {
714
- false
703
+ match self . window [ 0 ] {
704
+ Some ( '_' | '0' ..='9' ) => true ,
705
+ Some ( c) => is_xid_continue ( c) ,
706
+ _ => false ,
715
707
}
716
708
}
717
709
0 commit comments