Skip to content

Commit 3ed9d94

Browse files
committed
fix clippy warning and error
1 parent aabd699 commit 3ed9d94

File tree

16 files changed

+100
-99
lines changed

16 files changed

+100
-99
lines changed

crates/emmylua_code_analysis/src/compilation/analyzer/unresolve/find_decl_function.rs

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
use std::sync::Arc;
2-
31
use emmylua_parser::{LuaAstNode, LuaIndexKey, LuaIndexMemberExpr};
42
use rowan::TextRange;
53
use smol_str::SmolStr;
64

75
use crate::{
8-
InFiled, InferFailReason, LuaInferCache, LuaInstanceType, LuaMemberId, LuaMemberOwner,
9-
LuaOperatorOwner, TypeOps, TypeSubstitutor, check_type_compact,
6+
InFiled, InferFailReason, InferGuardRef, LuaInferCache, LuaInstanceType, LuaMemberId,
7+
LuaMemberOwner, LuaOperatorOwner, TypeOps, TypeSubstitutor, check_type_compact,
108
db_index::{
119
DbIndex, LuaGenericType, LuaIntersectionType, LuaMemberKey, LuaObjectType,
1210
LuaOperatorMetaMethod, LuaTupleType, LuaType, LuaTypeDeclId, LuaUnionType,
@@ -112,7 +110,7 @@ fn find_function_type_by_member_key(
112110
cache: &mut LuaInferCache,
113111
prefix_type: &LuaType,
114112
index_expr: LuaIndexMemberExpr,
115-
infer_guard: &Arc<InferGuard>,
113+
infer_guard: &InferGuardRef,
116114
deep_guard: &mut DeepLevel,
117115
) -> FunctionTypeResult {
118116
match &prefix_type {
@@ -179,7 +177,7 @@ fn find_custom_type_function_member(
179177
cache: &mut LuaInferCache,
180178
prefix_type_id: LuaTypeDeclId,
181179
index_expr: LuaIndexMemberExpr,
182-
infer_guard: &Arc<InferGuard>,
180+
infer_guard: &InferGuardRef,
183181
deep_guard: &mut DeepLevel,
184182
) -> FunctionTypeResult {
185183
infer_guard.check(&prefix_type_id)?;
@@ -323,7 +321,7 @@ fn find_union_function_member(
323321
cache: &mut LuaInferCache,
324322
union_type: &LuaUnionType,
325323
index_expr: LuaIndexMemberExpr,
326-
infer_guard: &Arc<InferGuard>,
324+
infer_guard: &InferGuardRef,
327325
deep_guard: &mut DeepLevel,
328326
) -> FunctionTypeResult {
329327
let mut member_types = Vec::new();
@@ -352,7 +350,7 @@ fn index_generic_members_from_super_generics(
352350
type_decl_id: &LuaTypeDeclId,
353351
substitutor: &TypeSubstitutor,
354352
index_expr: LuaIndexMemberExpr,
355-
infer_guard: &Arc<InferGuard>,
353+
infer_guard: &InferGuardRef,
356354
deep_guard: &mut DeepLevel,
357355
) -> Option<LuaType> {
358356
let type_index = db.get_type_index();
@@ -386,7 +384,7 @@ fn find_generic_member(
386384
cache: &mut LuaInferCache,
387385
generic_type: &LuaGenericType,
388386
index_expr: LuaIndexMemberExpr,
389-
infer_guard: &Arc<InferGuard>,
387+
infer_guard: &InferGuardRef,
390388
deep_guard: &mut DeepLevel,
391389
) -> FunctionTypeResult {
392390
let base_type = generic_type.get_base_type();
@@ -425,7 +423,7 @@ fn find_instance_member_decl_type(
425423
cache: &mut LuaInferCache,
426424
inst: &LuaInstanceType,
427425
index_expr: LuaIndexMemberExpr,
428-
infer_guard: &Arc<InferGuard>,
426+
infer_guard: &InferGuardRef,
429427
deep_guard: &mut DeepLevel,
430428
) -> FunctionTypeResult {
431429
let origin_type = inst.get_base();
@@ -444,7 +442,7 @@ fn find_function_type_by_operator(
444442
cache: &mut LuaInferCache,
445443
prefix_type: &LuaType,
446444
index_expr: LuaIndexMemberExpr,
447-
infer_guard: &Arc<InferGuard>,
445+
infer_guard: &InferGuardRef,
448446
deep_guard: &mut DeepLevel,
449447
) -> FunctionTypeResult {
450448
match &prefix_type {
@@ -577,7 +575,7 @@ fn find_member_by_index_custom_type(
577575
cache: &mut LuaInferCache,
578576
prefix_type_id: &LuaTypeDeclId,
579577
index_expr: LuaIndexMemberExpr,
580-
infer_guard: &Arc<InferGuard>,
578+
infer_guard: &InferGuardRef,
581579
deep_guard: &mut DeepLevel,
582580
) -> FunctionTypeResult {
583581
infer_guard.check(prefix_type_id)?;
@@ -691,7 +689,7 @@ fn find_member_by_index_union(
691689
cache: &mut LuaInferCache,
692690
union: &LuaUnionType,
693691
index_expr: LuaIndexMemberExpr,
694-
infer_guard: &Arc<InferGuard>,
692+
infer_guard: &InferGuardRef,
695693
deep_guard: &mut DeepLevel,
696694
) -> FunctionTypeResult {
697695
let mut member_type = LuaType::Unknown;
@@ -727,7 +725,7 @@ fn find_member_by_index_intersection(
727725
cache: &mut LuaInferCache,
728726
intersection: &LuaIntersectionType,
729727
index_expr: LuaIndexMemberExpr,
730-
infer_guard: &Arc<InferGuard>,
728+
infer_guard: &InferGuardRef,
731729
deep_guard: &mut DeepLevel,
732730
) -> FunctionTypeResult {
733731
for member in intersection.get_types() {
@@ -755,7 +753,7 @@ fn find_member_by_index_generic(
755753
cache: &mut LuaInferCache,
756754
generic: &LuaGenericType,
757755
index_expr: LuaIndexMemberExpr,
758-
infer_guard: &Arc<InferGuard>,
756+
infer_guard: &InferGuardRef,
759757
deep_guard: &mut DeepLevel,
760758
) -> FunctionTypeResult {
761759
let base_type = generic.get_base_type();

crates/emmylua_code_analysis/src/compilation/analyzer/unresolve/resolve_closure.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ use std::sync::Arc;
33
use emmylua_parser::{LuaAstNode, LuaIndexMemberExpr, LuaTableExpr, LuaVarExpr};
44

55
use crate::{
6-
DbIndex, InferFailReason, InferGuard, LuaDocParamInfo, LuaDocReturnInfo, LuaFunctionType,
7-
LuaInferCache, LuaSignature, LuaType, SignatureReturnStatus, TypeOps, get_real_type,
8-
infer_call_expr_func, infer_expr, infer_table_should_be,
6+
DbIndex, InferFailReason, InferGuard, InferGuardRef, LuaDocParamInfo, LuaDocReturnInfo,
7+
LuaFunctionType, LuaInferCache, LuaSignature, LuaType, SignatureReturnStatus, TypeOps,
8+
get_real_type, infer_call_expr_func, infer_expr, infer_table_should_be,
99
};
1010

1111
use super::{
@@ -28,7 +28,7 @@ pub fn try_resolve_call_closure_params(
2828
cache,
2929
call_expr.clone(),
3030
call_expr_type,
31-
&mut InferGuard::new(),
31+
&InferGuard::new(),
3232
None,
3333
)?;
3434

@@ -117,7 +117,7 @@ pub fn try_resolve_closure_return(
117117
cache,
118118
call_expr.clone(),
119119
call_expr_type,
120-
&mut InferGuard::new(),
120+
&InferGuard::new(),
121121
None,
122122
)?;
123123

@@ -280,7 +280,7 @@ fn resolve_closure_member_type(
280280
closure_params: &UnResolveParentClosureParams,
281281
member_type: &LuaType,
282282
self_type: Option<LuaType>,
283-
infer_guard: &Arc<InferGuard>,
283+
infer_guard: &InferGuardRef,
284284
) -> ResolveResult {
285285
match &member_type {
286286
LuaType::DocFunction(doc_func) => {

crates/emmylua_code_analysis/src/diagnostic/checker/deprecated.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ fn check_name_expr(
5050
.get_property_index()
5151
.get_property(&semantic_decl)?;
5252
if let Some(deprecated) = property.deprecated() {
53-
let depreacated_message = match deprecated {
53+
let deprecated_message = match deprecated {
5454
LuaDeprecated::Deprecated => "deprecated".to_string(),
5555
LuaDeprecated::DeprecatedWithMessage(message) => message.to_string(),
5656
};
5757

5858
context.add_diagnostic(
5959
DiagnosticCode::Deprecated,
6060
name_expr.get_range(),
61-
depreacated_message,
61+
deprecated_message,
6262
None,
6363
);
6464
}
@@ -85,7 +85,7 @@ fn check_index_expr(
8585
.get_property_index()
8686
.get_property(&semantic_decl)?;
8787
if let Some(deprecated) = property.deprecated() {
88-
let depreacated_message = match deprecated {
88+
let deprecated_message = match deprecated {
8989
LuaDeprecated::Deprecated => "deprecated".to_string(),
9090
LuaDeprecated::DeprecatedWithMessage(message) => message.to_string(),
9191
};
@@ -95,7 +95,7 @@ fn check_index_expr(
9595
context.add_diagnostic(
9696
DiagnosticCode::Deprecated,
9797
index_name_range,
98-
depreacated_message,
98+
deprecated_message,
9999
None,
100100
);
101101
}

crates/emmylua_code_analysis/src/semantic/guard.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
use std::{cell::RefCell, collections::HashSet, sync::Arc};
1+
use std::{cell::RefCell, collections::HashSet, rc::Rc};
22

33
use crate::{InferFailReason, LuaTypeDeclId};
44

5+
pub type InferGuardRef = Rc<InferGuard>;
6+
57
/// Guard to prevent infinite recursion
68
/// Some type may reference itself, so we need to check if we have already inferred this type
79
///
@@ -12,27 +14,27 @@ pub struct InferGuard {
1214
/// Current level's visited types
1315
current: RefCell<HashSet<LuaTypeDeclId>>,
1416
/// Parent guard (shared reference)
15-
parent: Option<Arc<InferGuard>>,
17+
parent: Option<Rc<InferGuard>>,
1618
}
1719

1820
impl InferGuard {
19-
pub fn new() -> Arc<Self> {
20-
Arc::new(Self {
21+
pub fn new() -> Rc<Self> {
22+
Rc::new(Self {
2123
current: RefCell::new(HashSet::default()),
2224
parent: None,
2325
})
2426
}
2527

2628
/// Create a child guard that inherits from parent
2729
/// This allows branching while preventing infinite recursion across the entire call stack
28-
pub fn fork(self: &Arc<Self>) -> Arc<Self> {
29-
Arc::new(Self {
30+
pub fn fork(self: &Rc<Self>) -> Rc<Self> {
31+
Rc::new(Self {
3032
current: RefCell::new(HashSet::default()),
31-
parent: Some(Arc::clone(self)),
33+
parent: Some(Rc::clone(self)),
3234
})
3335
}
3436

35-
/// Create a child guard from a non-Arc guard
37+
/// Create a child guard from a non-Rc guard
3638
/// This is a convenience method for when you have a stack-allocated guard
3739
pub fn fork_owned(&self) -> Self {
3840
Self {

crates/emmylua_code_analysis/src/semantic/infer/infer_call/mod.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@ use super::{
1111
},
1212
InferFailReason, InferResult,
1313
};
14-
use crate::semantic::{
15-
generic::instantiate_doc_function, infer::narrow::get_type_at_call_expr_inline_cast,
16-
};
1714
use crate::{
1815
CacheEntry, DbIndex, InFiled, LuaFunctionType, LuaGenericType, LuaInstanceType,
1916
LuaOperatorMetaMethod, LuaOperatorOwner, LuaSignatureId, LuaType, LuaTypeDeclId, LuaUnionType,
2017
};
18+
use crate::{
19+
InferGuardRef,
20+
semantic::{
21+
generic::instantiate_doc_function, infer::narrow::get_type_at_call_expr_inline_cast,
22+
},
23+
};
2124
use crate::{build_self_type, infer_self_type, semantic::infer_expr};
2225
use infer_require::infer_require_call;
2326
use infer_setmetatable::infer_setmetatable_call;
@@ -32,7 +35,7 @@ pub fn infer_call_expr_func(
3235
cache: &mut LuaInferCache,
3336
call_expr: LuaCallExpr,
3437
call_expr_type: LuaType,
35-
infer_guard: &Arc<InferGuard>,
38+
infer_guard: &InferGuardRef,
3639
args_count: Option<usize>,
3740
) -> InferCallFuncResult {
3841
let syntax_id = call_expr.get_syntax_id();
@@ -216,7 +219,7 @@ fn infer_type_doc_function(
216219
type_id: LuaTypeDeclId,
217220
call_expr: LuaCallExpr,
218221
call_expr_type: &LuaType,
219-
infer_guard: &Arc<InferGuard>,
222+
infer_guard: &InferGuardRef,
220223
args_count: Option<usize>,
221224
) -> InferCallFuncResult {
222225
infer_guard.check(&type_id)?;
@@ -287,7 +290,7 @@ fn infer_generic_type_doc_function(
287290
cache: &mut LuaInferCache,
288291
generic: &LuaGenericType,
289292
call_expr: LuaCallExpr,
290-
infer_guard: &Arc<InferGuard>,
293+
infer_guard: &InferGuardRef,
291294
args_count: Option<usize>,
292295
) -> InferCallFuncResult {
293296
let type_id = generic.get_base_type_id();
@@ -346,7 +349,7 @@ fn infer_generic_type_doc_function(
346349
if let LuaType::DocFunction(f) = new_f {
347350
overloads.push(f.clone());
348351
}
349-
// todo: support oveload?
352+
// todo: support overload?
350353
}
351354
_ => {}
352355
}

0 commit comments

Comments
 (0)