mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-11-01 12:24:29 +00:00
Add Definition kind for asm register operand
This commit is contained in:
parent
164b15bc62
commit
a600e1df73
12 changed files with 59 additions and 35 deletions
|
|
@ -453,9 +453,13 @@ fn parse_clobber_abi(p: &mut Parser<'_>) {
|
|||
fn parse_reg(p: &mut Parser<'_>) {
|
||||
p.expect(T!['(']);
|
||||
if p.at(T![ident]) {
|
||||
name_ref(p)
|
||||
let m = p.start();
|
||||
name_ref(p);
|
||||
m.complete(p, ASM_REG_SPEC);
|
||||
} else if p.at(T![string]) {
|
||||
p.bump_any()
|
||||
let m = p.start();
|
||||
p.bump_any();
|
||||
m.complete(p, ASM_REG_SPEC);
|
||||
} else {
|
||||
p.err_and_bump("expected register name");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,16 +35,18 @@ SOURCE_FILE
|
|||
STRING "\"add {x}, {tmp}\""
|
||||
COMMA ","
|
||||
WHITESPACE "\n "
|
||||
NAME
|
||||
IDENT "x"
|
||||
WHITESPACE " "
|
||||
EQ "="
|
||||
WHITESPACE " "
|
||||
ASM_REG_OPERAND
|
||||
INOUT_KW "inout"
|
||||
NAME
|
||||
IDENT "x"
|
||||
WHITESPACE " "
|
||||
EQ "="
|
||||
WHITESPACE " "
|
||||
ASM_DIR_SPEC
|
||||
INOUT_KW "inout"
|
||||
L_PAREN "("
|
||||
NAME_REF
|
||||
IDENT "reg"
|
||||
ASM_REG_SPEC
|
||||
NAME_REF
|
||||
IDENT "reg"
|
||||
R_PAREN ")"
|
||||
WHITESPACE " "
|
||||
PATH_EXPR
|
||||
|
|
@ -54,16 +56,18 @@ SOURCE_FILE
|
|||
IDENT "x"
|
||||
COMMA ","
|
||||
WHITESPACE "\n "
|
||||
NAME
|
||||
IDENT "tmp"
|
||||
WHITESPACE " "
|
||||
EQ "="
|
||||
WHITESPACE " "
|
||||
ASM_REG_OPERAND
|
||||
OUT_KW "out"
|
||||
NAME
|
||||
IDENT "tmp"
|
||||
WHITESPACE " "
|
||||
EQ "="
|
||||
WHITESPACE " "
|
||||
ASM_DIR_SPEC
|
||||
OUT_KW "out"
|
||||
L_PAREN "("
|
||||
NAME_REF
|
||||
IDENT "reg"
|
||||
ASM_REG_SPEC
|
||||
NAME_REF
|
||||
IDENT "reg"
|
||||
R_PAREN ")"
|
||||
WHITESPACE " "
|
||||
UNDERSCORE_EXPR
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue