Skip to content

Commit 2b22cd4

Browse files
committed
Implement clippy thoughts into rustpython_parser
1 parent 7096434 commit 2b22cd4

File tree

3 files changed

+27
-34
lines changed

3 files changed

+27
-34
lines changed

parser/src/ast.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ pub enum Statement {
6565
value: Expression,
6666
},
6767
AugAssign {
68-
target: Expression,
68+
target: Box<Expression>,
6969
op: Operator,
70-
value: Expression,
70+
value: Box<Expression>,
7171
},
7272
Expression {
7373
expression: Expression,

parser/src/lexer.rs

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,7 @@ pub struct Location {
6464

6565
impl Location {
6666
pub fn new(row: usize, column: usize) -> Self {
67-
Location {
68-
row: row,
69-
column: column,
70-
}
67+
Location { row, column }
7168
}
7269

7370
pub fn get_row(&self) -> usize {
@@ -126,8 +123,7 @@ pub type Spanned<Tok> = Result<(Location, Tok, Location), LexicalError>;
126123
pub fn make_tokenizer<'a>(source: &'a str) -> impl Iterator<Item = Spanned<Tok>> + 'a {
127124
let nlh = NewlineHandler::new(source.chars());
128125
let lch = LineContinationHandler::new(nlh);
129-
let lexer = Lexer::new(lch);
130-
lexer
126+
Lexer::new(lch)
131127
}
132128

133129
// The newline handler is an iterator which collapses different newline
@@ -144,7 +140,7 @@ where
144140
{
145141
pub fn new(source: T) -> Self {
146142
let mut nlh = NewlineHandler {
147-
source: source,
143+
source,
148144
chr0: None,
149145
chr1: None,
150146
};
@@ -200,7 +196,7 @@ where
200196
{
201197
pub fn new(source: T) -> Self {
202198
let mut nlh = LineContinationHandler {
203-
source: source,
199+
source,
204200
chr0: None,
205201
chr1: None,
206202
};
@@ -313,7 +309,7 @@ where
313309
if keywords.contains_key(&name) {
314310
Ok((start_pos, keywords.remove(&name).unwrap(), end_pos))
315311
} else {
316-
Ok((start_pos, Tok::Name { name: name }, end_pos))
312+
Ok((start_pos, Tok::Name { name }, end_pos))
317313
}
318314
}
319315

@@ -358,7 +354,7 @@ where
358354

359355
let end_pos = self.get_pos();
360356
let value = BigInt::from_str_radix(&value_text, radix).unwrap();
361-
Ok((start_pos, Tok::Int { value: value }, end_pos))
357+
Ok((start_pos, Tok::Int { value }, end_pos))
362358
}
363359

364360
fn lex_normal_number(&mut self) -> Spanned<Tok> {
@@ -410,26 +406,19 @@ where
410406
))
411407
} else {
412408
let end_pos = self.get_pos();
413-
Ok((start_pos, Tok::Float { value: value }, end_pos))
409+
Ok((start_pos, Tok::Float { value }, end_pos))
414410
}
415411
} else {
416412
// Parse trailing 'j':
417413
if self.chr0 == Some('j') {
418414
self.next_char();
419415
let end_pos = self.get_pos();
420416
let imag = f64::from_str(&value_text).unwrap();
421-
Ok((
422-
start_pos,
423-
Tok::Complex {
424-
real: 0.0,
425-
imag: imag,
426-
},
427-
end_pos,
428-
))
417+
Ok((start_pos, Tok::Complex { real: 0.0, imag }, end_pos))
429418
} else {
430419
let end_pos = self.get_pos();
431420
let value = value_text.parse::<BigInt>().unwrap();
432-
Ok((start_pos, Tok::Int { value: value }, end_pos))
421+
Ok((start_pos, Tok::Int { value }, end_pos))
433422
}
434423
}
435424
}
@@ -548,33 +537,33 @@ where
548537
}
549538
};
550539

551-
return Ok((start_pos, tok, end_pos));
540+
Ok((start_pos, tok, end_pos))
552541
}
553542

554543
fn is_char(&self) -> bool {
555544
match self.chr0 {
556-
Some('a'...'z') | Some('A'...'Z') | Some('_') | Some('0'...'9') => return true,
557-
_ => return false,
545+
Some('a'...'z') | Some('A'...'Z') | Some('_') | Some('0'...'9') => true,
546+
_ => false,
558547
}
559548
}
560549

561550
fn is_number(&self, radix: u32) -> bool {
562551
match radix {
563552
2 => match self.chr0 {
564-
Some('0'...'1') => return true,
565-
_ => return false,
553+
Some('0'...'1') => true,
554+
_ => false,
566555
},
567556
8 => match self.chr0 {
568-
Some('0'...'7') => return true,
569-
_ => return false,
557+
Some('0'...'7') => true,
558+
_ => false,
570559
},
571560
10 => match self.chr0 {
572-
Some('0'...'9') => return true,
573-
_ => return false,
561+
Some('0'...'9') => true,
562+
_ => false,
574563
},
575564
16 => match self.chr0 {
576-
Some('0'...'9') | Some('a'...'f') | Some('A'...'F') => return true,
577-
_ => return false,
565+
Some('0'...'9') | Some('a'...'f') | Some('A'...'F') => true,
566+
_ => false,
578567
},
579568
x => unimplemented!("Radix not implemented: {}", x),
580569
}

parser/src/python.lalrpop

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,11 @@ ExpressionStatement: ast::LocatedStatement = {
105105
let rhs = e2.into_iter().next().unwrap();
106106
ast::LocatedStatement {
107107
location: loc,
108-
node: ast::Statement::AugAssign { target: expr, op: op, value: rhs },
108+
node: ast::Statement::AugAssign {
109+
target: Box::new(expr),
110+
op,
111+
value: Box::new(rhs)
112+
},
109113
}
110114
},
111115
};

0 commit comments

Comments
 (0)