mirror of
https://github.com/RustPython/Parser.git
synced 2025-07-13 16:15:16 +00:00
Reduce nesting of match expression
This commit is contained in:
parent
27dd95c8f9
commit
eee3c03042
1 changed files with 27 additions and 32 deletions
|
@ -1178,38 +1178,33 @@ impl SymbolTableBuilder {
|
||||||
let symbol = if let Some(symbol) = table.symbols.get_mut(name.as_ref()) {
|
let symbol = if let Some(symbol) = table.symbols.get_mut(name.as_ref()) {
|
||||||
// Role already set..
|
// Role already set..
|
||||||
match role {
|
match role {
|
||||||
SymbolUsage::Global => {
|
SymbolUsage::Global if !symbol.is_global() => {
|
||||||
if !symbol.is_global() {
|
if symbol.is_parameter {
|
||||||
if symbol.is_parameter {
|
return Err(SymbolTableError {
|
||||||
return Err(SymbolTableError {
|
error: format!("name '{}' is parameter and global", name),
|
||||||
error: format!("name '{}' is parameter and global", name),
|
location,
|
||||||
location,
|
});
|
||||||
});
|
}
|
||||||
}
|
if symbol.is_referenced {
|
||||||
if symbol.is_referenced {
|
return Err(SymbolTableError {
|
||||||
return Err(SymbolTableError {
|
error: format!("name '{}' is used prior to global declaration", name),
|
||||||
error: format!(
|
location,
|
||||||
"name '{}' is used prior to global declaration",
|
});
|
||||||
name
|
}
|
||||||
),
|
if symbol.is_annotated {
|
||||||
location,
|
return Err(SymbolTableError {
|
||||||
});
|
error: format!("annotated name '{}' can't be global", name),
|
||||||
}
|
location,
|
||||||
if symbol.is_annotated {
|
});
|
||||||
return Err(SymbolTableError {
|
}
|
||||||
error: format!("annotated name '{}' can't be global", name),
|
if symbol.is_assigned {
|
||||||
location,
|
return Err(SymbolTableError {
|
||||||
});
|
error: format!(
|
||||||
}
|
"name '{}' is assigned to before global declaration",
|
||||||
if symbol.is_assigned {
|
name
|
||||||
return Err(SymbolTableError {
|
),
|
||||||
error: format!(
|
location,
|
||||||
"name '{}' is assigned to before global declaration",
|
});
|
||||||
name
|
|
||||||
),
|
|
||||||
location,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SymbolUsage::Nonlocal => {
|
SymbolUsage::Nonlocal => {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue