Florian Diebold
1526eb25c9
Import the prelude
2019-02-13 20:10:09 +01:00
Pascal Hertleif
4fd3613434
Fix some typos
2019-02-12 15:02:57 +01:00
Aleksey Kladov
0d060b073c
remove hard-coded query-group macro
2019-02-11 22:24:39 +03:00
Aleksey Kladov
58ed8ee665
use extern prelude in Resolver
...
This fixes two bugs:
- completion for paths works again
- we handle extern prelude shadowing more correctly
2019-02-11 15:41:39 +03: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
Florian Diebold
2e1d739a80
Import glob imports from other crates
...
This is the easy part since we don't have to consider the fixpoint algorithm.
2019-02-10 16:20:01 +01:00
Florian Diebold
35cfb418ba
Add some tests
2019-02-10 16:20:01 +01:00
Aleksey Kladov
12e3b4c70b
reformat the world
2019-02-08 14:49:43 +03:00
Florian Diebold
1056b480d6
Make extern crates in the root module add to the extern prelude
...
To accomplish this, separate the extern prelude from the per-module item maps.
2019-02-04 21:49:34 +01:00
Florian Diebold
d69023fc72
Lower extern crates to imports
...
This is probably not completely correct, but it kind of works.
2019-02-04 21:49:34 +01:00
Florian Diebold
397d84ee29
Add test for extern crate renames
2019-02-04 21:49:34 +01:00
Florian Diebold
5a7fce4e4c
Pass aliases to ImportData
2019-02-02 00:23:53 +01:00
Florian Diebold
aa5f6a1ee8
Add test for use as
2019-02-02 00:23:53 +01:00
Florian Diebold
6b076f1931
Use new Resolver API in type inference
2019-02-01 22:45:23 +01:00
csmoe
4dffdcf14a
split HirDatabase api
2019-02-01 22:05:24 +08:00
Aleksey Kladov
ef7eb8c257
Use Crate instead of CrateId
2019-01-30 22:37:20 +03:00
Erlend Tobiassen
b775fa285c
Revert parts of "Test non standard crate root"
...
Prefer cursor position over file_map
2019-01-27 16:32:31 +01:00
Erlend Tobiassen
b149882d19
Remove dbg!(...)
2019-01-27 15:44:59 +01:00
Erlend Tobiassen
683e5e64f4
Test non standard crate root
2019-01-27 15:15:56 +01:00
Aleksey Kladov
a128075af9
remove Option<SourceFileItemId> hack
2019-01-26 23:27:01 +03:00
Aleksey Kladov
9457b1f0e6
rename source_file -> parse
2019-01-26 11:51:36 +03:00
Aleksey Kladov
4711cbcace
rename FilesDatabase -> SourceDatabase
2019-01-26 11:20:30 +03:00
Aleksey Kladov
08c12e424d
use set methods
2019-01-25 15:25:01 +03:00
Aleksey Kladov
74beb5bfcb
simplify
2019-01-25 10:29:00 +03:00
Aleksey Kladov
bc77f91cf6
rename def_id -> def
2019-01-25 10:16:28 +03:00
Aleksey Kladov
857c35ddb0
refactor import resolution
...
extract path resolution
use enums instead of bools
2019-01-25 10:08:21 +03:00
Aleksey Kladov
0f2f3a21e7
Migrate trait & type to new ids
2019-01-25 01:31:32 +03:00
Aleksey Kladov
1db2cbcb8b
move consts&statics to new id
2019-01-25 00:50:08 +03:00
Aleksey Kladov
f588535273
remove boilerplate
2019-01-25 00:32:37 +03:00
Aleksey Kladov
566c8e321e
migrate enums to new id
2019-01-24 18:56:38 +03:00
Aleksey Kladov
60a607d33f
new struct id
2019-01-24 17:54:18 +03:00
Aleksey Kladov
ec7ed054e0
Functions use new id scheme
2019-01-24 15:28:50 +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
bea75e0943
drop obsolete comment
2019-01-23 20:45:32 +03:00
Aleksey Kladov
59f830d3e8
assign DefIds when lowering
2019-01-23 19:49:11 +03:00
Aleksey Kladov
d4ed25d86f
introduced better typed AstPtr
2019-01-23 18:26:02 +03:00
Aleksey Kladov
7b901f86cd
move SyntaxPtr to ra_syntax
2019-01-23 17:37:10 +03:00
Aleksey Kladov
45da21672a
generalize marking infrastructure
2019-01-23 15:36:29 +03:00
Aleksey Kladov
63f7dadc11
rename LoweredImport -> ImportId
2019-01-19 15:37:25 +03:00
Aleksey Kladov
c0aeb5204c
switched to lowerd module
2019-01-19 15:37:25 +03:00
Aleksey Kladov
b93c6bc557
simplify
2019-01-19 15:37:25 +03:00
Aleksey Kladov
789772e8e5
move input module items to the lower module
2019-01-19 15:37:25 +03:00
Aleksey Kladov
a2ca03d10b
⬆️ salsa
2019-01-17 14:11:00 +03:00
Aleksey Kladov
490112dea1
remove Cancelable from nameres
2019-01-15 19:15:01 +03:00
Aleksey Kladov
11f3c8afb2
remove Cancelable from source binders
2019-01-15 18:13:49 +03:00
Aleksey Kladov
77f67ca7e2
gracefully handle cycles in crate graph
...
rust-lang/rust has absolutely weird setup with rustc-workspace-shim,
which leads to real cycles.
2019-01-13 13:39:48 +03:00
Aleksey Kladov
32fa084c07
introduce marking infrastructure for maintainable tests
...
This also fixes a particular edge case in name resolution.
2019-01-10 16:45:09 +03:00
Aleksey Kladov
5609989368
more stable DefIds via bfs tree walking
2019-01-09 01:57:40 +03:00
Aleksey Kladov
2dc85619be
one more invalidation test
2019-01-09 00:54:06 +03:00
Aleksey Kladov
bcb6fabd15
fix test naming
2019-01-09 00:49:21 +03:00
Aleksey Kladov
8f93e7b9a4
remove duplication in tests
2019-01-09 00:48:54 +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
d4b44a092f
Fix use tree desugaring
2019-01-08 15:00:29 +01:00
Aleksey Kladov
544c63b58e
dont reexport module id
2019-01-08 16:35:36 +03:00
Florian Diebold
dc186c0fcc
Import fixpoint loop for name resolution
2019-01-08 12:53:31 +01:00
Aleksey Kladov
17b2994b99
fix the test
2019-01-06 17:38:20 +03:00
Aleksey Kladov
fd4456d0ec
flatten module structure
2019-01-06 17:36:10 +03:00