| 573 | return [ l.copy() for l in arg ] |
| 574 | |
| 575 | def copy(self) -> "Storage": |
| 576 | new_stack = self.stack.copy() |
| 577 | variables = { var.name: var for var in new_stack.variables } |
| 578 | inputs = [ variables[var.name] for var in self.inputs] |
| 579 | assert [v.name for v in inputs] == [v.name for v in self.inputs], (inputs, self.inputs) |
| 580 | return Storage( |
| 581 | new_stack, inputs, self.copy_list(self.outputs), self.peeks, |
| 582 | self.check_liveness, self.spilled |
| 583 | ) |
| 584 | |
| 585 | @staticmethod |
| 586 | def check_names(locals: list[Local]) -> None: |