Create a new variable table frame as with statement. Returns ------- res : Any The context with new variable table frame.
(self)
| 231 | self.name2value = defaultdict(list) |
| 232 | |
| 233 | def with_frame(self): |
| 234 | """Create a new variable table frame as with statement. |
| 235 | |
| 236 | Returns |
| 237 | ------- |
| 238 | res : Any |
| 239 | The context with new variable table frame. |
| 240 | """ |
| 241 | |
| 242 | def pop_frame(): |
| 243 | frame = self.frames.pop() |
| 244 | frame.pop_all(lambda name: self.name2value[name].pop()) |
| 245 | |
| 246 | self.frames.append(VarTableFrame()) |
| 247 | return _deferred(pop_frame) |
| 248 | |
| 249 | def add(self, var: str, value: Any, allow_shadowing: bool = False): |
| 250 | """Add a new variable to variable table. |
no test coverage detected