ruff/crates/ruff_python_ast/src
Micha Reiser 5a876ed25e
Visit `Identifier` node as part of the `SourceOrderVisitor` (#17110)
## Summary

I don't remember exactly when we made `Identifier` a node but it is now
considered a node (it implements `AnyNodeRef`, it has a range). However,
we never updated
the `SourceOrderVisitor` to visit identifiers because we never had a use
case for it and visiting new nodes can change how the formatter
associates comments (breaking change!).
This PR updates the `SourceOrderVisitor` to visit identifiers and
changes the formatter comment visitor to skip identifiers (updating the
visitor might be desired because it could help simplifying some comment
placement logic but this is out of scope for this PR).

## Test Plan

Tests, updated snapshot tests
2025-04-01 16:58:09 +02:00
..
visitor Visit `Identifier` node as part of the `SourceOrderVisitor` (#17110) 2025-04-01 16:58:09 +02:00
comparable.rs Respect hash-equivalent literals in `iteration-over-set` (#14063) 2024-11-03 18:44:52 +00:00
docstrings.rs Move Python whitespace utilities into new `ruff_python_whitespace` crate (#4993) 2023-06-10 00:59:57 +00:00
expression.rs Remove customizable reference enum names (#15647) 2025-01-21 13:46:31 -05:00
generated.rs Add `as_group` methods to `AnyNodeRef` (#17048) 2025-03-28 19:42:45 +00:00
helpers.rs [syntax-errors] Duplicate type parameter names (#16858) 2025-03-21 15:06:22 -04:00
identifier.rs Update to Rust 1.74 and use new clippy lints table (#8722) 2023-11-16 18:12:46 -05:00
int.rs [`ruff`] Unnecessary cast to `int` (`RUF046`) (#14697) 2024-12-05 10:30:06 +01:00
lib.rs Use `ast::PythonVersion` internally in the formatter and linter (#16170) 2025-02-18 12:03:13 -05:00
name.rs Auto generate ast expression nodes (#16285) 2025-03-05 08:25:55 -05:00
node.rs Visit `Identifier` node as part of the `SourceOrderVisitor` (#17110) 2025-04-01 16:58:09 +02:00
nodes.rs [syntax-errors] Irrefutable case pattern before final case (#16905) 2025-03-26 12:27:16 -04:00
operator_precedence.rs Use the common `OperatorPrecedence` for the parser (#16747) 2025-03-21 09:40:37 +05:30
parenthesize.rs Remove customizable reference enum names (#15647) 2025-01-21 13:46:31 -05:00
python_version.rs Use `ast::PythonVersion` internally in the formatter and linter (#16170) 2025-02-18 12:03:13 -05:00
relocate.rs Auto generate ast expression nodes (#16285) 2025-03-05 08:25:55 -05:00
script.rs bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
statement_visitor.rs Remove `Stmt::TryStar` (#6566) 2023-08-14 13:39:44 -04:00
stmt_if.rs Misc. small tweaks from perusing modules (#9383) 2024-01-03 12:30:25 -05:00
str.rs Preserve triple quotes and prefixes for strings (#15818) 2025-02-04 08:41:06 -05:00
str_prefix.rs Add `text_len()` methods to more `*Prefix` enums in `ruff_python_ast` (#16254) 2025-02-19 14:47:07 +00:00
traversal.rs Use referencial equality in `traversal` helper methods (#13895) 2024-10-24 11:30:22 +02:00
types.rs Remove `RefEquality` (#6393) 2023-08-07 16:04:50 +00:00
visitor.rs Simplify iteration idioms (#13834) 2024-10-20 22:25:27 +01:00
whitespace.rs Extract `LineIndex` independent methods from `Locator` (#13938) 2024-10-28 07:53:41 +00:00