Aleksey Kladov
d4c8310d05
switch interner to use arena
2019-01-08 15:53:32 +03:00
Aleksey Kladov
54e5c4f085
minimize visibility
2019-01-08 15:40:02 +03:00
Aleksey Kladov
5edcf313f6
move query impls to adt
2019-01-08 15:38:29 +03:00
Aleksey Kladov
64f202bdd7
move variant public api to api
2019-01-08 15:32:27 +03:00
Aleksey Kladov
2d0ab52212
move variants to API
2019-01-08 15:28:08 +03:00
Aleksey Kladov
71c7936932
minor
2019-01-08 15:23:56 +03:00
Aleksey Kladov
2d4dc22af8
move enum to code_model_api
2019-01-08 15:22:57 +03:00
Aleksey Kladov
e30c533eb6
move stuct to code_model_api
2019-01-08 15:19:37 +03:00
bors[bot]
3bb1cb7017
Merge #455
...
455: Import fixpoint loop for name resolution r=matklad a=flodiebold
This implements reexports, so only the glob import part of #231 remains.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-01-08 12:02:06 +00:00
Florian Diebold
dc186c0fcc
Import fixpoint loop for name resolution
2019-01-08 12:53:31 +01:00
Aleksey Kladov
50d5e37481
convert some if-lets to match
2019-01-08 14:23:00 +03:00
Aleksey Kladov
96236a9be5
assist to convert if-let to match
2019-01-08 14:21:29 +03:00
Aleksey Kladov
fa6e0b0d38
itroduce trait for ast tokens
2019-01-08 12:23:10 +03:00
Aleksey Kladov
d62ede8262
migrate ra_lsp_server to new rowan
2019-01-08 11:56:17 +03:00
Aleksey Kladov
3ffd5dd2a6
migrate ra_analysis to new rowan
2019-01-08 11:47:28 +03:00
Aleksey Kladov
da0b348ae9
migrate ra_hir to rowan 2.0
2019-01-08 11:28:42 +03:00
Aleksey Kladov
d6020f516f
migrate ra_cli to new rowan
2019-01-08 11:20:15 +03:00
Aleksey Kladov
fe53b28250
migrate ra_db to new rowan
2019-01-08 11:20:15 +03:00
Aleksey Kladov
b88775af7f
migrate ra_editor to rowan 0.2
2019-01-08 11:20:15 +03:00
Aleksey Kladov
b73c51ff9b
wrap TreePtr
2019-01-08 11:20:15 +03:00
Aleksey Kladov
5618c8ade1
regenerate
2019-01-08 11:20:15 +03:00
Aleksey Kladov
d91a98ec84
switch ra_syntax to new rowan API
2019-01-08 11:20:15 +03:00
Aleksey Kladov
55272f2023
update rowan
2019-01-08 11:20:15 +03:00
Marcus Klaas de Vries
e51d44a2de
Process explicit type hints for str, bool and char
2019-01-07 20:43:41 +01:00
Marcus Klaas de Vries
5d15dd70b0
Tidy up binary operator type inference; add test file
2019-01-07 20:39:23 +01:00
Marcus Klaas de Vries
7b0eaef580
Implement type inference for more binary operators
...
Mostly just for primitive numeric types such as u32 and f64. Not
yet a general solution using trait resolution.
2019-01-07 20:11:31 +01:00
Marcus Klaas de Vries
3238c06a5a
Add remaining binary operations to AST
2019-01-07 19:04:25 +01:00
Florian Diebold
7bb279b365
Implement autoderef for field accesses
2019-01-07 14:54:23 +01:00
bors[bot]
a6071c9f4c
Merge #442
...
442: WIP: indent on typing dot r=matklad a=simonvandel
Fixes #439 .
The unit test passes, but I can't seem to make VS code perform the action. The existing action on "=" doesn't work either on my end either though.
I didn't add any smart way of detecting the current indent level. Any ideas how I would do that?
Co-authored-by: Simon Vandel Sillesen <simon.vandel@gmail.com>
2019-01-07 06:26:09 +00:00
Simon Vandel Sillesen
f3c708ab7b
my formatting tool locally messes things up
2019-01-07 06:24:07 +01:00
Simon Vandel Sillesen
979dcf36e4
fix nits
2019-01-07 06:16:04 +01:00
Florian Diebold
d618b1f2ce
if let -> match
2019-01-07 01:10:29 +01:00
Florian Diebold
2dfb5e6ac0
Improve types for node_expr / node_pat
2019-01-07 00:05:19 +01:00
Florian Diebold
71f7d82e45
Introduce ArenaMap
2019-01-07 00:05:19 +01:00
Florian Diebold
cf49a11263
Sort ranges in type inference tests
...
Also rename the files to remove the numbers (they don't serve a purpose now that
there are only the data files).
2019-01-07 00:05:19 +01:00
Florian Diebold
6210e82041
Use HIR Expr for type inference
...
Now we can reuse the type inference inside a function when typing whitespace
etc. :)
2019-01-07 00:05:19 +01:00
Florian Diebold
a4e97f5a2b
Show types when hovering patterns as well
2019-01-06 22:53:09 +01:00
bors[bot]
31c1999505
Merge #440
...
440: Implement type inference for boolean operators r=flodiebold a=marcusklaas
Tried implementing the easiest part of https://github.com/rust-analyzer/rust-analyzer/issues/390 . Hope this is somewhat close to what the intent of the issue was. Found it surprisingly easy to find my way around the repository - it's well organized!
Very grateful for any pointers.
Co-authored-by: Marcus Klaas de Vries <mail@marcusklaas.nl>
2019-01-06 21:28:36 +00:00
Marcus Klaas de Vries
82d9a77dad
Touch up type inference for boolean operators
...
Also try to infer its subexpressions and set type expectations
whenever possible.
2019-01-06 22:17:54 +01:00
Simon Vandel Sillesen
bbc044990a
formatting
2019-01-06 22:06:22 +01:00
Simon Vandel Sillesen
0be055072d
fix tests
2019-01-06 21:59:14 +01:00
Aleksey Kladov
8a3b489c2f
kill module source
2019-01-06 20:01:26 +03:00
Aleksey Kladov
733383446f
move submodule computationt to module_tree
2019-01-06 17:44:50 +03:00
Aleksey Kladov
17b2994b99
fix the test
2019-01-06 17:38:20 +03:00
Aleksey Kladov
5b0267ecf7
fix after rebase
2019-01-06 17:37:18 +03:00
Aleksey Kladov
fd4456d0ec
flatten module structure
2019-01-06 17:36:10 +03:00
Aleksey Kladov
5a505189a8
adjust comments
2019-01-06 17:35:57 +03:00
Aleksey Kladov
c303e6fbdf
fix ra_analysis to work with the new API
2019-01-06 17:35:57 +03:00
Aleksey Kladov
a7f4f7bfcc
split module source into decl/defin
2019-01-06 17:35:57 +03:00
Aleksey Kladov
9cb02fd931
kill old module
2019-01-06 17:35:57 +03:00