Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | . | Aleksey Kladov | 2021-01-19 | 3 | -8/+9 |
| | |||||
* | Phase out SourceFileEdits in favour of a plain HashMap | Lukas Wirth | 2021-01-14 | 3 | -22/+18 |
| | |||||
* | Group file source edits by FileId | Lukas Wirth | 2021-01-14 | 3 | -13/+22 |
| | |||||
* | Rename FileReferences -> UsageSearchResult | Lukas Wirth | 2021-01-12 | 1 | -4/+4 |
| | |||||
* | Ensure uniqueness of file ids in reference search via hashmap | Lukas Wirth | 2021-01-12 | 1 | -8/+4 |
| | |||||
* | Group references by FileId | Lukas Wirth | 2021-01-12 | 1 | -10/+14 |
| | |||||
* | Change <|> to $0 - Rebase | Kevaundray Wedderburn | 2021-01-07 | 1 | -11/+11 |
| | |||||
* | ssr: Allow replacing expressions with statements | Marijn Suijten | 2021-01-04 | 2 | -3/+60 |
| | | | | | | | | | | | | | | | | | Now that statements can be matched and replaced (#6587) some usecases require expressions to be replaced with statements as well. This happens when something that can ambiguously be an expression or statement like `if` and loop blocks appear in the last position of a block, as trailing expression. In this case a replacement pattern of the form `if foo(){$a();}==>>$a();` will only substitute `if` blocks in the list of statements but not if they (implicitly) end up in the trailing expression, where they are not wrapped by an EXPR_STMT (but the pattern and template are, as parsing only succeeds for the `stmt ==>> stmt` case). Instead of adding two rules that match an expression - and emit duplicate matching errors - allow the template for expressions to be a statement if it fails to parse as an expression. | ||||
* | ssr: Add tests for raw LetStmt matching | Marijn Suijten | 2021-01-03 | 1 | -0/+44 |
| | |||||
* | syntax,ssr: Implement statement parsing | Marijn Suijten | 2021-01-03 | 1 | -0/+1 |
| | |||||
* | Remove some unneeded string allocations | Lukas Wirth | 2020-12-31 | 1 | -1/+3 |
| | |||||
* | Remove more unreachable pubs | Aleksey Kladov | 2020-11-02 | 1 | -1/+1 |
| | |||||
* | Re-export base_db from ide_db | Igor Aleksanov | 2020-10-24 | 5 | -11/+11 |
| | |||||
* | Minor clippy performance suggestions | kjeremy | 2020-09-30 | 1 | -1/+1 |
| | |||||
* | :arrow_up: ungrammar | Aleksey Kladov | 2020-08-21 | 2 | -8/+7 |
| | |||||
* | Switch to expect_test from crates.io | Aleksey Kladov | 2020-08-21 | 1 | -1/+1 |
| | |||||
* | Future proof find-usages API | Aleksey Kladov | 2020-08-19 | 1 | -1/+1 |
| | | | | | | We might want to provide more efficient impls for check if usages exist, limiting the search, filtering and cancellation, so let's violate YAGNI a bit here. | ||||
* | Add SelfParam to code_model | Aleksey Kladov | 2020-08-19 | 2 | -2/+2 |
| | |||||
* | Merge #5758 | bors[bot] | 2020-08-18 | 5 | -38/+245 |
|\ | | | | | | | | | | | | | | | | | | | 5758: SSR: Explicitly autoderef and ref placeholders as needed r=matklad a=davidlattimore Structural search replace now inserts *, & and &mut in the replacement to match any auto[de]ref in the matched code. e.g. `$a.foo() ==>> bar($a)` might convert `x.foo()` to `bar(&mut x)` Co-authored-by: David Lattimore <[email protected]> | ||||
| * | SSR: A few small refactorings | David Lattimore | 2020-08-18 | 2 | -6/+8 |
| | | |||||
| * | SSR: Explicitly autoderef and ref placeholders as needed | David Lattimore | 2020-08-14 | 4 | -25/+222 |
| | | | | | | | | Structured search replace now inserts *, & and &mut in the replacement to match any auto[de]ref in the matched code. | ||||
| * | Refactor SSR so that placeholders store a Var | David Lattimore | 2020-08-14 | 4 | -18/+26 |
| | | | | | | | | | | This allows lookup of placeholder bindings given a placeholder without needing to create a Var instance. | ||||
* | | Rename hypothetical -> speculative | Aleksey Kladov | 2020-08-14 | 1 | -2/+2 |
|/ | |||||
* | Make hygiene private to hir | Aleksey Kladov | 2020-08-13 | 1 | -11/+13 |
| | |||||
* | Rename ra_ssr -> ssr | Aleksey Kladov | 2020-08-13 | 9 | -0/+3576 |