aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/grammar/expressions.rs
Commit message (Collapse)AuthorAgeFilesLines
* Improve parsing of incomplete field accesses in preparation for field completionFlorian Diebold2018-12-251-9/+7
| | | | | 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.
* Use a better way of skipping SEMIsDJMcNab2018-12-201-6/+6
|
* Support a blank expression before a semicolonDJMcNab2018-12-201-0/+6
|
* Fix missing DOTDOTEQsDJMcNab2018-12-201-3/+3
|
* Add tests and only traverse in the crates directoryDJMcNab2018-12-191-2/+6
|
* Move is_block to lower in the call treeDJMcNab2018-12-191-44/+33
|
* Revert "Revert to f6f7c5"DJMcNab2018-12-191-13/+26
| | | | | | This approach is correct, but it needs an addition to Restrictions too This reverts commit ad00d0c8a5f64142e6636e8b048204c8f8982f4a.
* Revert to f6f7c5DJMcNab2018-12-191-26/+13
|
* Fix expression parsing by bailing out upon a macro block being foundDJMcNab2018-12-191-14/+12
| | | | | | TODO: Fix this when the block like macro is in expression position E.g. `test(test!{})` currently parses
* Possibly fix #225DJMcNab2018-12-191-15/+30
|
* Fix at_ts doc commentDJMcNab2018-12-191-1/+1
|
* Fix parsing of inclusive ranges (#214)DJMcNab2018-12-191-2/+2
| | | | I'm not certain that this is correct, so extra eyes would be good
* Fixed cast expression parsing in ra_syntax.Roland Ruckerbauer2018-12-171-1/+5
| | | | | | | | | | | | | | | | | | | | | | 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()`.
* grand module renameAleksey Kladov2018-12-081-0/+455