Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | migrate ra_hir to rowan 2.0 | Aleksey Kladov | 2019-01-08 | 2 | -0/+38 | |
| | ||||||
* | migrate ra_db to new rowan | Aleksey Kladov | 2019-01-08 | 1 | -1/+10 | |
| | ||||||
* | wrap TreePtr | Aleksey Kladov | 2019-01-08 | 1 | -7/+45 | |
| | ||||||
* | regenerate | Aleksey Kladov | 2019-01-08 | 1 | -3052/+1791 | |
| | ||||||
* | switch ra_syntax to new rowan API | Aleksey Kladov | 2019-01-08 | 14 | -323/+262 | |
| | ||||||
* | Implement type inference for more binary operators | Marcus Klaas de Vries | 2019-01-07 | 1 | -2/+2 | |
| | | | | | Mostly just for primitive numeric types such as u32 and f64. Not yet a general solution using trait resolution. | |||||
* | Add remaining binary operations to AST | Marcus Klaas de Vries | 2019-01-07 | 3 | -1/+72 | |
| | ||||||
* | Merge #440 | bors[bot] | 2019-01-06 | 1 | -0/+52 | |
|\ | | | | | | | | | | | | | | | | | | | 440: Implement type inference for boolean operators r=flodiebold a=marcusklaas Tried implementing the easiest part of https://github.com/rust-analyzer/rust-analyzer/issues/390. Hope this is somewhat close to what the intent of the issue was. Found it surprisingly easy to find my way around the repository - it's well organized! Very grateful for any pointers. Co-authored-by: Marcus Klaas de Vries <[email protected]> | |||||
| * | Touch up type inference for boolean operators | Marcus Klaas de Vries | 2019-01-06 | 3 | -26/+26 | |
| | | | | | | | | | | Also try to infer its subexpressions and set type expectations whenever possible. | |||||
| * | Implement type inference for boolean operators | Marcus Klaas de Vries | 2019-01-05 | 3 | -2/+54 | |
| | | ||||||
* | | Make FnScopes use hir::Expr | Florian Diebold | 2019-01-05 | 2 | -22/+13 | |
| | | | | | | | | | | | | This was a bit complicated. I've added a wrapper type for now that does the LocalSyntaxPtr <-> ExprId translation; we might want to get rid of that or give it a nicer interface. | |||||
* | | Add HIR Expr machinery | Florian Diebold | 2019-01-05 | 2 | -3/+11 | |
|/ | ||||||
* | change visibility can change pub to pub(crate) | Aleksey Kladov | 2019-01-05 | 1 | -0/+18 | |
| | ||||||
* | split import assist | Aleksey Kladov | 2019-01-05 | 1 | -0/+6 | |
| | ||||||
* | Rename traits::impl_item -> impl_block as well, as well as the tests | Florian Diebold | 2019-01-04 | 2 | -4/+4 | |
| | ||||||
* | Type the self parameter | Florian Diebold | 2019-01-04 | 3 | -2/+79 | |
| | ||||||
* | Add HIR for impl blocks | Florian Diebold | 2019-01-04 | 2 | -3/+43 | |
| | | | | | | | | | 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. | |||||
* | Rename ImplItem to ImplBlock | Florian Diebold | 2019-01-04 | 6 | -26/+26 | |
| | | | | | rustc uses the name ImplItem for items in impls, not the impl {} block itself, which could lead to confusion. | |||||
* | add mod doc comments test in ast | csmoe | 2019-01-04 | 1 | -0/+13 | |
| | ||||||
* | parse doc comment for items | csmoe | 2019-01-04 | 1 | -0/+12 | |
| | ||||||
* | Merge #391 | bors[bot] | 2019-01-04 | 5 | -59/+117 | |
|\ | | | | | | | | | | | | | | | 391: docing parser methods r=csmoe a=csmoe Co-authored-by: csmoe <[email protected]> | |||||
| * | consume trivias for type/const def | csmoe | 2019-01-04 | 1 | -2/+1 | |
| | | ||||||
| * | doc parsing events | csmoe | 2019-01-04 | 4 | -43/+71 | |
| | | ||||||
| * | doc parser input | csmoe | 2019-01-01 | 2 | -10/+30 | |
| | | ||||||
| * | docing parser methods | csmoe | 2018-12-31 | 4 | -12/+23 | |
| | | ||||||
* | | more enterprisey assists API | Aleksey Kladov | 2019-01-03 | 1 | -0/+6 | |
| | | ||||||
* | | visibility owner | Aleksey Kladov | 2019-01-03 | 3 | -4/+64 | |
| | | ||||||
* | | add items from macros to modules | Aleksey Kladov | 2019-01-01 | 1 | -0/+30 | |
| | | ||||||
* | | save top-level macros in module items | Aleksey Kladov | 2019-01-01 | 1 | -1/+1 | |
| | | ||||||
* | | Fix the same bug as #396 but for bytes too | DJMcNab | 2019-01-01 | 1 | -1/+3 | |
| | | ||||||
* | | Use an else if | DJMcNab | 2019-01-01 | 1 | -3/+2 | |
| | | ||||||
* | | Fix the `panic` found whilst fuzzing | DJMcNab | 2018-12-31 | 1 | -3/+9 | |
|/ | ||||||
* | Merge #366 | bors[bot] | 2018-12-30 | 1 | -0/+5 | |
|\ | | | | | | | | | | | | | | | | | | | | | 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 literal | csmoe | 2018-12-30 | 1 | -0/+5 | |
| | | ||||||
* | | Fix a fuzzing bug and add Cargo.lock to the fuzzing directory | DJMcNab | 2018-12-29 | 2 | -2/+2 | |
| | | ||||||
* | | super simplistic macro expansion | Aleksey Kladov | 2018-12-28 | 2 | -1/+5 | |
| | | ||||||
* | | add macro-call node | Aleksey Kladov | 2018-12-28 | 2 | -0/+42 | |
|/ | ||||||
* | fix suffix ranges | Aleksey Kladov | 2018-12-27 | 4 | -4/+16 | |
| | ||||||
* | dump validation errors | Aleksey Kladov | 2018-12-27 | 1 | -2/+5 | |
| | ||||||
* | support literal suffixes | Aleksey Kladov | 2018-12-27 | 7 | -2/+40 | |
| | ||||||
* | dedupe literal parsers | Aleksey Kladov | 2018-12-27 | 10 | -374/+220 | |
| | ||||||
* | Add a hir::TypeRef as an intermediate between ast::TypeRef and ty::Ty | Florian Diebold | 2018-12-25 | 2 | -10/+38 | |
| | ||||||
* | Implement reference / pointer types | Florian Diebold | 2018-12-25 | 3 | -6/+57 | |
| | | | | | - parse them - infer types of & and * expressions | |||||
* | Implement basic completion for fields | Florian Diebold | 2018-12-25 | 2 | -1/+5 | |
| | ||||||
* | Improve parsing of incomplete field accesses in preparation for field completion | Florian Diebold | 2018-12-25 | 1 | -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. | |||||
* | Type field accesses | Florian Diebold | 2018-12-25 | 2 | -2/+10 | |
| | ||||||
* | Add AST definitions for struct/variant fields etc. | Florian Diebold | 2018-12-25 | 3 | -12/+256 | |
| | | | | Fixes #117 | |||||
* | Infer result of struct literals, and recurse into their child expressions | Florian Diebold | 2018-12-25 | 2 | -6/+26 | |
| | ||||||
* | Resolve paths to defs (functions currently) during type inference | Florian Diebold | 2018-12-23 | 2 | -2/+6 | |
| | ||||||
* | Make let statements kind of work | Florian Diebold | 2018-12-23 | 2 | -0/+5 | |
| |