This repository has been archived by the owner on Jul 27, 2023. It is now read-only.
forked from RustPython/Parser
-
Notifications
You must be signed in to change notification settings - Fork 2
Merge upstream changes for PEP695 support (rebase) #25
Closed
Commits on Jul 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 25b2399 - Browse repository at this point
Copy the full SHA 25b2399View commit details -
Configuration menu - View commit details
-
Copy full SHA for df2b5df - Browse repository at this point
Copy the full SHA df2b5dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b0aeee - Browse repository at this point
Copy the full SHA 7b0aeeeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 30f461b - Browse repository at this point
Copy the full SHA 30f461bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3617a6c - Browse repository at this point
Copy the full SHA 3617a6cView commit details
Commits on Jul 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7516c42 - Browse repository at this point
Copy the full SHA 7516c42View commit details
Commits on Jul 13, 2023
-
Configuration menu - View commit details
-
Copy full SHA for c8092b2 - Browse repository at this point
Copy the full SHA c8092b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for d923aa9 - Browse repository at this point
Copy the full SHA d923aa9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 76a3245 - Browse repository at this point
Copy the full SHA 76a3245View commit details -
Configuration menu - View commit details
-
Copy full SHA for b06b266 - Browse repository at this point
Copy the full SHA b06b266View commit details -
Configuration menu - View commit details
-
Copy full SHA for e0a8f5b - Browse repository at this point
Copy the full SHA e0a8f5bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ec64e1 - Browse repository at this point
Copy the full SHA 3ec64e1View commit details
Commits on Jul 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for c33fbee - Browse repository at this point
Copy the full SHA c33fbeeView commit details -
Parse type parameters in function definitions (RustPython#96)
* Parse type parameters in function definitions * Add test for combined items
Configuration menu - View commit details
-
Copy full SHA for 6980037 - Browse repository at this point
Copy the full SHA 6980037View commit details
Commits on Jul 17, 2023
-
Add parsing of type alias statements i.e. the
type
keyword (RustPyt……hon#97) Extends RustPython#95 Closes RustPython#82 Adds parsing of new `type` soft keyword for defining type aliases. Supports type alias statements as defined in PEP 695 e.g. ```python # A non-generic type alias type IntOrStr = int | str # A generic type alias type ListOrSet[T] = list[T] | set[T] # A type alias that includes a forward reference type AnimalOrVegetable = Animal | "Vegetable" # A generic self-referential type alias type RecursiveList[T] = T | list[RecursiveList[T]] ``` All type parameter kinds are supported as in RustPython#95. Builds on soft keyword abstractions introduced in RustPython/RustPython#4519
Configuration menu - View commit details
-
Copy full SHA for 704eb40 - Browse repository at this point
Copy the full SHA 704eb40View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c9c5eb - Browse repository at this point
Copy the full SHA 6c9c5ebView commit details -
Include argument parentheses in range (#5)
# Conflicts: # parser/src/parser.rs # parser/src/python.rs # parser/src/snapshots/rustpython_parser__parser__tests__decorator_ranges.snap
Configuration menu - View commit details
-
Copy full SHA for 8fd4d4f - Browse repository at this point
Copy the full SHA 8fd4d4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f241e8 - Browse repository at this point
Copy the full SHA 5f241e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 88238a3 - Browse repository at this point
Copy the full SHA 88238a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for a4388aa - Browse repository at this point
Copy the full SHA a4388aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for d7d4ad4 - Browse repository at this point
Copy the full SHA d7d4ad4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96feea9 - Browse repository at this point
Copy the full SHA 96feea9View commit details -
Add
TextRange
toIdentifier
(#8)This PR adds `TextRange` to `Identifier`. Right now, the AST only includes ranges for identifiers in certain cases (`Expr::Name`, `Keyword`, etc.), namely when the identifier comprises an entire AST node. In Ruff, we do additional ad-hoc lexing to extract identifiers from source code. One frequent example: given a function `def f(): ...`, we lex to find the range of `f`, for use in diagnostics. Another: `except ValueError as e`, for which the AST doesn't include a range for `e`. Note that, as an optimization, we avoid storing the `TextRange` for `Expr::Name`, since it's already included.
Configuration menu - View commit details
-
Copy full SHA for 2d01070 - Browse repository at this point
Copy the full SHA 2d01070View commit details -
Configuration menu - View commit details
-
Copy full SHA for dc51b89 - Browse repository at this point
Copy the full SHA dc51b89View commit details -
Configuration menu - View commit details
-
Copy full SHA for d37820a - Browse repository at this point
Copy the full SHA d37820aView commit details -
Configuration menu - View commit details
-
Copy full SHA for e378796 - Browse repository at this point
Copy the full SHA e378796View commit details -
impl<T> Ranged for &T where T: Ranged (#16)
In the example below, `arg` is `&Expr`, so `&Ranged`, but `entries()` want a `T: Ranged`. This adds the missing bridge impl. ```rust let all_args = format_with(|f| { f.join_comma_separated() .entries( // We have the parentheses from the call so the arguments never need any args.iter() .map(|arg| (arg, arg.format().with_options(Parenthesize::Never))), ) .nodes(keywords.iter()) .finish() }); ```
Configuration menu - View commit details
-
Copy full SHA for b3a30f3 - Browse repository at this point
Copy the full SHA b3a30f3View commit details -
impl Ranged for TextRange (#20)
This adds the missing implementation of `Ranged` for `TextRange` itself ```rust impl Ranged for TextRange { fn range(&self) -> TextRange { *self } } ``` This allows e.g. using `has_comments` with arbitrary ranges instead of just a node. It also adds .venv to the .gitignore
Configuration menu - View commit details
-
Copy full SHA for cbd514b - Browse repository at this point
Copy the full SHA cbd514bView commit details -
This removes the ASDL code generation in favor of handwriting the AST. The motivations for moving away from the ASDL are: * CPython compatibility is no longer a goal * The ASDL grammar isn't as expressive as we would like * The codegen scripts have a high complexity which makes extensions time consuming * We don't make heavy use of code generation (compared to e.g. RustPython that generates Pyo3 bindings, a fold implementation etc). We may want to revisit a grammar based code generation in the future, e.g. by using [ungrammar](https://github.com/rust-analyzer/ungrammar)
Configuration menu - View commit details
-
Copy full SHA for c446dde - Browse repository at this point
Copy the full SHA c446ddeView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.