Skip to content

Commit 2b57b80

Browse files
authored
Merge pull request #773 from ribru17/more_clippy
refactor: address all lint warnings in `emmylua_code_analysis`
2 parents 1742733 + 25fcb59 commit 2b57b80

File tree

154 files changed

+2119
-2363
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+2119
-2363
lines changed

crates/emmylua_check/src/output/json_output_writer.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ impl JsonOutputWriter {
2020
let output = match output {
2121
OutputDestination::Stdout => None,
2222
OutputDestination::File(path) => {
23-
if let Some(parent) = path.parent() {
24-
if !parent.exists() {
25-
std::fs::create_dir_all(parent).unwrap();
26-
}
23+
if let Some(parent) = path.parent()
24+
&& !parent.exists()
25+
{
26+
std::fs::create_dir_all(parent).unwrap();
2727
}
2828

2929
Some(std::fs::File::create(path).unwrap())

crates/emmylua_check/src/output/sarif_output_writer.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ impl SarifOutputWriter {
2323
let output = match output {
2424
OutputDestination::Stdout => None,
2525
OutputDestination::File(path) => {
26-
if let Some(parent) = path.parent() {
27-
if !parent.exists() {
28-
std::fs::create_dir_all(parent).unwrap();
29-
}
26+
if let Some(parent) = path.parent()
27+
&& !parent.exists()
28+
{
29+
std::fs::create_dir_all(parent).unwrap();
3030
}
3131
Some(std::fs::File::create(path).unwrap())
3232
}
@@ -115,7 +115,7 @@ impl OutputWriter for SarifOutputWriter {
115115
}
116116

117117
let file_path = db.get_vfs().get_file_path(&file_id).unwrap();
118-
let file_uri = file_path_to_uri(&file_path).unwrap().as_str().to_string();
118+
let file_uri = file_path_to_uri(file_path).unwrap().as_str().to_string();
119119
self.ensure_tool();
120120

121121
for diagnostic in diagnostics {

crates/emmylua_check/src/terminal_display/display.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -395,12 +395,10 @@ impl TerminalDisplay {
395395
} else {
396396
println!("\nCheck completed with warnings");
397397
}
398+
} else if self.supports_color {
399+
println!("\n{}", Color::Green.bold().paint("Check successful"));
398400
} else {
399-
if self.supports_color {
400-
println!("\n{}", Color::Green.bold().paint("Check successful"));
401-
} else {
402-
println!("\nCheck successful");
403-
}
401+
println!("\nCheck successful");
404402
}
405403
}
406404
}

crates/emmylua_code_analysis/src/compilation/analyzer/common/migrate_global_member.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ fn migrate_global_member_to_decl(db: &mut DbIndex, decl_id: LuaDeclId) -> Option
2424
return None;
2525
}
2626

27-
let owner_id = get_owner_id(db, &decl_id.clone().into())?;
27+
let owner_id = get_owner_id(db, &decl_id.into())?;
2828

2929
let name = decl.get_name();
30-
let global_id = GlobalId::new(name.into());
30+
let global_id = GlobalId::new(name);
3131
let members = db
3232
.get_member_index()
3333
.get_members(&LuaMemberOwner::GlobalPath(global_id))?
@@ -47,7 +47,7 @@ fn migrate_global_member_to_decl(db: &mut DbIndex, decl_id: LuaDeclId) -> Option
4747
fn migrate_global_member_to_member(db: &mut DbIndex, member_id: LuaMemberId) -> Option<()> {
4848
let member = db.get_member_index().get_member(&member_id)?;
4949
let global_id = member.get_global_id()?;
50-
let owner_id = get_owner_id(db, &member_id.clone().into())?;
50+
let owner_id = get_owner_id(db, &member_id.into())?;
5151

5252
let members = db
5353
.get_member_index()

crates/emmylua_code_analysis/src/compilation/analyzer/common/mod.rs

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,19 @@ pub fn bind_type(
1616

1717
if decl_type_cache.is_none() {
1818
// type backward
19-
if type_cache.is_infer() {
20-
if let LuaTypeOwner::Decl(decl_id) = &type_owner {
21-
if let Some(decl_ref) = db
22-
.get_reference_index()
23-
.get_decl_references(&decl_id.file_id, decl_id)
24-
{
25-
if decl_ref.mutable {
26-
match &type_cache.as_type() {
27-
LuaType::IntegerConst(_) => {
28-
type_cache = LuaTypeCache::InferType(LuaType::Integer)
29-
}
30-
LuaType::StringConst(_) => {
31-
type_cache = LuaTypeCache::InferType(LuaType::String)
32-
}
33-
LuaType::BooleanConst(_) => {
34-
type_cache = LuaTypeCache::InferType(LuaType::Boolean)
35-
}
36-
LuaType::FloatConst(_) => {
37-
type_cache = LuaTypeCache::InferType(LuaType::Number)
38-
}
39-
_ => {}
40-
}
41-
}
42-
}
19+
if type_cache.is_infer()
20+
&& let LuaTypeOwner::Decl(decl_id) = &type_owner
21+
&& let Some(decl_ref) = db
22+
.get_reference_index()
23+
.get_decl_references(&decl_id.file_id, decl_id)
24+
&& decl_ref.mutable
25+
{
26+
match &type_cache.as_type() {
27+
LuaType::IntegerConst(_) => type_cache = LuaTypeCache::InferType(LuaType::Integer),
28+
LuaType::StringConst(_) => type_cache = LuaTypeCache::InferType(LuaType::String),
29+
LuaType::BooleanConst(_) => type_cache = LuaTypeCache::InferType(LuaType::Boolean),
30+
LuaType::FloatConst(_) => type_cache = LuaTypeCache::InferType(LuaType::Number),
31+
_ => {}
4332
}
4433
}
4534

@@ -59,8 +48,8 @@ fn merge_def_type(db: &mut DbIndex, decl_type: LuaType, expr_type: LuaType, merg
5948
return;
6049
}
6150

62-
match &decl_type {
63-
LuaType::Def(def) => match &expr_type {
51+
if let LuaType::Def(def) = &decl_type {
52+
match &expr_type {
6453
LuaType::TableConst(in_filed_range) => {
6554
merge_def_type_with_table(db, def.clone(), in_filed_range.clone());
6655
}
@@ -69,8 +58,7 @@ fn merge_def_type(db: &mut DbIndex, decl_type: LuaType, expr_type: LuaType, merg
6958
merge_def_type(db, base_ref.clone(), expr_type, merge_level + 1);
7059
}
7160
_ => {}
72-
},
73-
_ => {}
61+
}
7462
}
7563
}
7664

@@ -104,7 +92,7 @@ pub fn add_member(db: &mut DbIndex, owner: LuaMemberOwner, member_id: LuaMemberI
10492
}
10593

10694
fn get_owner_id(db: &DbIndex, type_owner: &LuaTypeOwner) -> Option<LuaMemberOwner> {
107-
let type_cache = db.get_type_index().get_type_cache(&type_owner)?;
95+
let type_cache = db.get_type_index().get_type_cache(type_owner)?;
10896
match type_cache.as_type() {
10997
LuaType::Ref(type_id) => Some(LuaMemberOwner::Type(type_id.clone())),
11098
LuaType::TableConst(id) => Some(LuaMemberOwner::Element(id.clone())),

crates/emmylua_code_analysis/src/compilation/analyzer/decl/exprs.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ pub fn analyze_name_expr(analyzer: &mut DeclAnalyzer, expr: LuaNameExpr) -> Opti
2222
let decl_id = LuaDeclId::new(file_id, position);
2323
let (decl_id, is_local) = if analyzer.decl.get_decl(&decl_id).is_some() {
2424
(Some(decl_id), false)
25-
} else if let Some(decl) = analyzer.find_decl(&name, position) {
25+
} else if let Some(decl) = analyzer.find_decl(name, position) {
2626
if decl.is_local() {
2727
// reference local variable
2828
(Some(decl.get_id()), true)
@@ -197,7 +197,7 @@ fn analyze_closure_params(
197197
let signature = analyzer
198198
.db
199199
.get_signature_index_mut()
200-
.get_or_create(signature_id.clone());
200+
.get_or_create(*signature_id);
201201
let params = closure.get_params_list()?.get_params();
202202
for param in params {
203203
let name = if let Some(name_token) = param.get_name_token() {
@@ -306,7 +306,7 @@ pub fn analyze_literal_expr(analyzer: &mut DeclAnalyzer, expr: LuaLiteralExpr) -
306306
.map(|_| decl_id)
307307
.or_else(|| {
308308
analyzer
309-
.find_decl(&dots_token.get_text(), position)
309+
.find_decl(dots_token.get_text(), position)
310310
.and_then(|decl| decl.is_local().then(|| decl.get_id()))
311311
});
312312

@@ -326,17 +326,17 @@ pub fn analyze_literal_expr(analyzer: &mut DeclAnalyzer, expr: LuaLiteralExpr) -
326326
pub fn analyze_call_expr(analyzer: &mut DeclAnalyzer, expr: LuaCallExpr) -> Option<()> {
327327
if expr.is_require() {
328328
let args = expr.get_args_list()?;
329-
if let Some(LuaExpr::LiteralExpr(literal_expr)) = args.get_args().next() {
330-
if let Some(LuaLiteralToken::String(string_token)) = literal_expr.get_literal() {
331-
let module_path = string_token.get_value();
332-
let file_id = analyzer.get_file_id();
333-
let module_info = analyzer.db.get_module_index().find_module(&module_path)?;
334-
let module_file_id = module_info.file_id;
335-
analyzer
336-
.db
337-
.get_file_dependencies_index_mut()
338-
.add_required_file(file_id, module_file_id);
339-
}
329+
if let Some(LuaExpr::LiteralExpr(literal_expr)) = args.get_args().next()
330+
&& let Some(LuaLiteralToken::String(string_token)) = literal_expr.get_literal()
331+
{
332+
let module_path = string_token.get_value();
333+
let file_id = analyzer.get_file_id();
334+
let module_info = analyzer.db.get_module_index().find_module(&module_path)?;
335+
let module_file_id = module_info.file_id;
336+
analyzer
337+
.db
338+
.get_file_dependencies_index_mut()
339+
.add_required_file(file_id, module_file_id);
340340
}
341341
}
342342

crates/emmylua_code_analysis/src/compilation/analyzer/decl/members.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,11 @@ pub fn find_index_owner(
5454
}
5555
_ => {}
5656
}
57-
} else {
58-
if let Some(access_path) = index_expr.get_access_path() {
59-
return (
60-
LuaMemberOwner::LocalUnresolve,
61-
Some(GlobalId(SmolStr::new(access_path).into())),
62-
);
63-
}
57+
} else if let Some(access_path) = index_expr.get_access_path() {
58+
return (
59+
LuaMemberOwner::LocalUnresolve,
60+
Some(GlobalId(SmolStr::new(access_path).into())),
61+
);
6462
}
6563
}
6664

crates/emmylua_code_analysis/src/compilation/analyzer/decl/stats.rs

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,14 @@ pub fn analyze_local_stat(analyzer: &mut DeclAnalyzer, stat: LuaLocalStat) -> Op
3737

3838
let file_id = analyzer.get_file_id();
3939
let range = local_name.get_range();
40-
let expr_id = if let Some(expr) = value_expr_list.get(index) {
41-
Some(expr.get_syntax_id())
42-
} else {
43-
None
44-
};
40+
let expr_id = value_expr_list.get(index).map(|expr| expr.get_syntax_id());
4541

4642
let decl = LuaDecl::new(
4743
&name,
4844
file_id,
4945
range,
5046
LuaDeclExtra::Local {
51-
kind: local_name.syntax().kind().into(),
47+
kind: local_name.syntax().kind(),
5248
attrib,
5349
},
5450
expr_id,
@@ -62,11 +58,7 @@ pub fn analyze_local_stat(analyzer: &mut DeclAnalyzer, stat: LuaLocalStat) -> Op
6258
pub fn analyze_assign_stat(analyzer: &mut DeclAnalyzer, stat: LuaAssignStat) -> Option<()> {
6359
let (vars, value_exprs) = stat.get_var_and_expr_list();
6460
for (idx, var) in vars.iter().enumerate() {
65-
let value_expr_id = if let Some(expr) = value_exprs.get(idx) {
66-
Some(expr.get_syntax_id())
67-
} else {
68-
None
69-
};
61+
let value_expr_id = value_exprs.get(idx).map(|expr| expr.get_syntax_id());
7062

7163
match &var {
7264
LuaVarExpr::NameExpr(name_expr) => {
@@ -91,7 +83,7 @@ pub fn analyze_assign_stat(analyzer: &mut DeclAnalyzer, stat: LuaAssignStat) ->
9183
continue;
9284
}
9385

94-
if let Some(decl) = analyzer.find_decl(&name, position) {
86+
if let Some(decl) = analyzer.find_decl(name, position) {
9587
let decl_id = decl.get_id();
9688
analyzer
9789
.db
@@ -136,7 +128,7 @@ pub fn analyze_assign_stat(analyzer: &mut DeclAnalyzer, stat: LuaAssignStat) ->
136128

137129
analyzer.db.get_member_index_mut().add_member(owner, member);
138130
if let LuaMemberKey::Name(name) = &key {
139-
analyze_maybe_global_index_expr(analyzer, index_expr, &name, value_expr_id);
131+
analyze_maybe_global_index_expr(analyzer, index_expr, name, value_expr_id);
140132
}
141133
}
142134
}
@@ -160,7 +152,7 @@ fn analyze_maybe_global_index_expr(
160152
let position = index_expr.get_position();
161153
let name = name_token.get_name_text();
162154
let range = index_expr.get_range();
163-
if let Some(decl) = analyzer.find_decl(&name, position) {
155+
if let Some(decl) = analyzer.find_decl(name, position) {
164156
let decl_id = decl.get_id();
165157
analyzer
166158
.db
@@ -195,7 +187,7 @@ pub fn analyze_for_stat(analyzer: &mut DeclAnalyzer, stat: LuaForStat) -> Option
195187
file_id,
196188
range,
197189
LuaDeclExtra::Local {
198-
kind: it_var.syntax().kind().into(),
190+
kind: it_var.syntax().kind(),
199191
attrib: Some(LocalAttribute::IterConst),
200192
},
201193
None,
@@ -223,7 +215,7 @@ pub fn analyze_for_range_stat(analyzer: &mut DeclAnalyzer, stat: LuaForRangeStat
223215
file_id,
224216
range,
225217
LuaDeclExtra::Local {
226-
kind: var.syntax().kind().into(),
218+
kind: var.syntax().kind(),
227219
attrib: Some(LocalAttribute::IterConst),
228220
},
229221
None,
@@ -242,7 +234,7 @@ pub fn analyze_func_stat(analyzer: &mut DeclAnalyzer, stat: LuaFuncStat) -> Opti
242234
let position = name_token.get_position();
243235
let name = name_token.get_name_text();
244236
let range = name_token.get_range();
245-
if analyzer.find_decl(&name, position).is_none() {
237+
if analyzer.find_decl(name, position).is_none() {
246238
let decl = LuaDecl::new(
247239
name,
248240
file_id,
@@ -287,7 +279,7 @@ pub fn analyze_func_stat(analyzer: &mut DeclAnalyzer, stat: LuaFuncStat) -> Opti
287279
.add_member(owner_id, member);
288280

289281
if let LuaMemberKey::Name(name) = &key {
290-
analyze_maybe_global_index_expr(analyzer, &index_expr, &name, None);
282+
analyze_maybe_global_index_expr(analyzer, &index_expr, name, None);
291283
}
292284
LuaSemanticDeclId::Member(member_id)
293285
}
@@ -317,7 +309,7 @@ pub fn analyze_local_func_stat(analyzer: &mut DeclAnalyzer, stat: LuaLocalFuncSt
317309
file_id,
318310
range,
319311
LuaDeclExtra::Local {
320-
kind: local_name.syntax().kind().into(),
312+
kind: local_name.syntax().kind(),
321313
attrib: None,
322314
},
323315
None,

crates/emmylua_code_analysis/src/compilation/analyzer/doc/diagnostic_tags.rs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,13 @@ fn analyze_diagnostic_disable(
3434
let comment = analyzer.comment.clone();
3535
let owner_block = comment.ancestors::<LuaBlock>().next()?;
3636
let owner_block_range = owner_block.get_range();
37-
let is_file_disable = if let Some(_) = owner_block.get_parent::<LuaChunk>() {
38-
true
39-
} else {
40-
false
41-
};
37+
let is_file_disable = owner_block.get_parent::<LuaChunk>().is_some();
4238

4339
let diagnostic_index = analyzer.db.get_diagnostic_index_mut();
4440
if let Some(diagnostic_code_list) = diagnostic.get_code_list() {
4541
for code in diagnostic_code_list.get_codes() {
4642
let name = code.get_name_text();
47-
let diagnostic_code = if let Some(code) = DiagnosticCode::from_str(name).ok() {
43+
let diagnostic_code = if let Ok(code) = DiagnosticCode::from_str(name) {
4844
code
4945
} else {
5046
continue;
@@ -79,15 +75,15 @@ fn analyze_diagnostic_disable_next_line(
7975
let comment = analyzer.comment.clone();
8076
let comment_range = comment.get_range();
8177
let document = analyzer.db.get_vfs().get_document(&analyzer.file_id)?;
82-
let comment_end_line = document.get_line(comment_range.end().into())?;
78+
let comment_end_line = document.get_line(comment_range.end())?;
8379
let line_range = document.get_line_range(comment_end_line + 1)?;
8480
let valid_range = TextRange::new(comment_range.start(), line_range.end());
8581

8682
let diagnostic_index = analyzer.db.get_diagnostic_index_mut();
8783
if let Some(diagnostic_code_list) = diagnostic.get_code_list() {
8884
for code in diagnostic_code_list.get_codes() {
8985
let name = code.get_name_text();
90-
let diagnostic_code = if let Some(code) = DiagnosticCode::from_str(name).ok() {
86+
let diagnostic_code = if let Ok(code) = DiagnosticCode::from_str(name) {
9187
code
9288
} else {
9389
continue;
@@ -115,14 +111,14 @@ fn analyze_diagnostic_disable_line(
115111
let comment = analyzer.comment.clone();
116112
let comment_range = comment.get_range();
117113
let document = analyzer.db.get_vfs().get_document(&analyzer.file_id)?;
118-
let comment_end_line = document.get_line(comment_range.end().into())?;
114+
let comment_end_line = document.get_line(comment_range.end())?;
119115
let valid_range = document.get_line_range(comment_end_line)?;
120116

121117
let diagnostic_index = analyzer.db.get_diagnostic_index_mut();
122118
if let Some(diagnostic_code_list) = diagnostic.get_code_list() {
123119
for code in diagnostic_code_list.get_codes() {
124120
let name = code.get_name_text();
125-
let diagnostic_code = if let Some(code) = DiagnosticCode::from_str(name).ok() {
121+
let diagnostic_code = if let Ok(code) = DiagnosticCode::from_str(name) {
126122
code
127123
} else {
128124
continue;
@@ -151,7 +147,7 @@ fn analyze_diagnostic_enable(
151147
let diagnostic_code_list = diagnostic.get_code_list()?;
152148
for code in diagnostic_code_list.get_codes() {
153149
let name = code.get_name_text();
154-
let diagnostic_code = if let Some(code) = DiagnosticCode::from_str(name).ok() {
150+
let diagnostic_code = if let Ok(code) = DiagnosticCode::from_str(name) {
155151
code
156152
} else {
157153
continue;

0 commit comments

Comments
 (0)