ruff/crates/ruff_python_ast/src
Charlie Marsh c439435615
Use dedicated AST nodes on MemberKind (#6374)
## Summary

This PR leverages the unified function definition node to add precise
AST node types to `MemberKind`, which is used to power our docstring
definition tracking (e.g., classes and functions, whether they're
methods or functions or nested functions and so on, whether they have a
docstring, etc.). It was painful to do this in the past because the
function variants needed to support a union anyway, but storing precise
nodes removes like a dozen panics.

No behavior changes -- purely a refactor.

## Test Plan

`cargo test`
2023-08-07 17:17:58 +00:00
..
visitor Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
all.rs Introduce an Arguments AST node for function calls and class definitions (#6259) 2023-08-02 10:01:13 -04:00
call_path.rs Store call paths rather than stringified names (#6102) 2023-08-05 15:21:50 +00:00
comparable.rs Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
docstrings.rs Move Python whitespace utilities into new ruff_python_whitespace crate (#4993) 2023-06-10 00:59:57 +00:00
hashable.rs Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
helpers.rs Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
identifier.rs Use dedicated AST nodes on MemberKind (#6374) 2023-08-07 17:17:58 +00:00
imports.rs Include alias when formatting import-from structs (#5786) 2023-07-15 15:53:21 -04:00
lib.rs Use dedicated AST nodes on MemberKind (#6374) 2023-08-07 17:17:58 +00:00
node.rs Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
nodes.rs Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
relocate.rs Introduce an Arguments AST node for function calls and class definitions (#6259) 2023-08-02 10:01:13 -04:00
statement_visitor.rs Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
stmt_if.rs Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
str.rs Basic string formatting 2023-06-23 09:46:05 +02:00
traversal.rs Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
types.rs Remove RefEquality (#6393) 2023-08-07 16:04:50 +00:00
visitor.rs Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
whitespace.rs Ignore end-of-line file exemption comments (#6160) 2023-07-29 00:40:32 +00:00