Apply a few clippy suggestions
This commit is contained in:
parent
e8e14e1b13
commit
3c6dc0f89d
@ -252,12 +252,10 @@ fn closure_expr(p: &mut Parser) -> CompletedMarker {
|
|||||||
// test lambda_ret_block
|
// test lambda_ret_block
|
||||||
// fn main() { || -> i32 { 92 }(); }
|
// fn main() { || -> i32 { 92 }(); }
|
||||||
block_expr(p);
|
block_expr(p);
|
||||||
|
} else if p.at_ts(EXPR_FIRST) {
|
||||||
|
expr(p);
|
||||||
} else {
|
} else {
|
||||||
if p.at_ts(EXPR_FIRST) {
|
p.error("expected expression");
|
||||||
expr(p);
|
|
||||||
} else {
|
|
||||||
p.error("expected expression");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
m.complete(p, CLOSURE_EXPR)
|
m.complete(p, CLOSURE_EXPR)
|
||||||
}
|
}
|
||||||
|
@ -260,33 +260,116 @@ pub enum SyntaxKind {
|
|||||||
use self::SyntaxKind::*;
|
use self::SyntaxKind::*;
|
||||||
impl SyntaxKind {
|
impl SyntaxKind {
|
||||||
pub fn is_keyword(self) -> bool {
|
pub fn is_keyword(self) -> bool {
|
||||||
match self {
|
matches!(
|
||||||
AS_KW | ASYNC_KW | AWAIT_KW | BOX_KW | BREAK_KW | CONST_KW | CONTINUE_KW | CRATE_KW
|
self,
|
||||||
| DYN_KW | ELSE_KW | ENUM_KW | EXTERN_KW | FALSE_KW | FN_KW | FOR_KW | IF_KW
|
AS_KW
|
||||||
| IMPL_KW | IN_KW | LET_KW | LOOP_KW | MACRO_KW | MATCH_KW | MOD_KW | MOVE_KW
|
| ASYNC_KW
|
||||||
| MUT_KW | PUB_KW | REF_KW | RETURN_KW | SELF_KW | STATIC_KW | STRUCT_KW | SUPER_KW
|
| AWAIT_KW
|
||||||
| TRAIT_KW | TRUE_KW | TRY_KW | TYPE_KW | UNSAFE_KW | USE_KW | WHERE_KW | WHILE_KW
|
| BOX_KW
|
||||||
| YIELD_KW | AUTO_KW | DEFAULT_KW | EXISTENTIAL_KW | UNION_KW | RAW_KW
|
| BREAK_KW
|
||||||
| MACRO_RULES_KW => true,
|
| CONST_KW
|
||||||
_ => false,
|
| CONTINUE_KW
|
||||||
}
|
| CRATE_KW
|
||||||
|
| DYN_KW
|
||||||
|
| ELSE_KW
|
||||||
|
| ENUM_KW
|
||||||
|
| EXTERN_KW
|
||||||
|
| FALSE_KW
|
||||||
|
| FN_KW
|
||||||
|
| FOR_KW
|
||||||
|
| IF_KW
|
||||||
|
| IMPL_KW
|
||||||
|
| IN_KW
|
||||||
|
| LET_KW
|
||||||
|
| LOOP_KW
|
||||||
|
| MACRO_KW
|
||||||
|
| MATCH_KW
|
||||||
|
| MOD_KW
|
||||||
|
| MOVE_KW
|
||||||
|
| MUT_KW
|
||||||
|
| PUB_KW
|
||||||
|
| REF_KW
|
||||||
|
| RETURN_KW
|
||||||
|
| SELF_KW
|
||||||
|
| STATIC_KW
|
||||||
|
| STRUCT_KW
|
||||||
|
| SUPER_KW
|
||||||
|
| TRAIT_KW
|
||||||
|
| TRUE_KW
|
||||||
|
| TRY_KW
|
||||||
|
| TYPE_KW
|
||||||
|
| UNSAFE_KW
|
||||||
|
| USE_KW
|
||||||
|
| WHERE_KW
|
||||||
|
| WHILE_KW
|
||||||
|
| YIELD_KW
|
||||||
|
| AUTO_KW
|
||||||
|
| DEFAULT_KW
|
||||||
|
| EXISTENTIAL_KW
|
||||||
|
| UNION_KW
|
||||||
|
| RAW_KW
|
||||||
|
| MACRO_RULES_KW
|
||||||
|
)
|
||||||
}
|
}
|
||||||
pub fn is_punct(self) -> bool {
|
pub fn is_punct(self) -> bool {
|
||||||
match self {
|
matches!(
|
||||||
SEMICOLON | COMMA | L_PAREN | R_PAREN | L_CURLY | R_CURLY | L_BRACK | R_BRACK
|
self,
|
||||||
| L_ANGLE | R_ANGLE | AT | POUND | TILDE | QUESTION | DOLLAR | AMP | PIPE | PLUS
|
SEMICOLON
|
||||||
| STAR | SLASH | CARET | PERCENT | UNDERSCORE | DOT | DOT2 | DOT3 | DOT2EQ | COLON
|
| COMMA
|
||||||
| COLON2 | EQ | EQ2 | FAT_ARROW | BANG | NEQ | MINUS | THIN_ARROW | LTEQ | GTEQ
|
| L_PAREN
|
||||||
| PLUSEQ | MINUSEQ | PIPEEQ | AMPEQ | CARETEQ | SLASHEQ | STAREQ | PERCENTEQ | AMP2
|
| R_PAREN
|
||||||
| PIPE2 | SHL | SHR | SHLEQ | SHREQ => true,
|
| L_CURLY
|
||||||
_ => false,
|
| R_CURLY
|
||||||
}
|
| L_BRACK
|
||||||
|
| R_BRACK
|
||||||
|
| L_ANGLE
|
||||||
|
| R_ANGLE
|
||||||
|
| AT
|
||||||
|
| POUND
|
||||||
|
| TILDE
|
||||||
|
| QUESTION
|
||||||
|
| DOLLAR
|
||||||
|
| AMP
|
||||||
|
| PIPE
|
||||||
|
| PLUS
|
||||||
|
| STAR
|
||||||
|
| SLASH
|
||||||
|
| CARET
|
||||||
|
| PERCENT
|
||||||
|
| UNDERSCORE
|
||||||
|
| DOT
|
||||||
|
| DOT2
|
||||||
|
| DOT3
|
||||||
|
| DOT2EQ
|
||||||
|
| COLON
|
||||||
|
| COLON2
|
||||||
|
| EQ
|
||||||
|
| EQ2
|
||||||
|
| FAT_ARROW
|
||||||
|
| BANG
|
||||||
|
| NEQ
|
||||||
|
| MINUS
|
||||||
|
| THIN_ARROW
|
||||||
|
| LTEQ
|
||||||
|
| GTEQ
|
||||||
|
| PLUSEQ
|
||||||
|
| MINUSEQ
|
||||||
|
| PIPEEQ
|
||||||
|
| AMPEQ
|
||||||
|
| CARETEQ
|
||||||
|
| SLASHEQ
|
||||||
|
| STAREQ
|
||||||
|
| PERCENTEQ
|
||||||
|
| AMP2
|
||||||
|
| PIPE2
|
||||||
|
| SHL
|
||||||
|
| SHR
|
||||||
|
| SHLEQ
|
||||||
|
| SHREQ
|
||||||
|
)
|
||||||
}
|
}
|
||||||
pub fn is_literal(self) -> bool {
|
pub fn is_literal(self) -> bool {
|
||||||
match self {
|
matches!(self, INT_NUMBER | FLOAT_NUMBER | CHAR | BYTE | STRING | BYTE_STRING)
|
||||||
INT_NUMBER | FLOAT_NUMBER | CHAR | BYTE | STRING | BYTE_STRING => true,
|
|
||||||
_ => false,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
pub fn from_keyword(ident: &str) -> Option<SyntaxKind> {
|
pub fn from_keyword(ident: &str) -> Option<SyntaxKind> {
|
||||||
let kw = match ident {
|
let kw = match ident {
|
||||||
|
@ -238,14 +238,9 @@ fn extract_line_annotations(mut line: &str) -> Vec<LineAnnotation> {
|
|||||||
let mut res = Vec::new();
|
let mut res = Vec::new();
|
||||||
let mut offset: TextSize = 0.into();
|
let mut offset: TextSize = 0.into();
|
||||||
let marker: fn(char) -> bool = if line.contains('^') { |c| c == '^' } else { |c| c == '|' };
|
let marker: fn(char) -> bool = if line.contains('^') { |c| c == '^' } else { |c| c == '|' };
|
||||||
loop {
|
while let Some(idx) = line.find(marker) {
|
||||||
match line.find(marker) {
|
offset += TextSize::try_from(idx).unwrap();
|
||||||
Some(idx) => {
|
line = &line[idx..];
|
||||||
offset += TextSize::try_from(idx).unwrap();
|
|
||||||
line = &line[idx..];
|
|
||||||
}
|
|
||||||
None => break,
|
|
||||||
};
|
|
||||||
|
|
||||||
let mut len = line.chars().take_while(|&it| it == '^').count();
|
let mut len = line.chars().take_while(|&it| it == '^').count();
|
||||||
let mut continuation = false;
|
let mut continuation = false;
|
||||||
|
@ -94,18 +94,16 @@ fn generate_nodes(kinds: KindsSrc<'_>, grammar: &AstSrc) -> Result<String> {
|
|||||||
support::children(&self.syntax)
|
support::children(&self.syntax)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else if let Some(token_kind) = field.token_kind() {
|
||||||
if let Some(token_kind) = field.token_kind() {
|
quote! {
|
||||||
quote! {
|
pub fn #method_name(&self) -> Option<#ty> {
|
||||||
pub fn #method_name(&self) -> Option<#ty> {
|
support::token(&self.syntax, #token_kind)
|
||||||
support::token(&self.syntax, #token_kind)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
quote! {
|
} else {
|
||||||
pub fn #method_name(&self) -> Option<#ty> {
|
quote! {
|
||||||
support::child(&self.syntax)
|
pub fn #method_name(&self) -> Option<#ty> {
|
||||||
}
|
support::child(&self.syntax)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user