aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model.rs
Commit message (Collapse)AuthorAgeFilesLines
* Merge #2179bors[bot]2019-11-061-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | 2179: Use HirDatabase to compute `is_deprecated` r=matklad a=martskins This PR fixes #2167 by introducing `attributes_query` and adding `fn attrs(&self, def: crate::AttrDef) -> Option<Arc<[Attr]>>;` to the `DefDatabase` trait. I'm a little concerned about the two spots in `attributes_query` where code is repeated, but I couldn't figure out a way to avoid that, so.. I welcome suggestions :smile: Co-authored-by: Martin Asquino <[email protected]>
| * HirDatabase stored attributesMartin Asquino2019-11-041-0/+1
| |
* | Move Namespace enum closer to usageAleksey Kladov2019-11-041-2/+2
|/
* Remove last traces of nameres from hirAleksey Kladov2019-11-031-2/+1
|
* Move CrateDefMap to hir_defAleksey Kladov2019-11-031-16/+21
|
* Move diagnostics to hir_expandAleksey Kladov2019-11-021-2/+4
|
* Refactor to unify with method resolutionFlorian Diebold2019-11-011-0/+9
|
* move struct & enum data to hir_defAleksey Kladov2019-10-311-11/+20
|
* add ModuleDefId to hir_defAleksey Kladov2019-10-311-3/+3
|
* move builtin types to hir_defAleksey Kladov2019-10-311-44/+4
|
* push name down to hir_expandAleksey Kladov2019-10-301-4/+4
|
* remove forward pointer for type_refAleksey Kladov2019-10-301-2/+1
|
* remove forward pointer for nameAleksey Kladov2019-10-301-9/+9
|
* move raw_items to hir_defAleksey Kladov2019-10-301-27/+3
|
* Move ids to hir_def crateAleksey Kladov2019-10-301-8/+8
|
* introduce ra_hir_defAleksey Kladov2019-10-301-36/+41
|
* remove one more dependency on source rootsAleksey Kladov2019-10-141-5/+3
|
* add `module` methodsEkaterina Babshukova2019-10-091-0/+32
|
* Address comments: fix docs, add completion test for `Self`.ice10002019-10-081-1/+1
|
* Support inferring `Self` type in enum definitionsice10002019-10-081-2/+2
| | | | Signed-off-by: ice1000 <[email protected]>
* Added test for check doc strings in crates.Alexander Andreev2019-09-301-0/+2
| | | | #1856
* Add SubstsBuilderFlorian Diebold2019-09-261-3/+11
| | | | + further refactoring.
* Resolve trait associated itemsFlorian Diebold2019-09-251-0/+10
| | | | E.g. `Default::default` or `<Foo as Default>::default`.
* Remove redundant clone()Shotaro Yamada2019-09-251-1/+1
|
* Give closures typesFlorian Diebold2019-09-241-0/+20
|
* Drive by lintskjeremy2019-09-231-1/+1
|
* introduce FromSource traitEkaterina Babshukova2019-09-191-1/+1
|
* Remove TraitItem and ImplItem in favor of AssocItemFlorian Diebold2019-09-171-24/+9
|
* Refactor a bit to prepare for resolving trait assoc itemsFlorian Diebold2019-09-171-0/+31
|
* Remove `is_unnamed`Dylan MacKenzie2019-09-161-4/+0
|
* Gracefully handle `const _` items in `ConstData`Dylan MacKenzie2019-09-161-4/+8
|
* Specify desirable namespace when calling resolveAleksey Kladov2019-09-131-6/+4
| | | | That way, we are able to get rid of a number of unreachable statements
* rename AdtDef -> AdtAleksey Kladov2019-09-121-14/+15
|
* generalize impl_froms to nested enumsAleksey Kladov2019-09-121-19/+1
|
* make various enums "inherit" from AdtDefAleksey Kladov2019-09-121-6/+55
|
* cleanup hir db importsAleksey Kladov2019-09-081-1/+2
|
* Fix crash for super trait cyclesFlorian Diebold2019-09-071-18/+18
|
* Use traits from where clauses for method resolutionFlorian Diebold2019-09-071-9/+12
| | | | | E.g. if we have `T: some::Trait`, we can call methods from that trait without it needing to be in scope.
* Lower bounds on trait definition, and resolve assoc types from super traitsFlorian Diebold2019-09-071-2/+52
|
* Add an expr_source method analogous to the source methods in the code modelFlorian Diebold2019-09-021-13/+38
| | | | ... and use that instead of exposing the source map.
* Report type mismatches in analysis-statsFlorian Diebold2019-09-021-1/+1
| | | | Only the number usually; each one individually when running with -v.
* rename struct -> record, pos -> tupleAleksey Kladov2019-08-231-2/+2
|
* Add representations of associated typesFlorian Diebold2019-08-121-0/+4
| | | | | | | | | | | | This adds three different representations, copied from the Chalk model: - `Ty::Projection` is an associated type projection written somewhere in the code, like `<Foo as Trait>::Bar`. - `Ty::UnselectedProjection` is similar, but we don't know the trait yet (`Foo::Bar`). - The above representations are normalized to their actual types during type inference. When that isn't possible, for example for `T::Item` inside an `fn foo<T: Iterator>`, the type is normalized to an application type with `TypeCtor::AssociatedType`.
* migrate ra_hir to the new rowanAleksey Kladov2019-07-191-11/+8
|
* make Parse fields privateAleksey Kladov2019-07-121-1/+1
| | | | this is in preparation for the new rowan API
* cargo formatMuhammad Mominul Huque2019-07-071-1/+4
|
* Constify KnownName'sMuhammad Mominul Huque2019-07-071-23/+24
|
* properly restrict diagnostics to a single fileAleksey Kladov2019-07-051-1/+6
|
* Merge #1491bors[bot]2019-07-051-16/+16
|\ | | | | | | | | | | | | | | | | | | 1491: More clippy r=matklad a=kjeremy A few more clippy changes. I'm a little unsure of the second commit. It's the trivially_copy_pass_by_ref lint and there are a number of places in the code we could use it if it makes sense. Co-authored-by: Jeremy Kolb <[email protected]>
| * &self -> selfJeremy Kolb2019-07-051-13/+13
| | | | | | | | https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref