Expand NamedExpr range to include full range of parenthesized value (#6632)
## Summary
Given:
```python
if (
x
:=
( # 4
y # 5
) # 6
):
pass
```
It turns out the parser ended the range of the `NamedExpr` at the end of
`y`, rather than the end of the parenthesis that encloses `y`. This just
seems like a bug -- the range should be from the start of the name on
the left, to the end of the parenthesized node on the right.
## Test Plan
`cargo test`
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
---
|
||||
source: crates/ruff_python_parser/src/parser.rs
|
||||
expression: parse_ast
|
||||
---
|
||||
NamedExpr(
|
||||
ExprNamedExpr {
|
||||
range: 1..15,
|
||||
target: Name(
|
||||
ExprName {
|
||||
range: 1..2,
|
||||
id: "x",
|
||||
ctx: Store,
|
||||
},
|
||||
),
|
||||
value: BinOp(
|
||||
ExprBinOp {
|
||||
range: 8..13,
|
||||
left: Name(
|
||||
ExprName {
|
||||
range: 8..9,
|
||||
id: "y",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
op: Mult,
|
||||
right: Name(
|
||||
ExprName {
|
||||
range: 12..13,
|
||||
id: "z",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
},
|
||||
)
|
||||
Reference in New Issue
Block a user