Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Address nits and suggestions. | Steffen Lyngbaek | 2020-03-19 | 1 | -140/+32 |
| | | | | | Simplify the logic a lot by removing the check for a placeholder pat. This means the auto-fill no longer returns a compile-able value. | ||||
* | Don't show assist if all arms are present | Steffen Lyngbaek | 2020-03-19 | 1 | -33/+37 |
| | |||||
* | 'Fill match arms' should work with existing match arms | Steffen Lyngbaek | 2020-03-19 | 1 | -25/+281 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Addresses #3039 This essentially adds missing match arms. The algorithm for this can get complicated rather quickly so bail in certain conditions and rely on a PlaceholderPat. The algorighm works as such: - Iterate through the Enum Def Variants - Attempt to see if the variant already exists as a match arm - If yes, skip the enum variant. If no, include it. - If it becomes complicated, rather than exhaustively deal with every branch, mark it as a "partial match" and simply include the placeholder. Conditions for "complication": - The match arm contains a match guard - Any kind of nested destrucuring Order the resulting merged match branches as such: 1. Provided match arms 2. Missing enum variant branch arms 3. End with Placeholder if required - Add extra tests | ||||
* | Cleanup imports | Aleksey Kladov | 2020-03-19 | 1 | -1/+1 |
| | |||||
* | Don't use generic DB where a concrete one will do | Aleksey Kladov | 2020-03-13 | 1 | -6/+2 |
| | |||||
* | Refactor primary IDE API | Aleksey Kladov | 2020-02-26 | 1 | -15/+8 |
| | | | | | | | | | | This introduces the new type -- Semantics. Semantics maps SyntaxNodes to various semantic info, such as type, name resolution or macro expansions. To do so, Semantics maintains a HashMap which maps every node it saw to the file from which the node originated. This is enough to get all the necessary hir bits just from syntax. | ||||
* | Add or- and parenthesized-patterns | Matthew Jasper | 2020-02-09 | 1 | -3/+3 |
| | |||||
* | Name assist handlers | Aleksey Kladov | 2020-02-07 | 1 | -0/+290 |