Nonlocal control within a loop.
| 67 | |
| 68 | |
| 69 | class LoopNonlocalControl(NonlocalControl): |
| 70 | """Nonlocal control within a loop.""" |
| 71 | |
| 72 | def __init__( |
| 73 | self, outer: NonlocalControl, continue_block: BasicBlock, break_block: BasicBlock |
| 74 | ) -> None: |
| 75 | self.outer = outer |
| 76 | self.continue_block = continue_block |
| 77 | self.break_block = break_block |
| 78 | |
| 79 | def gen_break(self, builder: IRBuilder, line: int) -> None: |
| 80 | builder.add(Goto(self.break_block)) |
| 81 | |
| 82 | def gen_continue(self, builder: IRBuilder, line: int) -> None: |
| 83 | builder.add(Goto(self.continue_block)) |
| 84 | |
| 85 | def gen_return(self, builder: IRBuilder, value: Value, line: int) -> None: |
| 86 | self.outer.gen_return(builder, value, line) |
| 87 | |
| 88 | |
| 89 | class GeneratorNonlocalControl(BaseNonlocalControl): |
no outgoing calls
no test coverage detected
searching dependent graphs…