Convert a possibly complex assignment expression into lists of lvalues and rvalues.
(
lvalue: Expression, stmt: AssignmentStmt
)
| 802 | |
| 803 | |
| 804 | def _parse_assignments( |
| 805 | lvalue: Expression, stmt: AssignmentStmt |
| 806 | ) -> tuple[list[NameExpr], list[Expression]]: |
| 807 | """Convert a possibly complex assignment expression into lists of lvalues and rvalues.""" |
| 808 | lvalues: list[NameExpr] = [] |
| 809 | rvalues: list[Expression] = [] |
| 810 | if isinstance(lvalue, (TupleExpr, ListExpr)): |
| 811 | if all(isinstance(item, NameExpr) for item in lvalue.items): |
| 812 | lvalues = cast(list[NameExpr], lvalue.items) |
| 813 | if isinstance(stmt.rvalue, (TupleExpr, ListExpr)): |
| 814 | rvalues = stmt.rvalue.items |
| 815 | elif isinstance(lvalue, NameExpr): |
| 816 | lvalues = [lvalue] |
| 817 | rvalues = [stmt.rvalue] |
| 818 | return lvalues, rvalues |
| 819 | |
| 820 | |
| 821 | def _add_order(ctx: mypy.plugin.ClassDefContext, adder: MethodAdder) -> None: |
no test coverage detected
searching dependent graphs…