Merge pull request #1232 from corona10/gh-1212

gh-1212: Fix scope_for_name to catch NameError properly
This commit is contained in:
Windel Bouwman 2019-08-12 07:32:02 +02:00 committed by GitHub
commit 6128b2b46e
2 changed files with 5 additions and 5 deletions

View file

@ -1912,7 +1912,9 @@ impl<O: OutputStream> Compiler<O> {
fn lookup_name(&self, name: &str) -> &Symbol {
// println!("Looking up {:?}", name);
let scope = self.scope_stack.last().unwrap();
scope.lookup(name).unwrap()
scope.lookup(name).expect(
"The symbol must be present in the symbol table, even when it is undefined in python.",
)
}
// Low level helper functions:

View file

@ -244,13 +244,11 @@ impl SymbolTableBuilder {
} => {
self.scan_expressions(decorator_list)?;
self.register_name(name, SymbolRole::Assigned)?;
self.enter_function(args)?;
self.scan_statements(body)?;
if let Some(expression) = returns {
self.scan_expression(expression)?;
}
self.enter_function(args)?;
self.scan_statements(body)?;
self.leave_scope();
}
ClassDef {