aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/tests/data/parser
Commit message (Collapse)AuthorAgeFilesLines
* Parse only outer_attributes for match arms for nowVille Penttinen2019-02-171-31/+59
|
* Enable parsing of attributes inside a match blockVille Penttinen2019-02-178-0/+493
| | | | | | | We allow invalid inner attributes to be parsed, e.g. inner attributes that are not directly after the opening brace of the match block. Instead we run validation on `MatchArmList` to allow better reporting of errors.
* rename yellow -> syntax_nodeAleksey Kladov2019-02-121-2/+2
| | | | why yellow in the first place? Its red + green.
* make macro a NameOwnerAleksey Kladov2019-02-113-3/+6
|
* Fix handling of literal patternsFlorian Diebold2019-02-093-25/+37
| | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions.
* Add AST for extern crateFlorian Diebold2019-02-042-3/+3
| | | | Also change it to parse the crate name as a NAME_REF, not a NAME.
* Fix number of extern_inner_attributesDJMcNab2019-02-022-0/+0
|
* Merge #692bors[bot]2019-01-318-0/+389
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 692: [WIP] Correctly parse attributes r=matklad a=DJMcNab Reference - https://doc.rust-lang.org/reference/attributes.html This fixes/investigates inner attributes for: - [x] `impl` blocks - [x] `extern` blocks - [x] `fn`s (fixes #689) - [x] `mod`s (already supported) - [x] 'block expressions' (the long text just describes all 'blocks' used as statements) This also investigates/fixes outer attributes for: - [ ] 'most statements' (see also: #685, https://doc.rust-lang.org/reference/expressions.html#expression-attributes) - [x] Enum variants, Struct and Union fields (Fixed in #507) - [ ] 'Match expression arms' (@matklad can you provide a test case which explains what this means?) - [ ] 'Generic lifetime or type parameters' - [ ] 'Elements of array expressions, tuple expressions, call expressions, tuple-style struct and enum variant expressions' - [ ] 'The tail expression of block expressions' Co-authored-by: DJMcNab <[email protected]>
| * Parse and validate attributes in blocksDJMcNab2019-01-284-0/+316
| |
| * Add a test for inner attributes on extern blocksDJMcNab2019-01-272-0/+30
| |
| * Correctly parse inner attributes of impl blocksDJMcNab2019-01-272-0/+43
| |
* | Infer type of match guardMarcus Klaas de Vries2019-01-283-40/+95
|/
* Make attrs be a child of the let statementDJMcNab2019-01-261-16/+16
|
* Support attributes on let statementsDJMcNab2019-01-262-0/+78
|
* Struct literals should not be a `BlockLike::Block`DJMcNab2019-01-262-0/+117
|
* Merge #660bors[bot]2019-01-262-0/+45
|\ | | | | | | | | | | | | | | 660: Support macro calls in type position r=matklad a=regiontog A [playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=fdc6dd4ddaece92a72fa2a292b75e27c) demonstrating the syntax in question. Co-authored-by: Erlend Tobiassen <[email protected]>
| * Support macro calls in type positionErlend Tobiassen2019-01-252-0/+45
| |
* | rename POS_FIELD -> POS_FIELD_DEFAleksey Kladov2019-01-258-26/+26
|/ | | | to match NAMED_FIELD_DEF
* Support universal function call syntax in function callsDJMcNab2019-01-244-6/+223
|
* More correct raw ident handlingJosh Robson Chase2019-01-232-0/+50
|
* Use IDENT for both raw and normal identsJosh Robson Chase2019-01-232-2/+2
|
* Add raw idents to lexer and parserJosh Robson Chase2019-01-234-0/+42
|
* Add test for placeholder parameters in trait fn defsErlend Tobiassen2019-01-222-0/+35
|
* Update tests after allowing where predicate to accept typesErlend Tobiassen2019-01-224-20/+63
|
* Change parsing of struct field patternsMarcus Klaas de Vries2019-01-191-12/+10
|
* Finish move of StructField for pattern type inferenceMarcus Klaas de Vries2019-01-191-20/+26
|
* Fix handling of attributes in positional field listsDJMcNab2019-01-122-0/+43
|
* Fix handling of where clauses in tuple structsDJMcNab2019-01-102-0/+64
|
* Rename traits::impl_item -> impl_block as well, as well as the testsFlorian Diebold2019-01-044-0/+0
|
* Rename ImplItem to ImplBlockFlorian Diebold2019-01-0415-21/+20
| | | | | rustc uses the name ImplItem for items in impls, not the impl {} block itself, which could lead to confusion.
* add mod doc comment testcsmoe2019-01-042-0/+22
|
* Fix the same bug as #396 but for bytes tooDJMcNab2019-01-011-0/+1
|
* Fix the `panic` found whilst fuzzingDJMcNab2018-12-311-0/+1
|
* Merge #366bors[bot]2018-12-302-33/+46
|\ | | | | | | | | | | | | | | | | | | | | 366: parse minus before number literal pattern r=matklad a=csmoe r?@matklad ![unknown](https://user-images.githubusercontent.com/35686186/50547871-d5449e00-0c7d-11e9-9ff5-1031e78019de.png) Co-authored-by: csmoe <[email protected]>
| * parse minus before number literalcsmoe2018-12-302-33/+46
| |
* | Add fuzz failure to the fuzz-failures directoryDJMcNab2018-12-291-0/+1
|/
* fix suffix rangesAleksey Kladov2018-12-272-0/+79
|
* Improve parsing of incomplete field accesses in preparation for field completionFlorian Diebold2018-12-252-0/+38
| | | | | We need to be able to get the receiver even if there is no field name yet, and currently "a." wouldn't get parsed as a field name at all. This seems to help.
* Fix where clauses using fully qualified path syntaxDJMcNab2018-12-214-8/+133
|
* Add comment about the source of the weird_exprs testDJMcNab2018-12-212-2235/+2248
|
* Add weird_exprs testDJMcNab2018-12-202-0/+2385
|
* Run gen-testsDJMcNab2018-12-202-0/+59
|
* Fix the tests and fix the precommit hookDJMcNab2018-12-20245-546/+194
|
* Fix ambiguity with if breakDJMcNab2018-12-202-0/+71
| | | | Brought up by #290
* Add tests and only traverse in the crates directoryDJMcNab2018-12-194-87/+168
|
* Move is_block to lower in the call treeDJMcNab2018-12-192-61/+61
|
* Fix parsing of inclusive ranges (#214)DJMcNab2018-12-194-33/+150
| | | | I'm not certain that this is correct, so extra eyes would be good
* Fixed cast expression parsing in ra_syntax.Roland Ruckerbauer2018-12-172-6/+48
| | | | | | | | | | | | | | | | | | | | | | The cast expression expected any type via types::type_() function, but the language spec does only allow TypeNoBounds (types without direct extra bounds via `+`). **Example:** ```rust fn test() { 6i8 as i32 + 5; } ``` This fails, because the types::type_() function which should parse the type after the as keyword is greedy, and takes all plus sign after path types as extra. My proposed fix is to replace the not implemented `type_no_plus()` just calls (`type_()`) function, which is used at several places. The replacement is `type_with_bounds_cond(p: &mut Parser, allow_bounds: bool)`, which passes the condition to relevant sub-parsers. This function is then called by `type_()` and the new public `type_no_bounds()`.
* rename Edit to TextEdit and AtomEdit to AtomTextEditBernardo2018-12-111-19/+19
|
* Update use path testDJMcNab2018-12-052-74/+2
|