Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | don't cache ast_id_to_node | Aleksey Kladov | 2019-06-01 | 1 | -0/+1 | |
| | ||||||
* | don't poison mutex around chalk | Aleksey Kladov | 2019-06-01 | 1 | -1/+2 | |
| | | | | | | | | | We use panics for cancellation, so we could trigger panic while holding the solver. std::sync::Mutex will be poisoned as a result, which and all further attempts to use solver (from other threads) will panic as well. This commit switches to parking_lot::Mutex which just unlocks on panic. | |||||
* | profile type inference | Aleksey Kladov | 2019-05-21 | 1 | -1/+1 | |
| | ||||||
* | add _query to query functions | Aleksey Kladov | 2019-05-21 | 1 | -3/+3 | |
| | ||||||
* | Add infer for generic default type | Edwin Cheng | 2019-05-19 | 1 | -1/+4 | |
| | ||||||
* | expand to syntax node | Aleksey Kladov | 2019-05-14 | 1 | -3/+3 | |
| | ||||||
* | Handle where clauses in trait solving | Florian Diebold | 2019-05-11 | 1 | -1/+4 | |
| | ||||||
* | Turn `implements` into a query again | Florian Diebold | 2019-05-07 | 1 | -0/+7 | |
| | ||||||
* | Document the peculiarity of the solver query a bit | Florian Diebold | 2019-05-04 | 1 | -1/+6 | |
| | | | | | Also remove the only remaining mention of chalk outside of the ty::traits module. | |||||
* | Chalk integration | Florian Diebold | 2019-05-04 | 1 | -8/+18 | |
| | | | | | - add proper canonicalization logic - add conversions from/to Chalk IR | |||||
* | make macro expansion into a proper query | Aleksey Kladov | 2019-05-04 | 1 | -0/+3 | |
| | ||||||
* | introduce macro_arg intermediate query | Aleksey Kladov | 2019-05-04 | 1 | -1/+4 | |
| | | | | | | | | | | | | Currently, when expanding macros, we look at the source code directly (we invoke ast_id_to_node query via to_node method). This is less then ideal, because it make us re-expand macros after every source change. This commit establishes a salsa-firewall: a query to get macro call's token tree. Unlike the syntax tree, token tree changes only if we actually modify the macro itself. | |||||
* | Revert "eagarly clean astd maps" | Aleksey Kladov | 2019-05-04 | 1 | -1/+1 | |
| | | | | | | This reverts commit 6c63a59425e256ce46d058807b64149297231982. This causes massive slowdowns: looks like we accidentally have some source-depndent | |||||
* | eagarly clean astd maps | Aleksey Kladov | 2019-05-04 | 1 | -1/+1 | |
| | ||||||
* | lang_item_lookup is now a salsa query. | Marco Groppo | 2019-04-19 | 1 | -2/+5 | |
| | ||||||
* | Initial support for lang items. | Marco Groppo | 2019-04-19 | 1 | -0/+4 | |
| | ||||||
* | More trait infrastructure | Florian Diebold | 2019-04-14 | 1 | -2/+5 | |
| | | | | | | | | | | - make it possible to get parent trait from method - add 'obligation' machinery for checking that a type implements a trait (and inferring facts about type variables from that) - handle type parameters of traits (to a certain degree) - improve the hacky implements check to cover enough cases to exercise the handling of traits with type parameters - basic canonicalization (will probably also be done by Chalk) | |||||
* | migrate to salsas interning | Aleksey Kladov | 2019-04-09 | 1 | -4/+22 | |
| | ||||||
* | Added const bodies and static body to the ast | Lenard Pratt | 2019-04-02 | 1 | -1/+1 | |
| | | | | | | and added inference the inference test reduce code duplication | |||||
* | Added defWithBody | Lenard Pratt | 2019-03-30 | 1 | -4/+5 | |
| | ||||||
* | rename | Aleksey Kladov | 2019-03-26 | 1 | -5/+5 | |
| | ||||||
* | simplify | Aleksey Kladov | 2019-03-26 | 1 | -1/+1 | |
| | ||||||
* | move source_id to a separate file | Aleksey Kladov | 2019-03-26 | 1 | -2/+2 | |
| | ||||||
* | make macro parsing a query | Aleksey Kladov | 2019-03-26 | 1 | -1/+4 | |
| | ||||||
* | store macro def inside macro id | Aleksey Kladov | 2019-03-26 | 1 | -3/+6 | |
| | | | | | | | | This solves the problem of "macro expansion can't call into name resolution, because name resolution calls back into macro expansion" Because we store macro def as a part of call id, macro expansion just knows the def! | |||||
* | Implement a very naive implements check | Florian Diebold | 2019-03-25 | 1 | -1/+4 | |
| | | | | ... to make the infer_trait_method_simple test have the correct result. | |||||
* | Basics for trait method resolution | Florian Diebold | 2019-03-25 | 1 | -0/+4 | |
| | ||||||
* | rename persistent hir database -> def database | Aleksey Kladov | 2019-03-23 | 1 | -3/+3 | |
| | ||||||
* | remove old macro support | Aleksey Kladov | 2019-03-17 | 1 | -6/+1 | |
| | ||||||
* | Reorganize name resolution | Aleksey Kladov | 2019-03-17 | 1 | -1/+1 | |
| | ||||||
* | remove lower module | Aleksey Kladov | 2019-03-17 | 1 | -10/+4 | |
| | ||||||
* | remove ItemMap | Aleksey Kladov | 2019-03-17 | 1 | -4/+1 | |
| | ||||||
* | Replace module_tree with CrateDefMap | Aleksey Kladov | 2019-03-17 | 1 | -14/+7 | |
| | ||||||
* | Remove FnSig from FnDef type | Florian Diebold | 2019-03-16 | 1 | -1/+4 | |
| | | | | | It doesn't need to be in there since it's just information from the def. Another step towards aligning Ty with Chalk's representation. | |||||
* | align lower module query names | Aleksey Kladov | 2019-03-02 | 1 | -7/+7 | |
| | ||||||
* | dont store body inside source map | Aleksey Kladov | 2019-03-02 | 1 | -4/+7 | |
| | ||||||
* | rename syntax-mapping -> source-map | Aleksey Kladov | 2019-03-02 | 1 | -2/+2 | |
| | ||||||
* | Add static type inference | Ville Penttinen | 2019-02-25 | 1 | -1/+4 | |
| | ||||||
* | Add const type inference | Ville Penttinen | 2019-02-25 | 1 | -0/+4 | |
| | ||||||
* | Rename Type => TypeAlias | Florian Diebold | 2019-02-24 | 1 | -3/+5 | |
| | ||||||
* | Implement support for type aliases | Florian Diebold | 2019-02-24 | 1 | -1/+4 | |
| | ||||||
* | Handle tuple structs / enum variants properly in type inference | Florian Diebold | 2019-02-17 | 1 | -2/+2 | |
| | ||||||
* | remove query_definitions | Aleksey Kladov | 2019-02-11 | 1 | -3/+2 | |
| | ||||||
* | make HirDatabase object-safe | Aleksey Kladov | 2019-02-03 | 1 | -0/+5 | |
| | ||||||
* | split HirDatabase api | csmoe | 2019-02-01 | 1 | -16/+13 | |
| | ||||||
* | split hirdatabase | csmoe | 2019-02-01 | 1 | -20/+26 | |
| | ||||||
* | Move expr_scopes query to its module | Florian Diebold | 2019-01-30 | 1 | -1/+1 | |
| | ||||||
* | Rename FnScopes -> ExprScopes | Florian Diebold | 2019-01-30 | 1 | -3/+3 | |
| | | | | | The reason for this is that it describes scopes for any body expression, not just that of a function. It did not actually refer to functions at all anymore. | |||||
* | Use Crate instead of CrateId | Aleksey Kladov | 2019-01-30 | 1 | -3/+3 | |
| | ||||||
* | move item_map_query | Aleksey Kladov | 2019-01-30 | 1 | -1/+1 | |
| |