(self)
| 431 | return self.cache_effect() or self.stack_effect() |
| 432 | |
| 433 | def outputs(self) -> list[OutputEffect] | None: |
| 434 | # output (, output)* |
| 435 | here = self.getpos() |
| 436 | if outp := self.output(): |
| 437 | near = self.getpos() |
| 438 | if self.expect(lx.COMMA): |
| 439 | if rest := self.outputs(): |
| 440 | return [outp] + rest |
| 441 | self.setpos(near) |
| 442 | return [outp] |
| 443 | self.setpos(here) |
| 444 | return None |
| 445 | |
| 446 | @contextual |
| 447 | def output(self) -> OutputEffect | None: |