Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Next gen IDs for functions | Aleksey Kladov | 2019-11-20 | 7 | -22/+105 | |
| | | | | | | | | | | | | | | | | | 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 | |||||
* | Move traits to hir_def | Aleksey Kladov | 2019-11-20 | 5 | -3/+86 | |
| | ||||||
* | Move Generics to hir_def | Aleksey Kladov | 2019-11-20 | 2 | -0/+187 | |
| | ||||||
* | Rename Source::ast -> Source::value | Aleksey Kladov | 2019-11-20 | 8 | -24/+25 | |
| | ||||||
* | Disable doctests | Aleksey Kladov | 2019-11-17 | 1 | -1/+1 | |
| | ||||||
* | Remove wrong clone | Aleksey Kladov | 2019-11-15 | 1 | -2/+2 | |
| | ||||||
* | Sourcify some things | Aleksey Kladov | 2019-11-15 | 1 | -6/+5 | |
| | | | | | If we want to support macros properly, we need to get rid of those FileIds everywhere... | |||||
* | Remove old impls infrastructure | Aleksey Kladov | 2019-11-15 | 3 | -1/+89 | |
| | ||||||
* | Store impls in CrateDefMap | Aleksey Kladov | 2019-11-15 | 3 | -4/+39 | |
| | ||||||
* | Add ImplId | Aleksey Kladov | 2019-11-15 | 2 | -9/+22 | |
| | ||||||
* | Reduce visibility | Aleksey Kladov | 2019-11-15 | 1 | -1/+1 | |
| | ||||||
* | Move scope tests to hir_def | Aleksey Kladov | 2019-11-15 | 3 | -3/+228 | |
| | ||||||
* | Add convenience method for testing | Aleksey Kladov | 2019-11-15 | 3 | -5/+5 | |
| | ||||||
* | Privatize modules | Aleksey Kladov | 2019-11-15 | 1 | -1/+5 | |
| | ||||||
* | Refactor Module::from_source to properly descend from root file | Aleksey Kladov | 2019-11-15 | 1 | -0/+7 | |
| | ||||||
* | Move body queries to hir_def | Aleksey Kladov | 2019-11-14 | 4 | -4/+62 | |
| | ||||||
* | Move scopes to hir_def | Aleksey Kladov | 2019-11-14 | 2 | -0/+158 | |
| | ||||||
* | Slightly better naming | Aleksey Kladov | 2019-11-14 | 2 | -10/+7 | |
| | ||||||
* | Handle macro-generated expressions slightly less wrong | Aleksey Kladov | 2019-11-14 | 2 | -32/+20 | |
| | ||||||
* | Move expansion to Expander | Aleksey Kladov | 2019-11-14 | 2 | -27/+41 | |
| | ||||||
* | Move parse_path to Expander | Aleksey Kladov | 2019-11-14 | 2 | -10/+10 | |
| | ||||||
* | Expansion stack scaffold | Aleksey Kladov | 2019-11-14 | 2 | -8/+38 | |
| | ||||||
* | Add Expader::to_source | Aleksey Kladov | 2019-11-14 | 2 | -10/+8 | |
| | ||||||
* | Move original_file to Expander | Aleksey Kladov | 2019-11-14 | 2 | -9/+11 | |
| | ||||||
* | Rename MacroResolver -> Expander | Aleksey Kladov | 2019-11-14 | 2 | -27/+23 | |
| | ||||||
* | Move current file to MacroResolver | Aleksey Kladov | 2019-11-14 | 2 | -19/+25 | |
| | ||||||
* | Reduce visibility | Aleksey Kladov | 2019-11-14 | 1 | -5/+1 | |
| | ||||||
* | Add helpful pointer to module docs | Aleksey Kladov | 2019-11-12 | 1 | -0/+2 | |
| | ||||||
* | Drop obsolete comment | Aleksey Kladov | 2019-11-12 | 1 | -4/+0 | |
| | ||||||
* | Move expression lowering to hir_def | Aleksey Kladov | 2019-11-12 | 2 | -2/+730 | |
| | ||||||
* | Move definition of exprs to hir_def | Aleksey Kladov | 2019-11-12 | 5 | -16/+542 | |
| | ||||||
* | Minor refactoring | Aleksey Kladov | 2019-11-12 | 1 | -18/+29 | |
| | ||||||
* | Merge #2205 | bors[bot] | 2019-11-11 | 2 | -3/+29 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | 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 MacroDefKind | Edwin Cheng | 2019-11-11 | 1 | -8/+7 | |
| | | ||||||
| * | Add basic bultin macro infrastructure | Edwin Cheng | 2019-11-11 | 2 | -4/+31 | |
| | | ||||||
* | | impl fmt::Display for BuiltinType | Aleksey Kladov | 2019-11-11 | 1 | -0/+32 | |
| | | ||||||
* | | Overwrite the prelude with one defined in a later dependency | Matthias Einwag | 2019-11-10 | 1 | -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. | |||||
* | | Add tests for resolving types in core and std preludes | Matthias Einwag | 2019-11-10 | 1 | -0/+31 | |
| | | ||||||
* | | Resolve core types | Matthias Einwag | 2019-11-09 | 1 | -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 ids | Aleksey Kladov | 2019-11-09 | 4 | -34/+33 | |
|/ | ||||||
* | Touch up nameres doc comment | Aleksey Kladov | 2019-11-08 | 1 | -7/+6 | |
| | ||||||
* | Reduce visibility | Aleksey Kladov | 2019-11-08 | 1 | -9/+9 | |
| | ||||||
* | Extract path resolution submodule | Aleksey Kladov | 2019-11-08 | 3 | -243/+269 | |
| | ||||||
* | Simplify | Aleksey Kladov | 2019-11-08 | 2 | -7/+5 | |
| | | | | | There's only one call-site for the function, so it seems fine to inline | |||||
* | Reduce visibility | Aleksey Kladov | 2019-11-08 | 1 | -23/+23 | |
| | ||||||
* | Reduce visibility | Aleksey Kladov | 2019-11-04 | 1 | -2/+2 | |
| | ||||||
* | Move Namespace enum closer to usage | Aleksey Kladov | 2019-11-04 | 1 | -8/+0 | |
| | ||||||
* | Reduce visibility | Aleksey Kladov | 2019-11-04 | 2 | -6/+10 | |
| | ||||||
* | Reexport relative_path from ra_db | Aleksey Kladov | 2019-11-03 | 4 | -6/+4 | |
| | ||||||
* | Add small module-level docs | Aleksey Kladov | 2019-11-03 | 2 | -0/+4 | |
| |