aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src
Commit message (Collapse)AuthorAgeFilesLines
* Publicise GenericParamsAleksey Kladov2019-11-181-3/+3
| | | | See https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Exposing.20GenericParam.2Ename
* More correct expansion mappingAleksey Kladov2019-11-171-4/+9
| | | | We can't really map arbitrary ranges, we only can map tokens
* Disable doctestsAleksey Kladov2019-11-171-2/+2
|
* Goto definition works inside macrosAleksey Kladov2019-11-161-1/+22
|
* Upgrade Chalk againFlorian Diebold2019-11-163-24/+34
|
* Fix handling of the binders in dyn/impl TraitFlorian Diebold2019-11-164-45/+116
| | | | | | | | | We need to be more careful now when substituting bound variables (previously, we didn't have anything that used bound variables except Chalk, so it was not a problem). This is obviously quite ad-hoc; Chalk has more infrastructure for handling this in a principled way, which we maybe should adopt.
* Use Chalk's dyn/impl trait supportFlorian Diebold2019-11-163-13/+16
|
* Upgrade ChalkFlorian Diebold2019-11-164-110/+210
| | | | | Associated type values (in impls) are now a separate entity in Chalk, so we have to intern separate IDs for them.
* Merge #2271bors[bot]2019-11-152-39/+29
|\ | | | | | | | | | | | | | | 2271: Force passing Source when creating a SourceAnalyzer r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Force passing Source when creating a SourceAnalyzerAleksey Kladov2019-11-152-38/+29
| |
| * Prepare SourceAnalyzer for macrosAleksey Kladov2019-11-151-1/+0
| |
* | Merge #2268bors[bot]2019-11-151-4/+19
|\ \ | |/ |/| | | | | | | | | | | 2268: Handle ast::MacroCall in classify_name and impl FromSource for MacroDef r=matklad a=kjeremy Fixes #2260 Co-authored-by: kjeremy <[email protected]>
| * Handle ast::MacroCall in classify_name and impl FromSource for MacroDefkjeremy2019-11-151-4/+19
| | | | | | | | Fixes #2260
* | Prepare SourceAnalyzer for macrosAleksey Kladov2019-11-151-7/+6
| |
* | Sourcify some moreAleksey Kladov2019-11-151-13/+21
|/
* Sourcify some thingsAleksey Kladov2019-11-152-11/+9
| | | | | If we want to support macros properly, we need to get rid of those FileIds everywhere...
* Remove old impls infrastructureAleksey Kladov2019-11-1510-345/+84
|
* Flatten expr moduleAleksey Kladov2019-11-153-141/+130
|
* Move scope tests to hir_defAleksey Kladov2019-11-152-208/+5
|
* Reduce visibilityAleksey Kladov2019-11-151-3/+3
|
* Auto-upgrade some insta snapshotsAleksey Kladov2019-11-151-49/+5
|
* Reduce visibilityAleksey Kladov2019-11-151-3/+3
|
* Use Local moreAleksey Kladov2019-11-153-16/+11
|
* Privatize modulesAleksey Kladov2019-11-151-1/+1
|
* Refactor Module::from_source to properly descend from root fileAleksey Kladov2019-11-152-33/+37
|
* Move body queries to hir_defAleksey Kladov2019-11-148-71/+48
|
* Move scopes to hir_defAleksey Kladov2019-11-145-368/+202
|
* Handle macro-generated expressions slightly less wrongAleksey Kladov2019-11-143-15/+38
|
* Rename MacroResolver -> ExpanderAleksey Kladov2019-11-141-2/+2
|
* Move current file to MacroResolverAleksey Kladov2019-11-141-2/+2
|
* Normalize dataAleksey Kladov2019-11-141-14/+9
| | | | No need to store derivable info
* Reduce duplication between uncertain floats & intsAleksey Kladov2019-11-137-70/+55
|
* Move expression lowering to hir_defAleksey Kladov2019-11-125-730/+37
|
* Remove owner from BodyAleksey Kladov2019-11-125-28/+19
|
* Move definition of exprs to hir_defAleksey Kladov2019-11-125-502/+56
|
* Minor refactoringAleksey Kladov2019-11-121-3/+3
|
* Minor cleanupAleksey Kladov2019-11-125-45/+42
|
* Introduce hir::GenericParamAleksey Kladov2019-11-113-7/+16
| | | | Unlike existing hir::GenericParams, this is a global ID.
* Don't reexport generics from HIRAleksey Kladov2019-11-115-12/+13
|
* Merge #2200bors[bot]2019-11-115-19/+90
|\ | | | | | | | | | | | | | | | | | | 2200: Add variables to HIR r=matklad a=matklad Introduce a `hir::Variable`, which should cover locals, parameters and `self`. Unlike `PatId`, variable knows it's owner so it is self-contained, and should be more convenient to use from `ra_ide_api`. The goal here is to hide more details about `Body` from hir, which should make it easier to move `Body` into `hir_def`. I don't think that `ra_ide_api` intrracts with bodies directly at the moment anyway, but the glue layer is based basically on `ast::BindPat`, which seems pretty brittle. Co-authored-by: Aleksey Kladov <[email protected]>
| * Add hir::LocalAleksey Kladov2019-11-115-19/+90
| |
* | Merge #2205bors[bot]2019-11-111-0/+19
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | 2205: Implement bulitin line! macro r=matklad a=edwin0cheng This PR implements bulitin macro `line!` and add basic infra-structure for other bulitin macros: 1. Extend `MacroDefId` to support builtin macros 2. Add a `quote!` macro for simple quasi quoting. Note that for support others builtin macros, eager macro expansion have to be supported first, this PR not try to handle it. :) Co-authored-by: Edwin Cheng <[email protected]>
| * Add MacroDefKindEdwin Cheng2019-11-111-8/+3
| |
| * Add line macro and testsEdwin Cheng2019-11-111-0/+19
| |
| * Add basic bultin macro infrastructureEdwin Cheng2019-11-111-3/+8
| |
* | Make primitive tys publicAleksey Kladov2019-11-111-1/+5
| |
* | Unfork struct and union idsAleksey Kladov2019-11-096-19/+18
|/
* Merge #2179bors[bot]2019-11-064-0/+98
|\ | | | | | | | | | | | | | | | | | | | | | | 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-044-0/+98
| |
* | Move Namespace enum closer to usageAleksey Kladov2019-11-048-18/+29
| |