Aleksey Kladov
633aace411
Rename LambdaExpr -> ClosureExpr
2020-07-31 17:08:58 +02:00
Aleksey Kladov
bfcee63e75
Work on expressions grammar
2020-07-31 16:52:08 +02:00
Aleksey Kladov
d4d986c7f8
Item is a Stmt
2020-07-31 15:51:01 +02:00
Aleksey Kladov
b250ae6c55
Finalize TypeBound grammar
2020-07-31 15:01:18 +02:00
Aleksey Kladov
a6527ed92c
"Finalize" Types grammar
...
Note that `for` type is rust-analyzer's own invention.
Both the reference and syn allow `for` only for fnptr types, and we
allow them everywhere. This needs to be checked with respect to type
bounds grammar...
2020-07-31 14:40:28 +02:00
Aleksey Kladov
a6e45c6c69
Reame PlaceholderType -> InferType
2020-07-31 14:12:51 +02:00
Aleksey Kladov
08ea2271e8
Rename TypeRef -> Type
...
The TypeRef name comes from IntelliJ days, where you often have both
type *syntax* as well as *semantical* representation of types in
scope. And naming both Type is confusing.
In rust-analyzer however, we use ast types as `ast::Type`, and have
many more semantic counterparts to ast types, so avoiding name clash
here is just confusing.
2020-07-31 12:14:37 +02:00
Aleksey Kladov
f95f425ae4
Use ty to access most TypeRefs
2020-07-30 21:02:55 +02:00
Aleksey Kladov
2e2642efcc
Remove TypeAscriptionOwner
2020-07-30 20:51:43 +02:00
Aleksey Kladov
fcce07d2d1
Finalize attribute grammar
2020-07-30 20:21:32 +02:00
Aleksey Kladov
917c89c103
Finaize item grammar
2020-07-30 18:37:46 +02:00
Aleksey Kladov
c5798c4d75
Finalize impl Grammar
2020-07-30 18:28:28 +02:00
Aleksey Kladov
c83467796b
Finalize Trait grammar
2020-07-30 18:17:28 +02:00
Aleksey Kladov
3cd4112bdc
Finalize const&static grammar
2020-07-30 18:02:20 +02:00
Aleksey Kladov
1766aae145
Rename EnumVariant -> Variant
2020-07-30 17:56:53 +02:00
Aleksey Kladov
609680ef97
Rename EnumDef -> Enum
2020-07-30 17:52:53 +02:00
Aleksey Kladov
216a5344c8
Rename StructDef -> Struct
2020-07-30 17:50:40 +02:00
Aleksey Kladov
1ae4721c9c
Finalize union grammar
2020-07-30 17:38:52 +02:00
Aleksey Kladov
0a9e3ccc26
Rename FieldDef -> Field
2020-07-30 16:49:13 +02:00
Aleksey Kladov
6f8aa75329
Rename RecordLit -> RecordExpr
2020-07-30 16:21:30 +02:00
Aleksey Kladov
28ef4c375a
Rename TypeParamList -> GenericParamList
2020-07-30 15:36:21 +02:00
Aleksey Kladov
eb2f806344
Rename TypeAliasDef -> TypeAlias
2020-07-30 15:25:46 +02:00
Aleksey Kladov
1142112c70
Rename FnDef -> Fn
2020-07-30 15:16:05 +02:00
Aleksey Kladov
b6b77d1396
Update tests
2020-07-30 14:20:33 +02:00
Aleksey Kladov
b1332670c7
Rename UseItem -> Use
2020-07-30 14:20:33 +02:00
Aleksey Kladov
96313283cd
Update tests
2020-07-30 12:33:05 +02:00
Aleksey Kladov
d032f872b6
Finish extern crates grammar
2020-07-30 12:31:07 +02:00
Aleksey Kladov
6cd2131caf
Rename Rename
2020-07-30 11:58:41 +02:00
Aleksey Kladov
2984da672e
Split ItemList & AssocItemList
2020-07-30 11:50:56 +02:00
Aleksey Kladov
6636f56e79
Rename ModuleItem -> Item
2020-07-30 00:23:03 +02:00
Aleksey Kladov
3d28292157
Switch to ungrammar from ast_src
...
The primary advantage of ungrammar is that it (eventually) allows one
to describe concrete syntax tree structure -- with alternatives and
specific sequence of tokens & nodes.
That should be re-usable for:
* generate `make` calls
* Rust reference
* Hypothetical parser's evented API
We loose doc comments for the time being unfortunately. I don't think
we should add support for doc comments to ungrammar -- they'll make
grammar file hard to read. We might supply docs as out-of band info,
or maybe just via a reference, but we'll think about that once things
are no longer in flux
2020-07-29 19:18:25 +02:00
Aleksey Kladov
38e38d9b29
Cleanup CFG API
2020-07-23 16:53:12 +02:00
Jonas Schievink
dce9987436
Check that visibility upgrade path is hit
2020-07-22 14:01:50 +02:00
Jonas Schievink
c07eaf868d
Support Trait as _
imports
2020-07-21 17:55:17 +02:00
Aleksey Kladov
c7ccfb072c
Simplify
2020-07-20 17:44:44 +02:00
Aleksey Kladov
19e78020bd
Remove insta for ra_hir_def
2020-07-17 15:54:40 +02:00
Aleksey Kladov
fcdac03033
Rewrite def map tests from insta to expect
...
Those indentation markers are annoying...
2020-07-17 14:37:51 +02:00
Aleksey Kladov
ff0312fa32
Semantical call info
2020-07-16 18:03:04 +02:00
Florian Diebold
2077004463
Remove TypeCtor interning
...
Our TypeCtor and Chalk's TypeName match now!
2020-07-15 22:07:13 +02:00
Aleksey Kladov
4c08fc9be3
Cleanup limits
2020-07-15 15:53:33 +02:00
Aleksey Kladov
8baa2b727d
Check cancellation when updating imports recursively
...
For winapi, this takes a lot of CPU time without doing queries and
causes the main event loop to stall on cancellation.
2020-07-15 15:49:20 +02:00
Aleksey Kladov
760ee8173c
Micro-optimize update
2020-07-15 15:45:34 +02:00
Jonas Schievink
05a9f377ec
Update ItemTree snapshots
2020-07-14 20:27:48 +02:00
Jonas Schievink
a09d483802
Thread varargs through r-a
2020-07-14 20:27:47 +02:00
Jonas Schievink
a4a8406c44
ItemTree: Lower tuple types despite invalid type
2020-07-14 19:57:41 +02:00
Aleksey Kladov
d47834ee1b
Guard against infinite macro expansions
...
closes #4463
2020-07-14 18:31:48 +02:00
Yuki Okushi
6f423466d1
Add a license field to all the crates
2020-07-14 10:57:26 +09:00
Aleksey Kladov
693ac892f2
Don't copy-paste impl_froms
into every crate
2020-07-13 16:21:02 +02:00
Aleksey Kladov
b20a6b582b
Rewrite item_tree tests to expect
...
insta review wouldn't update the test, so ...
2020-07-11 22:11:31 +02:00
Aleksey Kladov
66e2266d04
Extern fns are implicitly unsafe
...
closes #4865
2020-07-11 21:53:32 +02:00