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
e381c02ef3
Add comma list to use tree
2020-07-30 14:20:33 +02:00
Aleksey Kladov
02cac962e1
Update tests
2020-07-30 14:18:12 +02:00
Aleksey Kladov
9697d23cbe
Rename UseItem -> Use
2020-07-30 14:12:04 +02:00
Aleksey Kladov
35e7966ebe
Add comma list to use tree
2020-07-30 14:06:39 +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
026e4e6af1
Update tests
2020-07-30 12:01:14 +02:00
Aleksey Kladov
6cd2131caf
Rename Rename
2020-07-30 11:58:41 +02:00
Aleksey Kladov
7d09e5ed61
Finish Module grammar
2020-07-30 11:50:56 +02:00
Aleksey Kladov
081f35fe1b
Update tests
2020-07-30 11:50:56 +02:00
Aleksey Kladov
2984da672e
Split ItemList & AssocItemList
2020-07-30 11:50:56 +02:00
Aleksey Kladov
ede5d17b04
Finish SourceFile grammar
2020-07-30 00:46:39 +02:00
Aleksey Kladov
6636f56e79
Rename ModuleItem -> Item
2020-07-30 00:23:03 +02:00
Aleksey Kladov
76202a2c73
Rename NomialDef -> AdtDef
2020-07-29 19:22:15 +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
0d1357be05
Dead code
2020-07-29 17:35:12 +02:00
Aleksey Kladov
9fb1624c5e
Remove dead code
2020-07-29 15:46:47 +02:00
Aleksey Kladov
dc18ff51c3
Remove dead code
2020-07-29 15:12:19 +02:00
Aleksey Kladov
b10e437039
Fix nameref parsing
2020-07-28 20:59:48 +02:00
Aleksey Kladov
e2030405d5
Rename modules
2020-07-23 17:23:01 +02:00
Laurențiu Nicola
cb958cf5fe
Store macro invocation parameters as text instead of tt
2020-07-22 21:50:37 +03:00
kjeremy
d8eec71dc9
Bump lexer
2020-07-20 15:37:50 -04:00
Jonas Schievink
85f5cbc9dc
Move remove_bounds to edit.rs
2020-07-14 13:33:37 +02:00
Jonas Schievink
0f654b06ab
missing impl members: remove assoc. type bounds
2020-07-14 13:12:16 +02:00
Aleksey Kladov
f48ab3ebeb
Comment decorations
...
closes #4461
2020-07-12 02:23:41 +02:00
Aleksey Kladov
9a3c22bbfd
Make slow test parallel
2020-07-11 12:56:44 +02:00
Aleksey Kladov
68706b59c9
Don't mess with cursor position when adding hashes
2020-07-09 19:21:41 +02:00
Aleksey Kladov
8e1ebbcc13
Simplify
2020-07-09 11:47:27 +02:00
Aleksey Kladov
b660681a6b
Unify tests
2020-07-09 10:58:56 +02:00
kjeremy
ebdee366b0
Clippy perf warnings
...
Removes redundant clones
2020-07-06 17:13:55 -04:00
Aleksey Kladov
991850bc3c
Unify magic env var name
2020-07-01 12:31:03 +02:00
Aleksey Kladov
7b0113b3d5
Move parser specific tests utils to parser tests
2020-07-01 12:30:17 +02:00
Aleksey Kladov
bbc4dc9956
Update the rest of the tests
2020-06-29 17:23:01 +02:00
Veetaha
e75e2ae5b6
Simlify with matches!()
2020-06-28 04:03:59 +03:00
Laurențiu Nicola
52a488982f
Bump rustc_lexer
2020-06-27 13:56:54 +03:00
Laurențiu Nicola
76ddface08
Fix panic in split and merge import assists
2020-06-23 16:51:07 +03:00
bors[bot]
6d0a765d34
Merge #4962
...
4962: Implement APIs for parsing expressions, types, paths, patterns and items r=davidlattimore a=davidlattimore
Co-authored-by: David Lattimore <dml@google.com>
2020-06-21 12:37:29 +00:00
David Lattimore
bc99e95d7d
Implement APIs for parsing expressions, types, paths, patterns and items
2020-06-21 22:28:17 +10:00
bors[bot]
90a5c4626a
Merge #4851
...
4851: Add quickfix to add a struct field r=TimoFreiberg a=TimoFreiberg
Related to #4563
I created a quickfix for record literals first because the NoSuchField diagnostic was already there.
To offer that quickfix for FieldExprs with unknown fields I'd need to add a new diagnostic (or create a `NoSuchField` diagnostic for those cases)
I think it'd make sense to make this a snippet completion (to select the generated type), but this would require changing the `Analysis` API and I'd like some feedback before I touch that.
Co-authored-by: Timo Freiberg <timo.freiberg@gmail.com>
2020-06-19 15:08:52 +00:00
bors[bot]
28077f971a
Merge #4872
...
4872: Reduce the usage of bare subscript operator r=matklad a=Veetaha
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-06-18 06:48:12 +00:00
bors[bot]
83a16e825d
Merge #4878
...
4878: Make "Replace qualified name with use" replace *all* mentions of the path r=matklad a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/4836
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-06-16 05:29:05 +00:00
David Lattimore
fe7d35d477
Make ra_syntax::{SyntaxNodeChildren, SyntaxElementChildren} public.
...
SyntaxNode::children and SyntaxNode::children_with_tokens return these types, but there's currently no way AFAIK to name them.
2020-06-15 21:36:30 +10:00
Aleksey Kladov
b5c4f2faa2
Update parser tests with env var
2020-06-15 11:02:17 +02:00
Veetaha
667d224fcc
Reduce the usage of bare subscript operator
2020-06-14 13:12:52 +03:00
Jonas Schievink
e9eb54c617
Fix rewrite_root
when there's only 1 replacement
2020-06-13 19:05:46 +02:00
Timo Freiberg
f5ac313000
Add quickfix to add a struct field
2020-06-12 18:52:44 +02:00
bors[bot]
f3d73865d6
Merge #4855
...
4855: Use more idiomatic style for lifetimes in generated code r=matklad a=Veetaha
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-06-12 12:49:30 +00:00
Veetaha
4fefc7d06c
Simplify
2020-06-12 02:56:06 +03:00
Veetaha
c514060600
Apply codegen with idiomatic lifetimes
2020-06-12 01:26:58 +03:00
Matthew Jasper
8622e4cc1b
Add example of old trait object syntax
2020-06-11 18:15:03 +01:00
Matthew Jasper
879693e63c
Move complex inline test to own file
2020-06-11 18:14:57 +01:00
Matthew Jasper
506e1ddbfa
Separating parsing of for
in predicates and types
2020-06-10 11:30:58 +01:00
Aleksey Kladov
e8d50578ab
Correctly parse <_> paths in patterns
...
closes #3659
2020-06-09 13:45:18 +02:00
bors[bot]
eb53f5a9e5
Merge #4812
...
4812: Use correct indent when replacing with match r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-09 11:14:30 +00:00
Aleksey Kladov
8cad7d1a2b
Use correct indent when replacing with match
2020-06-09 12:38:47 +02:00
Avi Dessauer
e38685cb48
Parse default unsafe fn
2020-06-08 17:49:06 -04:00
Leander Tentrup
3aaaf924cb
Fix bug in lexer for format specifier where the type
and width
were not correctly distinguished
2020-06-07 22:57:24 +02:00
Avi Dessauer
c4fd463981
Move default const test out of line
2020-06-04 13:06:57 -04:00
Avi Dessauer
a5588b9e19
Update tests
2020-06-03 20:39:57 -04:00
Avi Dessauer
fb632c747d
Parse default unsafe & default const
2020-06-03 20:16:38 -04:00
Aaron Loucks
4c655c01f3
Enable hover and autocomplete docs on macro generated items
2020-06-03 06:46:07 -04:00
bors[bot]
fe6508bd78
Merge #4658
...
4658: Fix problem with format string tokenization r=matklad a=ruabmbua
Fixed by just not handling closing curlybrace escaping.
Closes https://github.com/rust-analyzer/rust-analyzer/issues/4637
Co-authored-by: Roland Ruckerbauer <roland.rucky@gmail.com>
2020-06-02 12:13:02 +00:00
veetaha
fb971c3bce
Simplify
2020-06-02 02:50:05 +03:00
veetaha
ddd811601e
Small refactor
2020-05-31 21:39:19 +03:00
robojumper
1cd78a3355
correctly infer labelled breaks
2020-05-31 11:40:18 +02:00
Roland Ruckerbauer
a27ede88a3
Fix problem with format string tokenization
...
Fixed by just not handling closing curlybrace escaping.
2020-05-30 14:09:10 +02:00
robojumper
367487fe88
Support raw_ref_op's raw reference operator
2020-05-28 21:42:22 +02:00
kjeremy
9a0353a81e
Update lexer
2020-05-26 14:35:09 -04:00
Julian Wollersberger
ff9d553fe3
Some FIXMEs were outdated:
...
* Done at line 243: "Add validation of `crate` keyword not appearing in the middle of the symbol path"
* Already happened: "Remove validation of unterminated literals (it is already implemented in `tokenize()`)"
* Happens in `unescape()`: "Add validation of character literal containing only a single char"
* Missing: "raw string literals and raw byte string literals"
2020-05-24 13:17:16 +02:00
Julian Wollersberger
cd4ffc1945
Update to rustc_lexer version 660.
...
Change `unescape_*()` to `unescape_literal()`.
2020-05-24 13:12:16 +02:00
bors[bot]
a36202390c
Merge #4521 #4522
...
4521: Use snippets in add_function r=matklad a=matklad
bors r+
🤖
4522: Explain the purpose of `ast::make` module more clearly r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-05-19 23:30:48 +00:00
Aleksey Kladov
e6fc0bdffb
Moderate cleanup of add_function
2020-05-20 01:30:12 +02:00
Aleksey Kladov
4de2749db8
Explain the purpose of ast::make
module more clearly
2020-05-20 01:28:46 +02:00
Simon Vandel Sillesen
ef6d53521f
Shrink ra_parser::Event from 32 bytes to 16 bytes
...
This boxes the Error variant with the assumption that it is rarely constructed
2020-05-16 22:20:44 +02:00
bors[bot]
f1587ac263
Merge #4445
...
4445: Correctly fill default type parameters r=flodiebold a=montekki
Fixes #3877
So, basically even if the parameters are omitted from the `impl` block, check the parameters in `trait` if they have a default type, and if they do go from `hir` to `ast::TypeArg`. I've added a helper for that but I am not sure that it's a proper way to go from `hir` to `ast` here.
Co-authored-by: Fedor Sakharov <fedor.sakharov@gmail.com>
2020-05-14 11:20:42 +00:00
Fedor Sakharov
7e9396c7eb
Change type_arg to type_ref func
2020-05-14 10:14:04 +03:00
Trevor Spiteri
2d0a949236
Use back ticks instead of single quotes around code
2020-05-14 01:06:07 +02:00
Fedor Sakharov
00f3b6c59a
Correctly fill default type parameters
2020-05-13 16:07:44 +03:00
bors[bot]
9594fe33fa
Merge #4083
...
4083: Smol documentation for ast nodes r=matklad a=Veetaha
There is a tremendous amount of TODOs to clarify the topics I am not certain about.
Please @matklad, @edwin0cheng review carefully, I even left some mentions of your names in todos to put your attention where you most probably can give comments.
In order to simplify the review, I separated the codegen (i.e. changes in `ast/generated/nodes.rs`) from `ast_src` changes (they in fact just duplicate one another) into two commits.
Also, I had to hack a little bit to let the docs be generated as doc comments and not as doc attributes because it's easier to read them this way and IIRC we don't support hints for `#[doc = ""]` attributes for now...
Closes #3682
Co-authored-by: veetaha <veetaha2@gmail.com>
2020-05-13 09:09:46 +00:00
veetaha
8d4c11625a
Remove an equals sign from ConstArg
(this probably pertains only to ConstParam)
...
(As per matklad)
2020-05-12 23:57:04 +03:00
veetaha
51edfbaffe
Convert TODO to a Note(matklad)
2020-05-12 23:50:52 +03:00
veetaha
65b380fa8d
Convert to TODOs to FIXMEs as per matklad
2020-05-12 23:48:04 +03:00
veetaha
55a29982c0
Revert "Remove MacroStmts as per edwin0cheng" (cc @edwin0cheng) and add a fixme to document it.
...
This reverts commit 7a49165f5d
.
MacroStmts ast node is not used by itself, but it pertains
to SyntaxNodeKind MACRO_STMTS that is used by ra_paser, so
even tho the node itself is not used, it is better to keep it
with a FIXME to actually add a doc comment when it becomes useful.
2020-05-12 23:45:29 +03:00
veetaha
24b27abf9f
Add a doc comment on the difference between Name and NameRef ast nodes
2020-05-12 23:31:37 +03:00
veetaha
2a5ab9f5dd
Resolve TODO about macro 2.0 def
2020-05-10 22:08:06 +03:00
veetaha
73c6bc4dbd
Fix typo
2020-05-10 21:59:15 +03:00
veetaha
33f240960d
Carify on a semicolon in macro call
2020-05-10 21:57:49 +03:00
veetaha
a1dc28f236
Resolve TODO about curly-braced constructions in expression statement
2020-05-10 21:51:53 +03:00
veetaha
8a298eed7a
Resolve todos about refs and empty statements
2020-05-10 21:44:14 +03:00
veetaha
f5e2e02aa9
Converted TODO about MacroItems to FIXME as per edwin0cheng
2020-05-10 21:06:12 +03:00
veetaha
71f2be968b
Verified ConstArg example, waiting for response on what =
sign pertains to
2020-05-10 21:02:21 +03:00
bors[bot]
bfb40a698d
Merge #4396
...
4396: Improve panic message for ast_from_text r=jonas-schievink a=edwin0cheng
Related: #4368
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-05-10 18:01:20 +00:00
veetaha
f6fd4c4a74
Correcy use tree and type args docs
2020-05-10 20:52:25 +03:00
veetaha
2af6b4b67e
Correct use
cannot have type args as per flodiebold
2020-05-10 20:23:29 +03:00
veetaha
a19b164661
Correct path docs and add colon2 token to Path ast node
2020-05-10 20:21:46 +03:00