Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement dummy expansions for builtin attributes | Lukas Wirth | 2021-06-09 | 1 | -0/+4 |
| | |||||
* | Expand procedural attribute macros | Jonas Schievink | 2021-06-03 | 1 | -3/+21 |
| | |||||
* | Thread proc-macro types through the HIR | Jonas Schievink | 2021-05-29 | 1 | -2/+3 |
| | |||||
* | internal: move diagnostics to hir | Aleksey Kladov | 2021-05-25 | 1 | -4/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | The idea here is to eventually get rid of `dyn Diagnostic` and `DiagnosticSink` infrastructure altogether, and just have a `enum hir::Diagnostic` instead. The problem with `dyn Diagnostic` is that it is defined in the lowest level of the stack (hir_expand), but is used by the highest level (ide). As a first step, we free hir_expand and hir_def from `dyn Diagnostic` and kick the can up to `hir_ty`, as an intermediate state. The plan is then to move DiagnosticSink similarly to the hir crate, and, as final third step, remove its usage from the ide. One currently unsolved problem is testing. You can notice that the test which checks precise diagnostic ranges, unresolved_import_in_use_tree, was moved to the ide layer. Logically, only IDE should have the infra to render a specific range. At the same time, the range is determined with the data produced in hir_def and hir crates, so this layering is rather unfortunate. Working on hir_def shouldn't require compiling `ide` for testing. | ||||
* | Make `TokenTextRange` private | Jonas Schievink | 2021-05-24 | 1 | -2/+2 |
| | |||||
* | Track in-scope derive helpers during nameres | Jonas Schievink | 2021-05-19 | 1 | -1/+1 |
| | |||||
* | Clarify field name | Jonas Schievink | 2021-05-19 | 1 | -1/+1 |
| | |||||
* | Simplify eager macro representation | Jonas Schievink | 2021-05-19 | 1 | -93/+31 |
| | |||||
* | Strip delimiter from fn-like proc macro input | Jonas Schievink | 2021-05-11 | 1 | -0/+4 |
| | |||||
* | Rewrite `#[derive]` removal to be based on AST | Jonas Schievink | 2021-05-10 | 1 | -2/+14 |
| | |||||
* | Move `AttrId` back into `hir_def` | Jonas Schievink | 2021-05-10 | 1 | -4/+1 |
| | |||||
* | Precompute macro fragment kind | Jonas Schievink | 2021-05-09 | 1 | -2/+66 |
| | |||||
* | make illegal states unrepresentable | Aleksey Kladov | 2021-05-04 | 1 | -11/+10 |
| | | | | only declarative macros have def-site token map | ||||
* | Revert "Rewrite `#[derive]` removal to be based on AST" | Jonas Schievink | 2021-04-10 | 1 | -1/+0 |
| | | | | This reverts commit 7e78aebc8fbbb4043d62949681e4d700f1a2ec46. | ||||
* | Rewrite `#[derive]` removal to be based on AST | Jonas Schievink | 2021-04-09 | 1 | -0/+1 |
| | |||||
* | Store `#[derive]` attribute ID along macro invoc | Jonas Schievink | 2021-04-09 | 1 | -1/+1 |
| | |||||
* | Add `AttrId` to track attribute sources | Jonas Schievink | 2021-04-09 | 1 | -0/+3 |
| | |||||
* | Use named fields in `MacroCallKind` | Jonas Schievink | 2021-04-08 | 1 | -8/+10 |
| | |||||
* | Basic Support Macro 2.0 | Edwin Cheng | 2021-03-27 | 1 | -1/+1 |
| | |||||
* | use the included file as the source of expanded include macro | Yilin Chen | 2021-03-21 | 1 | -1/+22 |
| | | | | Signed-off-by: Yilin Chen <[email protected]> | ||||
* | Return `Either` from `MacroDefId::ast_id` | Jonas Schievink | 2021-03-19 | 1 | -4/+5 |
| | |||||
* | Rename derive-specific APIs | Jonas Schievink | 2021-03-19 | 1 | -4/+4 |
| | |||||
* | Store an `AstId` for procedural macros | Jonas Schievink | 2021-03-18 | 1 | -2/+2 |
| | |||||
* | Make MacroDefId's `AstId` mandatory when possible | Jonas Schievink | 2021-03-18 | 1 | -7/+17 |
| | |||||
* | remove uselessly wrapped ?s. (clippy::meedless_question_mark | Matthias Krüger | 2021-03-17 | 1 | -2/+2 |
| | | | | | | | | let x = Some(3); let y = Some(x?); can just be: let y = x | ||||
* | Upgrade rowan | Aleksey Kladov | 2021-03-16 | 1 | -1/+4 |
| | | | | Notably, new rowan comes with support for mutable syntax trees. | ||||
* | Remove useless wrapper | Aleksey Kladov | 2021-01-15 | 1 | -4/+4 |
| | |||||
* | Revert "Proper handling $crate and local_inner_macros" | Jonas Schievink | 2021-01-03 | 1 | -4/+7 |
| | |||||
* | Introduce HygieneFrames for proper token hyginee | Edwin Cheng | 2021-01-02 | 1 | -7/+4 |
| | |||||
* | Store invocation site for eager macros | Jonas Schievink | 2020-12-22 | 1 | -14/+13 |
| | |||||
* | Make macro def krate mandatory | Jonas Schievink | 2020-12-15 | 1 | -7/+1 |
| | | | | Refactors builtin derive support to go through proper name resolution | ||||
* | Basic support for decl macros 2.0 | Jonas Schievink | 2020-12-15 | 1 | -2/+5 |
| | |||||
* | Move to upstream `macro_rules!` model | Jonas Schievink | 2020-12-15 | 1 | -1/+1 |
| | |||||
* | Fix logic for determining macro calls | Jonas Schievink | 2020-12-08 | 1 | -9/+7 |
| | | | | | | I believe this currently goes back all the way to the initial user-written call, but that seems better than the current broken behavior. | ||||
* | Make `original_range` a method on `InFile<&SyntaxNode>` | Jonas Schievink | 2020-12-08 | 1 | -3/+69 |
| | |||||
* | Fix proc macro token mapping | Jonas Schievink | 2020-12-03 | 1 | -6/+16 |
| | |||||
* | Publish diagnostics for macro expansion errors | Jonas Schievink | 2020-11-27 | 1 | -1/+1 |
| | |||||
* | Use `ExpandResult` instead of `MacroResult` | Jonas Schievink | 2020-11-26 | 1 | -0/+2 |
| | | | | `MacroResult` is redundant | ||||
* | Rename `parse_macro` to `parse_macro_expansion` | Jonas Schievink | 2020-11-24 | 1 | -1/+1 |
| | | | | This does not parse macros, it expands a macro and parses the *result* | ||||
* | hir_expand: propagate expansion errors | Jonas Schievink | 2020-11-24 | 1 | -1/+1 |
| | |||||
* | Rename `CustomDerive` to `ProcMacro` | Jonas Schievink | 2020-09-18 | 1 | -1/+1 |
| | | | | | It handles fn-like macros too, and will handle attribute macros in the future | ||||
* | Rename ra_hir_expand -> hir_expand | Aleksey Kladov | 2020-08-13 | 1 | -0/+453 |