(clause)
| 479 | |
| 480 | |
| 481 | def surface_selectables(clause): |
| 482 | stack = [clause] |
| 483 | while stack: |
| 484 | elem = stack.pop() |
| 485 | yield elem |
| 486 | if isinstance(elem, Join): |
| 487 | stack.extend((elem.left, elem.right)) |
| 488 | elif isinstance(elem, FromGrouping): |
| 489 | stack.append(elem.element) |
| 490 | |
| 491 | |
| 492 | def surface_selectables_only(clause: ClauseElement) -> Iterator[ClauseElement]: |
no test coverage detected