about summary refs log tree commit diff
path: root/src/librustc_parse/parser/mod.rs
AgeCommit message (Collapse)AuthorLines
2020-04-24Avoid unused Option::map resultsJosh Stone-2/+2
These are changes that would be needed if we add `#[must_use]` to `Option::map`, per #71484.
2020-03-21parse: nix unused `root_module_name`.Mazdak Farrokhzad-5/+0
2020-03-18{rustc_parse::parser -> rustc_expand}::moduleMazdak Farrokhzad-2/+0
2020-03-18outline modules: parse -> expand.Mazdak Farrokhzad-32/+1
2020-03-18expand: use push_directoryMazdak Farrokhzad-1/+1
2020-03-09rustc_parse: Remove `Parser::normalized(_prev)_token`Vadim Petrochenkov-37/+5
2020-03-09rustc_ast: Introduce `Token::uninterpolated_span`Vadim Petrochenkov-3/+3
2020-03-09rustc_parse: Use `Token::ident` where possibleVadim Petrochenkov-4/+4
2020-03-01Rollup merge of #69579 - petrochenkov:noprevspan, r=CentrilYuki Okushi-19/+21
parser: Remove `Parser::prev_span` Follow-up to https://github.com/rust-lang/rust/pull/69384. r? @Centril
2020-02-29Rename `syntax` to `rustc_ast` in source codeVadim Petrochenkov-7/+9
2020-02-29parser: Remove `Parser::prev_span`Vadim Petrochenkov-8/+10
2020-02-29parser: `prev_span` -> `prev_token.span`Vadim Petrochenkov-11/+11
2020-02-28Rollup merge of #69384 - petrochenkov:nounnorm, r=CentrilMazdak Farrokhzad-25/+23
parser: `token` -> `normalized_token`, `nonnormalized_token` -> `token` So, after https://github.com/rust-lang/rust/pull/69006, its follow-ups and an attempt to remove `Parser::prev_span` I came to the conclusion that the unnormalized token and its span is what you want in most cases, so it should be default. Normalization only makes difference in few cases where we are checking against `token::Ident` or `token::Lifetime` specifically. This PR uses `normalized_token` for those cases. Using normalization explicitly means that people writing code should remember about `NtIdent` and `NtLifetime` in general. (That is alleviated by the fact that `token.ident()` and `fn parse_ident_*` are already written.) Remembering about `NtIdent`, was, however, already the case, kind of, because the implicit normalization was performed only for the current/previous token, but not for things like `look_ahead`. As a result, most of token classification methods in `token.rs` already take `NtIdent` into account (this PR fixes a few pre-existing minor mistakes though). The next step is removing `normalized(_prev)_token` entirely and replacing it with `token.ident()` (mostly) and `token.normalize()` (occasionally). I want to make it a separate PR for that and run it though perf. `normalized_token` filled on every bump has both a potential to avoid repeated normalization, and to do unnecessary work in advance (it probably doesn't matter anyway, the normalization is very cheap). r? @Centril
2020-02-27don't use .into() to convert types into identical types.Matthias Krüger-4/+3
example: let s: String = format!("hello").into();
2020-02-24parser: `token` -> `normalized_token`, `nonnormalized_token` -> `token`Vadim Petrochenkov-25/+23
2020-02-22parser: Cleanup `Parser::bump_with` and its usesVadim Petrochenkov-127/+51
2020-02-17parser: Remove `Option`s from unnormalized tokensVadim Petrochenkov-36/+19
They are always set synchronously with normalized tokens now
2020-02-17parser: Set previous and unnormalized tokens in couple more placesVadim Petrochenkov-4/+4
2020-02-17parser: Do not call `bump` recursivelyVadim Petrochenkov-43/+32
Token normalization is merged directly into `bump`. Special "unknown macro variable" diagnostic for unexpected `$`s is removed as preventing legal code from compiling.
2020-02-13parser: misc small item related improvements & cleanups.Mazdak Farrokhzad-0/+5
2020-02-13parser: move `ban_async_in_2015` to `fn` parsing & improve it.Mazdak Farrokhzad-13/+0
2020-02-13IsAsync -> enum Async { Yes { span: Span, .. }, No }Mazdak Farrokhzad-4/+5
use new span for better diagnostics.
2020-02-13Constness -> enum Const { Yes(Span), No }Mazdak Farrokhzad-3/+9
Same idea for `Unsafety` & use new span for better diagnostics.
2020-02-13Rollup merge of #68848 - nnethercote:hasten-macro-parsing, r=petrochenkovDylan DPC-5/+4
Hasten macro parsing r? @eddyb
2020-02-12Rollup merge of #69034 - petrochenkov:notokind, r=CentrilDylan DPC-32/+6
parser: Remove `Parser::prev_token_kind` Follow-up to https://github.com/rust-lang/rust/pull/69006. r? @Centril
2020-02-11Run RustFmtjumbatm-1/+3
2020-02-11Invert control in struct_lint_level.jumbatm-1/+1
Caller now passes in a `decorate` function, which is only run if the lint is allowed.
2020-02-10parser: Remove `Parser::prev_token_kind`Vadim Petrochenkov-32/+6
2020-02-10parser: Keep current and previous tokens preciselyVadim Petrochenkov-23/+51
including their unnormalized forms. Add more documentation for them.
2020-02-06Remove the `Cow` from `Directory`.Nicholas Nethercote-5/+4
The previous commit wrapped `Parser` within a `Cow` for the hot macro parsing path. As a result, there's no need for the `Cow` within `Directory`, because it lies within `Parser`.
2020-02-04stop using BytePos for computing spans in librustc_parse/parser/mod.rsDavid Renshaw-17/+22
2020-02-03Auto merge of #68735 - JohnTitor:fix-ice-0202, r=estebankbors-2/+2
Use `next_point` to avoid ICE Fixes #68730 r? @estebank (I think you're familiar with that)
2020-02-01syntax::print -> new crate rustc_ast_prettyMazdak Farrokhzad-1/+1
2020-02-011. move node_id to syntaxMazdak Farrokhzad-1/+1
2. invert rustc_session & syntax deps 3. drop rustc_session dep in rustc_hir
2020-02-02Use `next_point` to avoid ICEYuki Okushi-2/+2
2020-01-18remove rustc_error_codes deps except in rustc_driverMazdak Farrokhzad-2/+0
2020-01-11restore some rustc_parse visibilitiesCaleb Cartwright-4/+9
2020-01-10Change `next_point` when `shrink_to_hi` is more appropriateEsteban Küber-1/+1
2020-01-08- remove syntax::{span_warn!, span_err!, span_fatal!. struct_err!}Mazdak Farrokhzad-2/+1
- remove syntax::{help!, span_help!, span_note!} - remove unused syntax::{struct_span_fatal, struct_span_err_or_warn!, span_err_or_warn!} - lintify check_for_bindings_named_same_as_variants + conflicting_repr_hints - inline syntax::{struct_span_warn!, diagnostic_used!} - stringify_error_code! -> error_code! & use it more. - find_plugin_registrar: de-fatalize an error - de-fatalize metadata errors - move type_error_struct! to rustc_typeck - struct_span_err! -> rustc_errors
2020-01-03tweak wording of mismatched delimiter errorsAndy Russell-4/+4
2020-01-01Rename `syntax_pos` to `rustc_span` in source codeVadim Petrochenkov-3/+3
2019-12-31parser: bug -> span_bugMazdak Farrokhzad-1/+2
2019-12-31process_potential_macro_variable: de-fatalize an errorMazdak Farrokhzad-2/+1
2019-12-23extract parse_not_exprMazdak Farrokhzad-23/+18
2019-12-22Format the worldMark Rousskov-171/+154
2019-12-21Rollup merge of #67355 - Centril:merge-mut, r=oli-obkMazdak Farrokhzad-4/+4
Merge `ast::Mutability` and `mir::Mutability` r? @oli-obk
2019-12-20fix bug in parse_tuple_parens_expr + related refactoringMazdak Farrokhzad-33/+29
2019-12-20introduce 'type AttrVec'Mazdak Farrokhzad-5/+4
2019-12-201. ast::Mutability::{Mutable -> Mut, Immutable -> Not}.Mazdak Farrokhzad-4/+4
2. mir::Mutability -> ast::Mutability.
2019-12-05rustc_parser: cleanup importsMazdak Farrokhzad-8/+5