aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/nameres/collector.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactor PathKindAleksey Kladov2019-12-171-1/+1
|
* Use different types for path with and without genericsAleksey Kladov2019-12-141-7/+7
|
* Rename N! to name!Florian Diebold2019-12-131-2/+2
|
* Add macros for known names and pathsFlorian Diebold2019-12-131-2/+2
|
* Move enum&union to new locAleksey Kladov2019-12-121-8/+11
|
* Move structs to new locAleksey Kladov2019-12-121-3/+4
|
* Move traits to the new locAleksey Kladov2019-12-121-2/+7
|
* Switch to the new location for implsAleksey Kladov2019-12-121-4/+6
|
* Delay legacy macro expansionEdwin Cheng2019-12-081-149/+57
|
* Merge #2466bors[bot]2019-12-081-40/+124
|\ | | | | | | | | | | | | | | | | | | | | 2466: Handle partial resolve cases r=matklad a=edwin0cheng Another try to fix #2443 : We resolve all imports every time in `DefCollector::collect` loop even it is resolved previously. This is because other unresolved imports and macros will bring in another `PerNs`, so we can only assume that it has been partially resolved. Co-authored-by: Edwin Cheng <[email protected]>
| * Refactor resolve_imports logicEdwin Cheng2019-12-071-36/+120
| |
| * Push glob_imports only if non-existsEdwin Cheng2019-12-071-4/+4
| |
* | Remove MacroFileKindEdwin Cheng2019-12-081-2/+2
|/
* Add expansion infrastructure for derive macrosFlorian Diebold2019-12-051-7/+66
|
* Use placeholder instead of `Option`ice10002019-12-051-1/+1
|
* Three-state enum for module originice10002019-12-041-4/+3
|
* Add BuiltinShadowModeEdwin Cheng2019-11-301-1/+3
|
* Use Name::missing consistentlyAleksey Kladov2019-11-271-1/+1
|
* ReformatAleksey Kladov2019-11-271-2/+1
|
* Rename module_id -> local_idAleksey Kladov2019-11-271-7/+7
|
* Hide MacroCallLocEdwin Cheng2019-11-261-4/+3
|
* Fix hir for ast::UnionDefAleksey Kladov2019-11-251-7/+5
|
* Cleanup nameresAleksey Kladov2019-11-241-1/+4
|
* CleanupAleksey Kladov2019-11-241-1/+1
|
* Nicer API for attrsAleksey Kladov2019-11-241-5/+9
|
* SimplifyAleksey Kladov2019-11-241-8/+4
|
* Switch to StaticLoc for staticsAleksey Kladov2019-11-241-2/+5
|
* Push poison_macros downAleksey Kladov2019-11-241-11/+27
|
* Privatise nameresAleksey Kladov2019-11-231-1/+2
|
* Rename CrateModuleIdAleksey Kladov2019-11-231-20/+20
|
* Move ImportIdAleksey Kladov2019-11-231-7/+7
|
* Get rid of DefDatabase2Aleksey Kladov2019-11-231-6/+6
|
* Encapsulate AttrsAleksey Kladov2019-11-221-12/+8
|
* Move constants to new IDAleksey Kladov2019-11-201-2/+10
| | | | This allows us to get rid of trait item index
* Don't duplicate ContainerId typeAleksey Kladov2019-11-201-4/+4
|
* Switch type aliases to new sourcesAleksey Kladov2019-11-201-4/+10
|
* Next gen IDs for functionsAleksey Kladov2019-11-201-4/+9
| | | | | | | | | | | | | | | | | The current system with AstIds has two primaraly drawbacks: * It is possible to manufacture IDs out of thin air. For example, it's possible to create IDs for items which are not considered in CrateDefMap due to cfg. Or it is possible to mixup structs and unions, because they share ID space. * Getting the ID of a parent requires a secondary index. Instead, the plan is to pursue the more traditional approach, where each items stores the id of the parent declaration. This makes `FromSource` more awkward, but also more correct: now, to get from an AST to HIR, we first do this recursively for the parent item, and the just search the children of the parent for the matching def
* Disable doctestsAleksey Kladov2019-11-171-1/+1
|
* Store impls in CrateDefMapAleksey Kladov2019-11-151-1/+10
|
* Move scope tests to hir_defAleksey Kladov2019-11-151-1/+2
|
* Add convenience method for testingAleksey Kladov2019-11-151-1/+1
|
* Merge #2205bors[bot]2019-11-111-2/+23
|\ | | | | | | | | | | | | | | | | | | | | | | | | 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/+7
| |
| * Add basic bultin macro infrastructureEdwin Cheng2019-11-111-3/+25
| |
* | Overwrite the prelude with one defined in a later dependencyMatthias Einwag2019-11-101-9/+6
| | | | | | | | | | | | | | This removes the special casing for the "core" prelude. Whenever a later dependency also exports a prelude, it will replace the formerly imported prelude. The utilized prelude then depends purely on import order.
* | Resolve core typesMatthias Einwag2019-11-091-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for completion and goto definition of types defined within the "core" crate. The core crate is added as a dependency to each crate in the project. The core crate exported it's own prelude. This caused now all crates to inherit the core crates prelude instead of the std crates. In order to avoid the problem the prelude resolution has been changed to overwrite an already resolved prelude if this was set to a crate named core - in order to pick a better prelude like std. Fixes #2199
* | Unfork struct and union idsAleksey Kladov2019-11-091-4/+7
|/
* Extract path resolution submoduleAleksey Kladov2019-11-081-2/+2
|
* SimplifyAleksey Kladov2019-11-081-1/+5
| | | | | There's only one call-site for the function, so it seems fine to inline
* Restore crate_def_map marksAleksey Kladov2019-11-031-8/+7
|