aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add a test for self field completionFlorian Diebold2019-01-043-5/+25
| | | | Needed to add a default crate graph in the analysis for that.
* Refactor a bitFlorian Diebold2019-01-041-58/+62
|
* Resolve the Self typeFlorian Diebold2019-01-043-24/+71
|
* Resolve the self parameter during type inferenceFlorian Diebold2019-01-043-4/+19
|
* Type the self parameterFlorian Diebold2019-01-046-9/+116
|
* Add HIR for impl blocksFlorian Diebold2019-01-0411-8/+269
| | | | | | | | | Since we need to be able to go from def to containing impl block, as well as the other direction, and to find all impls for a certain type, a design similar to the one for modules, where we collect all impls for the whole crate and keep them in an arena, seemed fitting. The ImplBlock type, which provides the public interface, then consists only of an Arc to the arena containing all impls, and the index into it.
* Add test for self type inferenceFlorian Diebold2019-01-042-0/+23
|
* Rename ImplItem to ImplBlockFlorian Diebold2019-01-0424-52/+51
| | | | | rustc uses the name ImplItem for items in impls, not the impl {} block itself, which could lead to confusion.
* Merge #425bors[bot]2019-01-0415-187/+167
|\ | | | | | | | | | | | | | | 425: remove id arena r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * remove id arenaAleksey Kladov2019-01-048-94/+26
| |
| * extract area to a crateAleksey Kladov2019-01-049-94/+142
|/
* Merge #424bors[bot]2019-01-045-2/+50
|\ | | | | | | | | | | | | | | 424: remove non-doc comments from doc comments r=matklad a=csmoe Closes #357 Co-authored-by: csmoe <[email protected]>
| * add mod doc comments test in astcsmoe2019-01-041-0/+13
| |
| * parse doc comment for itemscsmoe2019-01-043-2/+15
| |
| * add mod doc comment testcsmoe2019-01-042-0/+22
|/
* Merge #391bors[bot]2019-01-045-59/+117
|\ | | | | | | | | | | | | | | 391: docing parser methods r=csmoe a=csmoe Co-authored-by: csmoe <[email protected]>
| * consume trivias for type/const defcsmoe2019-01-041-2/+1
| |
| * doc parsing eventscsmoe2019-01-044-43/+71
| |
| * doc parser inputcsmoe2019-01-012-10/+30
| |
| * docing parser methodscsmoe2018-12-314-12/+23
| |
* | Merge #421bors[bot]2019-01-039-465/+549
|\ \ | | | | | | | | | | | | | | | | | | | | | 421: Index macros r=matklad a=matklad So, this is pretty cool! We now index items which are the result of macro expansion! (of a single currently hard-coded macro). So, workspace symbols can now be used to navigate to `HirDatabase`, for example Co-authored-by: Aleksey Kladov <[email protected]>
| * | index stuff produced by macrosAleksey Kladov2019-01-037-453/+523
| | |
| * | construct index from symbols directlyAleksey Kladov2019-01-033-13/+27
|/ /
* | Merge #420bors[bot]2019-01-033-13/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 420: unit-tests r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | don't create many compilation units for testsAleksey Kladov2019-01-033-13/+5
|/ /
* | Merge #419bors[bot]2019-01-033-35/+34
|\ \ | | | | | | | | | | | | | | | | | | | | | 419: file-id-to-symbol r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | embed file_id into FileSymbolAleksey Kladov2019-01-033-35/+34
| | |
* | | Merge #418bors[bot]2019-01-031-18/+37
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 418: field-vis r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | add pub(crate) works for named fieldsAleksey Kladov2019-01-031-18/+37
| | |
* | | Merge #417bors[bot]2019-01-031-1/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 417: travis-compile r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | dont build PRs on windowsAleksey Kladov2019-01-031-1/+1
| | |
| * | measure compile-time separately on travisAleksey Kladov2019-01-031-0/+1
| | |
* | | Merge #416bors[bot]2019-01-0312-214/+286
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 416: assist-builder r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | fix the testAleksey Kladov2019-01-032-6/+1
| | | |
| * | | more enterprisey assists APIAleksey Kladov2019-01-0311-210/+287
| |/ /
* | | Merge #415bors[bot]2019-01-034-78/+61
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 415: use LSP file system operations r=matklad a=vemoo implements #131 I've replaced `source_file_edits` and `file_system_edits` with `workspace_edit` because [`WorkspacEdit`](https://docs.rs/languageserver-types/0.53.1/languageserver_types/struct.WorkspaceEdit.html) can represent both. I only use `document_changes` because `changes` cannot represent file system operations. But if the client doesn't have the `workspace.workspaceEdit.resourceOperations` capability `WorkspaceEdit` cannot replace the current `FileSystemEdit`. Can we assume that the client will support it? I also adapted the extension code to make use of the new response type, but only for vscode, i don't know if changes have to be made for the emacs part. Co-authored-by: Bernardo <[email protected]>
| * | fix testsBernardo2019-01-031-9/+14
| | |
| * | use lsp WorkspaceEdit instead of custom source_file_edits and file_system_editsBernardo2019-01-033-69/+47
|/ /
* | Merge #413bors[bot]2019-01-0312-428/+573
|\ \ | | | | | | | | | | | | | | | | | | | | | 413: add visibility owner, refactor assists r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | split assists over several filesAleksey Kladov2019-01-038-403/+488
| | |
| * | rename code-actions -> assistsAleksey Kladov2019-01-033-8/+8
| | |
| * | visibility ownerAleksey Kladov2019-01-033-4/+64
|/ /
* | Merge #412bors[bot]2019-01-032-1/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | 412: vec-macro r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | hardcode vec macroAleksey Kladov2019-01-032-1/+27
|/ /
* | Merge #409bors[bot]2019-01-031-0/+79
|\ \ | | | | | | | | | | | | | | | | | | | | | 409: Add Analysis#teype_of test r=matklad a=h-michael Co-authored-by: Hirokazu Hata <[email protected]>
| * | Deive type_of test from testsHirokazu Hata2019-01-032-17/+80
| | |
| * | Remove unnecessary mock functionsHirokazu Hata2019-01-031-27/+1
| | |
| * | Add Analysis#teype_of testHirokazu Hata2019-01-032-2/+44
| | |
* | | Merge #410bors[bot]2019-01-036-171/+221
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 410: Detangle symbols r=matklad a=matklad Previously, we used `FileSymbol` both to represent bytes which are stored in the index and as an API of `ra_analysis`. Mixing internal storage format and an API is not a really bright idea, so we introduce `NavigationTarget` to handle API part. Co-authored-by: Aleksey Kladov <[email protected]>
| * | | docsAleksey Kladov2019-01-032-3/+33
| | | |