(stack: Stack, effect: StackEffect)
| 415 | |
| 416 | |
| 417 | def apply_stack_effect(stack: Stack, effect: StackEffect) -> None: |
| 418 | locals: dict[str, Local] = {} |
| 419 | null = CWriter.null() |
| 420 | for var in reversed(effect.inputs): |
| 421 | local = stack.pop(var, null) |
| 422 | if var.name != "unused": |
| 423 | locals[local.name] = local |
| 424 | for var in effect.outputs: |
| 425 | if var.name in locals: |
| 426 | local = locals[var.name] |
| 427 | else: |
| 428 | local = Local.unused(var, None) |
| 429 | stack.push(local) |
| 430 | |
| 431 | |
| 432 | def get_stack_effect(inst: Instruction | PseudoInstruction) -> Stack: |
no test coverage detected
searching dependent graphs…