ruff
38d2562f - Refactor unary expression parsing (#11088)

Comment changes are shownComment changes are hidden
Commit
1 year ago
Refactor unary expression parsing (#11088) ## Summary This PR refactors unary expression parsing with the following changes: * Ability to get `OperatorPrecedence` from a unary operator (`UnaryOp`) * Implement methods on `TokenKind` * Add `as_unary_operator` which returns an `Option<UnaryOp>` * Add `as_unary_arithmetic_operator` which returns an `Option<UnaryOp>` (used for pattern parsing) * Rename `is_unary` to `is_unary_arithmetic_operator` (used in the linter) resolves: #10752 ## Test Plan Verify that the existing test cases pass, no ecosystem changes, run the Python based fuzzer on 3000 random inputs and run it on dozens of open-source repositories.
Author
Parents
  • crates
    • ruff_linter/src/rules/pycodestyle/rules/logical_lines
      • File
        missing_whitespace_around_operator.rs
    • ruff_python_parser/src
      • parser
        • File
          expression.rs
        • File
          pattern.rs
      • File
        token.rs
Loading