You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this case, comments a and b are leading on 2, but should be leading on a node for the entire b=2 (this requires an AST change):
caseA(
b# b=# c2# d# e
):
pass
In this case, the comment should be an open parenthesis comment on the arguments, but is currently a leading comment on x due to our generic parenthesized comment handling (which thinks x is parenthesized, rather than in a call) (this requires an AST change):
casePoint2D( # end of line linex
):
...
The text was updated successfully, but these errors were encountered:
## Summary
This PR introduces two new AST nodes to improve the representation of
`PatternMatchClass`. As a reminder, `PatternMatchClass` looks like this:
```python
case Point2D(0, 0, x=1, y=2):
...
```
Historically, this was represented as a vector of patterns (for the `0,
0` portion) and parallel vectors of keyword names (for `x` and `y`) and
values (for `1` and `2`). This introduces a bunch of challenges for the
formatter, but importantly, it's also really different from how we
represent similar nodes, like arguments (`func(0, 0, x=1, y=2)`) or
parameters (`def func(x, y)`).
So, firstly, we now use a single node (`PatternArguments`) for the
entire parenthesized region, making it much more consistent with our
other nodes. So, above, `PatternArguments` would be `(0, 0, x=1, y=2)`.
Secondly, we now have a `PatternKeyword` node for `x=1` and `y=2`. This
is much more similar to the how `Keyword` is represented within
`Arguments` for call expressions.
Closes#6866.
Closes#6880.
In this case, comments
a
andb
are leading on2
, but should be leading on a node for the entireb=2
(this requires an AST change):In this case, the comment should be an open parenthesis comment on the arguments, but is currently a leading comment on
x
due to our generic parenthesized comment handling (which thinksx
is parenthesized, rather than in a call) (this requires an AST change):The text was updated successfully, but these errors were encountered: