Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move expression lowering to hir_def | Aleksey Kladov | 2019-11-12 | 7 | -732/+767 |
| | |||||
* | Remove owner from Body | Aleksey Kladov | 2019-11-12 | 5 | -28/+19 |
| | |||||
* | Disallow regressing crate docs | Aleksey Kladov | 2019-11-12 | 2 | -4/+6 |
| | |||||
* | Move definition of exprs to hir_def | Aleksey Kladov | 2019-11-12 | 10 | -518/+598 |
| | |||||
* | Minor refactoring | Aleksey Kladov | 2019-11-12 | 2 | -21/+32 |
| | |||||
* | Minor cleanup | Aleksey Kladov | 2019-11-12 | 6 | -47/+44 |
| | |||||
* | fix typo | Greg | 2019-11-12 | 1 | -1/+1 |
| | |||||
* | Implement postfix completions feature flag | Greg | 2019-11-12 | 2 | -0/+5 |
| | |||||
* | Introduce hir::GenericParam | Aleksey Kladov | 2019-11-11 | 4 | -9/+19 |
| | | | | Unlike existing hir::GenericParams, this is a global ID. | ||||
* | Don't reexport generics from HIR | Aleksey Kladov | 2019-11-11 | 5 | -12/+13 |
| | |||||
* | Merge #2200 | bors[bot] | 2019-11-11 | 14 | -173/+171 |
|\ | | | | | | | | | | | | | | | | | | | 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::Local | Aleksey Kladov | 2019-11-11 | 14 | -173/+171 |
| | | |||||
* | | Merge #2205 | bors[bot] | 2019-11-11 | 9 | -22/+458 |
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | 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 | 6 | -51/+29 |
| | | |||||
| * | Add line macro and tests | Edwin Cheng | 2019-11-11 | 3 | -7/+84 |
| | | |||||
| * | Add quote macro | Edwin Cheng | 2019-11-11 | 2 | -0/+262 |
| | | |||||
| * | Add basic bultin macro infrastructure | Edwin Cheng | 2019-11-11 | 8 | -29/+148 |
| | | |||||
* | | Refactor highlighting to use classify_name | Aleksey Kladov | 2019-11-11 | 1 | -72/+73 |
| | | |||||
* | | Introduce ToNav trait | Aleksey Kladov | 2019-11-11 | 7 | -177/+200 |
| | | |||||
* | | impl fmt::Display for BuiltinType | Aleksey Kladov | 2019-11-11 | 2 | -6/+34 |
| | | |||||
* | | Merge #2203 | bors[bot] | 2019-11-11 | 1 | -19/+31 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 2203: Hover for builtins r=matklad a=kjeremy Fixes #2192 Co-authored-by: Jeremy Kolb <[email protected]> | ||||
| * | | Hover for builtins | Jeremy Kolb | 2019-11-10 | 1 | -19/+31 |
| | | | |||||
* | | | Forbid visibility qualifiers in traits | Aleksey Kladov | 2019-11-11 | 4 | -1/+131 |
| | | | |||||
* | | | Make primitive tys public | Aleksey Kladov | 2019-11-11 | 1 | -1/+5 |
| | | | |||||
* | | | Overwrite the prelude with one defined in a later dependency | Matthias Einwag | 2019-11-10 | 2 | -9/+8 |
| | | | | | | | | | | | | | | | | | | | | | 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 | 2 | -0/+93 |
| | | | |||||
* | | | Resolve core types | Matthias Einwag | 2019-11-09 | 3 | -2/+16 |
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 10 | -53/+51 |
|/ | |||||
* | Remove typed macro parsing API | Aleksey Kladov | 2019-11-09 | 5 | -72/+83 |
| | | | | | We do type-erasure on every path anyway, so it doesn't make much sense to duplicate this function for every type | ||||
* | Minor cleanup | Aleksey Kladov | 2019-11-09 | 1 | -6/+8 |
| | |||||
* | Merge #2169 | bors[bot] | 2019-11-09 | 8 | -101/+305 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | 2169: MBE: Mapping spans for goto definition r=matklad a=edwin0cheng Currently, go to definition gives the wrong span in MBE. This PR implement a mapping mechanism to fix it and it could be used for future MBE hygiene implementation. The basic idea of the mapping is: 1. When expanding the macro, generated 2 `TokenMap` which maps the macro args and macro defs between tokens and input text-ranges. 2. Before converting generated `TokenTree` to `SyntaxNode`, generated a `ExpandedRangeMap` which is a mapping between token and output text-ranges. 3. Using these 3 mappings to construct an `ExpansionInfo` which can map between input text ranges and output text ranges. Co-authored-by: Edwin Cheng <[email protected]> | ||||
| * | Remove map_ranges in RevTokenMap | Edwin Cheng | 2019-11-09 | 4 | -66/+35 |
| | | |||||
| * | Refactor and simpfily | Edwin Cheng | 2019-11-08 | 5 | -89/+42 |
| | | |||||
| * | Refactor and add more comments | Edwin Cheng | 2019-11-08 | 2 | -58/+52 |
| | | |||||
| * | Fix formatting | Edwin Cheng | 2019-11-05 | 1 | -1/+1 |
| | | |||||
| * | Refactor a bit | Edwin Cheng | 2019-11-04 | 2 | -11/+7 |
| | | |||||
| * | Use macro_rules shift to map text ranges | Edwin Cheng | 2019-11-04 | 4 | -51/+26 |
| | | |||||
| * | Use ? and destructing to simplifed long code | Edwin Cheng | 2019-11-04 | 1 | -19/+17 |
| | | |||||
| * | Rename and fix typos | Edwin Cheng | 2019-11-04 | 4 | -24/+43 |
| | | |||||
| * | Add note for recurseive macro generated code | Edwin Cheng | 2019-11-04 | 1 | -0/+1 |
| | | |||||
| * | Add tests | Edwin Cheng | 2019-11-04 | 1 | -0/+40 |
| | | |||||
| * | Use new expansion feature in goto_definition | Edwin Cheng | 2019-11-04 | 2 | -45/+114 |
| | | |||||
| * | Remove dbg! | Edwin Cheng | 2019-11-04 | 2 | -5/+0 |
| | | |||||
| * | Fixed bug in ExpandedRangeMap | Edwin Cheng | 2019-11-04 | 1 | -34/+16 |
| | | |||||
| * | Add parent_expansion to HirFileId | Edwin Cheng | 2019-11-04 | 1 | -0/+19 |
| | | |||||
| * | Add macro_expansion_info in hir_expand | Edwin Cheng | 2019-11-04 | 5 | -47/+212 |
| | | |||||
| * | Add map_id to TokenId | Edwin Cheng | 2019-11-04 | 2 | -5/+34 |
| | | |||||
* | | 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 |
| | |