Modify nonlocal to be declared multiple times

Related to #2183
This commit is contained in:
minoring 2020-09-05 22:37:52 +09:00
parent de7396347f
commit 678b8e779b

View file

@ -1025,14 +1025,7 @@ impl SymbolTableBuilder {
let symbol = table.symbols.get_mut(name).unwrap(); let symbol = table.symbols.get_mut(name).unwrap();
match role { match role {
SymbolUsage::Nonlocal => { SymbolUsage::Nonlocal => {
if let SymbolScope::Unknown = symbol.scope {
symbol.scope = SymbolScope::Nonlocal; symbol.scope = SymbolScope::Nonlocal;
} else {
return Err(SymbolTableError {
error: format!("Symbol {} scope cannot be set to nonlocal, since its scope was already determined otherwise.", name),
location,
});
}
} }
SymbolUsage::Imported => { SymbolUsage::Imported => {
symbol.is_assigned = true; symbol.is_assigned = true;