Aleksey Kladov
908c9589a8
fix odrer-of-iteration bug in tests
2019-05-21 14:51:52 +03:00
Aleksey Kladov
6b993a9760
migrate to salsas interning
2019-04-09 22:51:22 +03:00
Aleksey Kladov
5ce84f3cbc
tweak diagnostics API
2019-03-25 10:52:50 +03:00
Aleksey Kladov
4c4a714328
test diagnostics
2019-03-25 10:52:50 +03:00
Aleksey Kladov
3f0cf6ebe1
rename persistent hir database -> def database
2019-03-23 15:44:24 +03:00
Florian Diebold
70839b7ef8
Make edition handling a bit nicer and allow specifying edition in crate_graph macro
2019-02-13 20:31:47 +01:00
Florian Diebold
3a9934e2c3
Keep track of crate edition
2019-02-13 20:10:46 +01:00
Aleksey Kladov
9923383d53
add graph fixture
2019-02-11 13:47:17 +03:00
Aleksey Kladov
dced2f4ed4
Handle SourceRoots automatically in fixtures
2019-02-11 12:53:10 +03:00
Aleksey Kladov
12e3b4c70b
reformat the world
2019-02-08 14:49:43 +03:00
Aleksey Kladov
0c5fd8f7cb
move assists to a separate crate
2019-02-06 17:00:00 +03:00
Aleksey Kladov
dbf9820e35
make HirDatabase object-safe
2019-02-03 22:15:31 +03:00
csmoe
4dffdcf14a
split HirDatabase api
2019-02-01 22:05:24 +08:00
Aleksey Kladov
4711cbcace
rename FilesDatabase -> SourceDatabase
2019-01-26 11:20:30 +03:00
Aleksey Kladov
3223de5976
move ide queries to ide db
2019-01-26 11:17:05 +03:00
Aleksey Kladov
be1a005ebd
fold syntax database into files database
2019-01-26 11:09:39 +03:00
Aleksey Kladov
1fd18f020d
⬆️ salsa
2019-01-25 23:27:16 +03:00
Aleksey Kladov
08c12e424d
use set methods
2019-01-25 15:25:01 +03:00
Aleksey Kladov
8cf092d5de
:arrow_up salsa
2019-01-25 15:16:50 +03:00
Aleksey Kladov
87288d802c
pack enum variants into arena
2019-01-25 12:50:46 +03:00
Aleksey Kladov
3ab1519cb2
Change ids strategy
...
this is a part of larghish hir refactoring which aims to
* replace per-source-root module trees with per crate trees
* switch from a monotyped DedId to type-specific ids
2019-01-24 13:29:19 +03:00
Aleksey Kladov
9fe09db771
encapsulate hir locations
2019-01-24 12:41:08 +03:00
Florian Diebold
969f588025
Generics -> GenericParams
2019-01-19 18:58:04 +01:00
Florian Diebold
688a45e00b
Implement beginnings of generics
...
- add HIR for generic params
- resolve generic params in type paths
- add substitions for ADTs
- insert type variables for substitutions
2019-01-19 16:02:06 +01:00
Aleksey Kladov
e13c9188fe
fix the test
2019-01-19 15:37:25 +03:00
Aleksey Kladov
a2ca03d10b
⬆️ salsa
2019-01-17 14:11:00 +03:00
Florian Diebold
082ef52bcb
Implement basic inherent method resolution
2019-01-12 15:01:19 +01:00
Marcus Klaas de Vries
978de5cf8b
Implement type inference for enum variants
2019-01-10 14:32:56 +01:00
Aleksey Kladov
f72c031eb9
implement RefUnwindSafe
2019-01-10 13:04:04 +03:00
Aleksey Kladov
695294bbb9
ra_db is independent from editor
2019-01-08 21:03:42 +03:00
Florian Diebold
946b0ba02c
Fix name resolution across source roots
...
It was using the wrong name in that case.
2019-01-08 15:16:24 +01:00
Florian Diebold
98957f4e6f
Add fn signature query
2019-01-06 01:13:31 +01:00
Florian Diebold
136aba1cf3
Add HIR Expr machinery
2019-01-05 22:41:12 +01:00
Florian Diebold
e6aeabf96f
Rename ImplsInCrateQuery as well
2019-01-04 19:52:07 +01:00
Florian Diebold
111126ed3c
Type the self parameter
2019-01-04 19:10:50 +01:00
Florian Diebold
ae9530addc
Add HIR for impl blocks
...
Since we need to be able to go from def to containing impl block, as well as the
other direction, and to find all impls for a certain type, a design similar to
the one for modules, where we collect all impls for the whole crate and keep
them in an arena, seemed fitting. The ImplBlock type, which provides the public
interface, then consists only of an Arc to the arena containing all impls, and
the index into it.
2019-01-04 19:10:47 +01:00
Aleksey Kladov
37ed2f35ba
rename MFileId -> HirFileId
2019-01-02 00:09:54 +03:00
Aleksey Kladov
f8d419ee89
fix tests
2019-01-01 22:15:35 +03:00
Aleksey Kladov
832bae8e28
fix tests
2019-01-01 22:15:35 +03:00
Aleksey Kladov
dddbac6877
remove FnId
2018-12-27 23:51:44 +03:00
Florian Diebold
bc745a1396
Resolve field types lazily
...
I.e. not already when getting the HIR for the struct.
2018-12-25 21:40:33 +01:00
Florian Diebold
b5b68f2094
Add basic HIR and types for structs/enums
2018-12-25 15:16:42 +01:00
Florian Diebold
ef67581104
Resolve paths to defs (functions currently) during type inference
2018-12-23 17:13:11 +01:00
Florian Diebold
7348f7883f
Add testing infrastructure for type inference
...
- move dir_tests to test_utils for that.
2018-12-23 13:48:04 +01:00
Florian Diebold
3ac605e687
Add beginnings of type infrastructure
2018-12-23 13:48:04 +01:00
Aleksey Kladov
2fe41574a1
fix tests
2018-12-20 12:15:38 +03:00
Aleksey Kladov
26dcc70129
fix hir mock
2018-12-20 12:15:38 +03:00
Aleksey Kladov
7784c7a701
resolve extern crates propertly
2018-12-09 13:49:54 +03:00
Aleksey Kladov
d8b0379e10
Add functions to DefId
2018-12-04 23:44:00 +03:00
Aleksey Kladov
e89700f967
Move hir tests to hit
2018-11-28 16:19:01 +03:00