diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-08-06 17:16:40 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-08-16 09:07:55 +1000 |
| commit | 9d31f86f0d1482b4e5084579238009cc5d98e49f (patch) | |
| tree | 902fd3a835b94ecd4fa7466743fea17d4897ca1a /compiler/rustc_interface/src | |
| parent | fe460ac28b63ea97685f131c318af99158a5f87c (diff) | |
| download | rust-9d31f86f0d1482b4e5084579238009cc5d98e49f.tar.gz rust-9d31f86f0d1482b4e5084579238009cc5d98e49f.zip | |
Overhaul token collection.
This commit does the following. - Renames `collect_tokens_trailing_token` as `collect_tokens`, because (a) it's annoying long, and (b) the `_trailing_token` bit is less accurate now that its types have changed. - In `collect_tokens`, adds a `Option<CollectPos>` argument and a `UsePreAttrPos` in the return type of `f`. These are used in `parse_expr_force_collect` (for vanilla expressions) and in `parse_stmt_without_recovery` (for two different cases of expression statements). Together these ensure are enough to fix all the problems with token collection and assoc expressions. The changes to the `stringify.rs` test demonstrate some of these. - Adds a new test. The code in this test was causing an assertion failure prior to this commit, due to an invalid `NodeRange`. The extra complexity is annoying, but necessary to fix the existing problems.
Diffstat (limited to 'compiler/rustc_interface/src')
0 files changed, 0 insertions, 0 deletions
