mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-31 15:48:22 +00:00
Use correct start location for class/function clause header (#7802)
## Summary This PR fixes the bug where the formatter would panic if a class/function with decorators had a suppression comment. The fix is to use to correct start location to find the `async`/`def`/`class` keyword when decorators are present which is the end of the last decorator. ## Test Plan Add test cases for the fix and update the snapshots.
This commit is contained in:
parent
7b4fb4fb5d
commit
a1509dfc7c
3 changed files with 50 additions and 2 deletions
|
@ -23,6 +23,19 @@ class Test:
|
|||
def test():
|
||||
pass
|
||||
|
||||
|
||||
# Regression test for https://github.com/astral-sh/ruff/issues/7735
|
||||
@decorator1
|
||||
@decorator2
|
||||
class Foo: # fmt: skip
|
||||
pass
|
||||
|
||||
|
||||
# Regression test for https://github.com/astral-sh/ruff/issues/7735
|
||||
@decorator1
|
||||
@decorator2
|
||||
def foo(): # fmt: skip
|
||||
pass
|
||||
```
|
||||
|
||||
## Output
|
||||
|
@ -43,6 +56,20 @@ class Test:
|
|||
# leading class comment
|
||||
def test():
|
||||
pass
|
||||
|
||||
|
||||
# Regression test for https://github.com/astral-sh/ruff/issues/7735
|
||||
@decorator1
|
||||
@decorator2
|
||||
class Foo: # fmt: skip
|
||||
pass
|
||||
|
||||
|
||||
# Regression test for https://github.com/astral-sh/ruff/issues/7735
|
||||
@decorator1
|
||||
@decorator2
|
||||
def foo(): # fmt: skip
|
||||
pass
|
||||
```
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue