about summary refs log tree commit diff
path: root/src/libsyntax/parse
AgeCommit message (Collapse)AuthorLines
2019-10-01Rollup merge of #64910 - Centril:params-cleanup, r=petrochenkovMazdak Farrokhzad-563/+495
syntax: cleanup param, method, and misc parsing Do some misc cleanup of the parser: - Method and parameter parsing is refactored. - A parser for `const | mut` is introduced that https://github.com/rust-lang/rust/pull/64588 can reuse. - Some other misc parsing. Next up in a different PR: - ~Implementing https://github.com/rust-lang/rust/issues/64252.~ -- maybe some other time... - Heavily restructuring up `item.rs` which is a mess (hopefully, no promises ^^). r? @petrochenkov
2019-10-01Rollup merge of #64907 - alexreg:tidy-up, r=Mark-SimulacrumMazdak Farrokhzad-1/+1
A small amount of tidying-up factored out from PR #64648 As requested by @Mark-Simulacrum, I put this in a separate commit to make it easier to review. (As far as I can tell, no violations of the policy here, and they are simply in a separate PR because they're not directly related to the import of that PR.) r? @Mark-Simulacrum
2019-10-01Rollup merge of #64887 - Centril:recover-trailing-vert, r=estebankMazdak Farrokhzad-26/+79
syntax: recover trailing `|` in or-patterns Fixes https://github.com/rust-lang/rust/issues/64879. For example (this also shows that we are sensitive to the typo `||`): ``` error: a trailing `|` is not allowed in an or-pattern --> $DIR/remove-leading-vert.rs:33:11 | LL | A || => {} | - ^^ help: remove the `||` | | | while parsing this or-pattern starting here | = note: alternatives in or-patterns are separated with `|`, not `||` ``` r? @estebank
2019-10-01syntax: reformat passing of `FnHeader` to `parse_item_fn`.Mazdak Farrokhzad-12/+16
2019-10-01syntax: de-closure-ify `check_or_expected`.Mazdak Farrokhzad-7/+7
2019-10-01syntax: merge things back into `parse_visibility`.Mazdak Farrokhzad-37/+25
2019-10-01syntax: put helpers of `parse_self_param` in the method.Mazdak Farrokhzad-58/+57
2019-10-01syntax: document some methods.Mazdak Farrokhzad-2/+6
2019-10-01Address review commentsVadim Petrochenkov-2/+2
2019-09-30syntax: Support modern attribute syntax in the `meta` matcherVadim Petrochenkov-17/+22
2019-09-30syntax: Split `ast::Attribute` into container and inner partsVadim Petrochenkov-2/+1
2019-09-30syntax: reduce repetition in fn parsing.Mazdak Farrokhzad-26/+21
2019-09-30syntax: stylistic cleanup in item parsing.Mazdak Farrokhzad-107/+47
2019-09-30syntax: fuse more code paths together.Mazdak Farrokhzad-48/+51
2019-09-30syntax: extract `error_on_invalid_abi`.Mazdak Farrokhzad-14/+17
2019-09-30syntax: cleanup `parse_visibility`.Mazdak Farrokhzad-53/+69
2019-09-30syntax: misc cleanupMazdak Farrokhzad-44/+30
2019-09-30syntax: cleanup `parse_fn_decl`.Mazdak Farrokhzad-6/+3
2019-09-30syntax: reorder param parsing to make more sense.Mazdak Farrokhzad-153/+153
2019-09-30syntax refactor `parse_self_param` (5)Mazdak Farrokhzad-22/+21
2019-09-30syntax refactor `parse_self_param` (4)Mazdak Farrokhzad-30/+37
2019-09-30syntax refactor `parse_self_param` (3)Mazdak Farrokhzad-28/+20
2019-09-30syntax refactor `parse_self_param` (2)Mazdak Farrokhzad-11/+16
2019-09-30syntax refactor `parse_self_param` (1)Mazdak Farrokhzad-12/+13
2019-09-30syntax refactor `parse_fn_params`Mazdak Farrokhzad-28/+29
2019-09-30syntax: `is_named_argument` -> `is_named_param`.Mazdak Farrokhzad-2/+2
2019-09-30syntax: cleanup method parsing.Mazdak Farrokhzad-74/+66
2019-09-30Added backticks for one diagnostic message.Alexander Regueiro-1/+1
2019-09-29Rollup merge of #64894 - Centril:fix-64682, r=petrochenkovMazdak Farrokhzad-76/+41
syntax: fix dropping of attribute on first param of non-method assocated fn Fixes #64682. The general idea is that we bake parsing of `self` into `parse_param_general` and then we just use standard list parsing. Overall, this simplifies the parsing and makes it more consistent. r? @petrochenkov cc @c410-f3r
2019-09-29syntax: fix #64682.Mazdak Farrokhzad-76/+41
Fuse parsing of `self` into `parse_param_general`.
2019-09-29syntax: recover trailing `|` in or-patterns.Mazdak Farrokhzad-26/+79
2019-09-28syntax: don't keep a redundant c_variadic flag in the AST.Eduard-Mihai Burtescu-8/+6
2019-09-27Auto merge of #64813 - varkor:node-to-kind, r=Centrilbors-73/+73
Rename `*.node` to `*.kind`, and `hair::Pattern*` to `hair::Pat*` In both `ast::Expr` and `hir::Expr`: - Rename `Expr.node` to `Expr.kind`. - Rename `Pat.node` to `Pat.kind`. - Rename `ImplItem.node` to `ImplItem.kind`. - Rename `Lit.node` to `Lit.kind`. - Rename `TraitItem.node` to `TraitItem.kind`. - Rename `Ty.node` to `Ty.kind`. - Rename `Stmt.node` to `Stmt.kind`. - Rename `Item.node` to `Item.kind`. - Rename `ForeignItem.node` to `ForeignItem.kind`. - Rename `MetaItem.node` to `MetaItem.kind`. Also: - Rename `hair::FieldPattern` to `hair::FieldPat`. - Rename `hair::PatternKind` to `hair::PatKind`. - Rename `hair::PatternRange` to `hair::PatRange`. - Rename `PatternContext` to `PatCtxt`. - Rename `PatternTypeProjection` to `PatTyProj`. - Rename `hair::Pattern` to `hair::Pat`. These two sets of changes are grouped together to aid with merging. The only changes are renamings. r? @petrochenkov
2019-09-26Rename `MetaItem.node` to `MetaItem.kind`varkor-4/+4
2019-09-26Rename `ForeignItem.node` to `ForeignItem.kind`varkor-4/+4
2019-09-26Rename `Item.node` to `Item.kind`varkor-4/+4
2019-09-26Rename `Stmt.node` to `Stmt.kind`varkor-11/+11
2019-09-26Rename `Ty.node` to `Ty.kind`varkor-14/+14
2019-09-26Rename `TraitItem.node` to `TraitItem.kind`varkor-2/+2
2019-09-26Rename `Lit.node` to `Lit.kind`varkor-4/+4
2019-09-26Rename `ImplItem.node` to `ImplItem.kind`varkor-4/+4
2019-09-26Rename `Pat.node` to `Pat.kind`varkor-15/+15
2019-09-26Rename `Expr.node` to `Expr.kind`varkor-12/+12
For both `ast::Expr` and `hir::Expr`.
2019-09-25Fix issue #64732Haoran Wang-1/+7
Based on issue #64732, when creating a byte literal with single quotes, the suggestion message would indicate that you meant to write a `str` literal, but we actually meant to write a byte string literal. So I changed the unescape_error_reporting.rs to decide whether to print out "if you meant to write a `str` literal, use double quotes", or "if you meant to write a byte string literal, use double quotes".
2019-09-23Add parser recovery for `const $ident = $expr;`.Mazdak Farrokhzad-3/+44
Then use the diagnostics-stealing API to stash parser errors and enrich them with type information in typeck.
2019-09-23Auto merge of #64272 - Mark-Simulacrum:parallel-handler, r=estebankbors-13/+8
Refactor librustc_errors::Handler API This should be reviewed by-commit. The last commit moves all fields into an inner struct behind a single lock; this is done to prevent possible deadlocks in a multi-threaded compiler, as well as inconsistent state observation.
2019-09-23Auto merge of #64695 - Centril:rollup-t1xnl2c, r=Centrilbors-38/+61
Rollup of 7 pull requests Successful merges: - #64294 (Fix `Stdio::piped` example code and lint) - #64670 (Cleanup syntax::ext::build) - #64674 (Propagate `types.err` in locals further to avoid spurious knock-down errors) - #64676 (Parse assoc type bounds in generic params and provide custom diagnostic) - #64677 (remove outdated comment) - #64679 (Infer consts more consistently) - #64688 (Clarify the "since" tidy check) Failed merges: r? @ghost
2019-09-23Rollup merge of #64676 - estebank:assoc-type-bound-in-generic, r=petrochenkovMazdak Farrokhzad-38/+61
Parse assoc type bounds in generic params and provide custom diagnostic Fix #26271.
2019-09-22review commentsEsteban Küber-1/+1
2019-09-22Point at correct span for parenthesized typesEsteban Küber-6/+7