ruff/crates/ruff_python_parser
Dhruv Manilawala 38d2562f41
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.
2024-04-23 04:55:02 +00:00
..
resources Add ExpressionContext for expression parsing (#11055) 2024-04-23 04:19:05 +00:00
src Refactor unary expression parsing (#11088) 2024-04-23 04:55:02 +00:00
tests Add ExpressionContext for expression parsing (#11055) 2024-04-23 04:19:05 +00:00
Cargo.toml Add ExpressionContext for expression parsing (#11055) 2024-04-23 04:19:05 +00:00
CONTRIBUTING.md Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30