mirror of
https://github.com/RustPython/Parser.git
synced 2025-09-01 08:07:50 +00:00
Simplify scan_expression
This commit is contained in:
parent
a7f1904564
commit
64736d0541
1 changed files with 4 additions and 10 deletions
|
@ -885,16 +885,10 @@ impl SymbolTableBuilder {
|
||||||
self.scan_expression(value, ExpressionContext::Load)?;
|
self.scan_expression(value, ExpressionContext::Load)?;
|
||||||
}
|
}
|
||||||
Dict { keys, values } => {
|
Dict { keys, values } => {
|
||||||
let (packed, unpacked): (Vec<_>, Vec<_>) = keys
|
for (key, value) in keys.iter().zip(values.iter()) {
|
||||||
.iter()
|
if let Some(key) = key {
|
||||||
.zip(values.iter())
|
self.scan_expression(key, context)?;
|
||||||
.partition(|(key, _)| key.is_some());
|
}
|
||||||
for (key, value) in packed {
|
|
||||||
self.scan_expression(key.as_ref().unwrap(), context)?;
|
|
||||||
self.scan_expression(value, context)?;
|
|
||||||
}
|
|
||||||
for (_, value) in unpacked {
|
|
||||||
// dict unpacking marker
|
|
||||||
self.scan_expression(value, context)?;
|
self.scan_expression(value, context)?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue