fix: 修复 TDZ 变量误写入全局作用域问题
This commit is contained in:
@@ -58,8 +58,10 @@ impl SymbolTable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn lookup_or_global(&mut self, name: &str, reg_for_new: u8) -> u8 {
|
pub fn lookup_or_global(&mut self, name: &str, reg_for_new: u8) -> u8 {
|
||||||
if let Ok(reg) = self.lookup(name) {
|
for scope in self.scopes.iter().rev() {
|
||||||
return reg;
|
if let Some(b) = scope.get(name) {
|
||||||
|
return b.reg;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
self.scopes[0].insert(
|
self.scopes[0].insert(
|
||||||
name.to_string(),
|
name.to_string(),
|
||||||
|
|||||||
Reference in New Issue
Block a user