mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 20:42:04 +00:00
make macro a NameOwner
This commit is contained in:
parent
e7b370226c
commit
2efdf41bdb
6 changed files with 14 additions and 5 deletions
|
@ -1908,6 +1908,7 @@ impl ToOwned for MacroCall {
|
|||
}
|
||||
|
||||
|
||||
impl ast::NameOwner for MacroCall {}
|
||||
impl MacroCall {
|
||||
pub fn token_tree(&self) -> Option<&TokenTree> {
|
||||
super::child_opt(self)
|
||||
|
|
|
@ -545,7 +545,10 @@ Grammar(
|
|||
"Visibility": (),
|
||||
"Name": (),
|
||||
"NameRef": (),
|
||||
"MacroCall": ( options: [ "TokenTree", "Path" ] ),
|
||||
"MacroCall": (
|
||||
traits: [ "NameOwner" ],
|
||||
options: [ "TokenTree", "Path" ],
|
||||
),
|
||||
"Attr": ( options: [ ["value", "TokenTree"] ] ),
|
||||
"TokenTree": (),
|
||||
"TypeParamList": (
|
||||
|
|
|
@ -347,7 +347,9 @@ fn macro_call(p: &mut Parser) -> BlockLike {
|
|||
|
||||
pub(super) fn macro_call_after_excl(p: &mut Parser) -> BlockLike {
|
||||
p.expect(EXCL);
|
||||
p.eat(IDENT);
|
||||
if p.at(IDENT) {
|
||||
name(p);
|
||||
}
|
||||
match p.current() {
|
||||
L_CURLY => {
|
||||
token_tree(p);
|
||||
|
|
|
@ -6,7 +6,8 @@ SOURCE_FILE@[0; 349)
|
|||
IDENT@[0; 5) "macro"
|
||||
err: `expected EXCL`
|
||||
WHITESPACE@[5; 6)
|
||||
IDENT@[6; 21) "parse_use_trees"
|
||||
NAME@[6; 21)
|
||||
IDENT@[6; 21) "parse_use_trees"
|
||||
TOKEN_TREE@[21; 41)
|
||||
L_PAREN@[21; 22)
|
||||
DOLLAR@[22; 23)
|
||||
|
|
|
@ -19,7 +19,8 @@ SOURCE_FILE@[0; 70)
|
|||
IDENT@[12; 23) "macro_rules"
|
||||
EXCL@[23; 24)
|
||||
WHITESPACE@[24; 25)
|
||||
IDENT@[25; 28) "foo"
|
||||
NAME@[25; 28)
|
||||
IDENT@[25; 28) "foo"
|
||||
WHITESPACE@[28; 29)
|
||||
TOKEN_TREE@[29; 31)
|
||||
L_CURLY@[29; 30)
|
||||
|
|
|
@ -92,7 +92,8 @@ SOURCE_FILE@[0; 167)
|
|||
IDENT@[109; 120) "macro_rules"
|
||||
EXCL@[120; 121)
|
||||
WHITESPACE@[121; 122)
|
||||
IDENT@[122; 126) "test"
|
||||
NAME@[122; 126)
|
||||
IDENT@[122; 126) "test"
|
||||
WHITESPACE@[126; 127)
|
||||
TOKEN_TREE@[127; 152)
|
||||
L_CURLY@[127; 128)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue