Skip to content

Commit 05eb741

Browse files
committed
将特性class_ctor命名调整为constructor
1 parent 00885f1 commit 05eb741

File tree

8 files changed

+36
-37
lines changed

8 files changed

+36
-37
lines changed

crates/emmylua_code_analysis/resources/std/builtin.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,4 +162,4 @@
162162
--- - `name` - The name of the constructor
163163
--- - `strip_self` - Whether the `self` parameter can be omitted when calling the constructor, defaults to `true`
164164
--- - `return_self` - Whether the constructor is forced to return `self`, defaults to `true`
165-
---@attribute class_ctor(name: string, strip_self: boolean?, return_self: boolean?)
165+
---@attribute constructor(name: string, strip_self: boolean?, return_self: boolean?)

crates/emmylua_code_analysis/src/compilation/analyzer/lua/call.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use emmylua_parser::LuaCallExpr;
22

33
use crate::{
44
InferFailReason, LuaType,
5-
compilation::analyzer::{lua::LuaAnalyzer, unresolve::UnResolveClassCtor},
5+
compilation::analyzer::{lua::LuaAnalyzer, unresolve::UnResolveConstructor},
66
};
77

88
pub fn analyze_call(analyzer: &mut LuaAnalyzer, call_expr: LuaCallExpr) -> Option<()> {
@@ -15,8 +15,8 @@ pub fn analyze_call(analyzer: &mut LuaAnalyzer, call_expr: LuaCallExpr) -> Optio
1515
for (idx, param_info) in signature.param_docs.iter() {
1616
if let Some(ref attrs) = param_info.attributes {
1717
for attr in attrs.iter() {
18-
if attr.id.get_name() == "class_ctor" {
19-
let unresolve = UnResolveClassCtor {
18+
if attr.id.get_name() == "constructor" {
19+
let unresolve = UnResolveConstructor {
2020
file_id: analyzer.file_id,
2121
call_expr: call_expr.clone(),
2222
signature_id,

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use std::collections::HashMap;
77

88
use crate::{
99
FileId, InferFailReason, LuaMemberFeature, LuaSemanticDeclId,
10-
compilation::analyzer::{AnalysisPipeline, unresolve::resolve::try_resolve_class_ctor},
10+
compilation::analyzer::{AnalysisPipeline, unresolve::resolve::try_resolve_constructor},
1111
db_index::{DbIndex, LuaDeclId, LuaMemberId, LuaSignatureId},
1212
profile::Profile,
1313
};
@@ -201,8 +201,8 @@ fn try_resolve(
201201
UnResolve::TableField(un_resolve_table_field) => {
202202
try_resolve_table_field(db, cache, un_resolve_table_field)
203203
}
204-
UnResolve::ClassCtor(un_resolve_class_ctor) => {
205-
try_resolve_class_ctor(db, cache, un_resolve_class_ctor)
204+
UnResolve::ClassCtor(un_resolve_constructor) => {
205+
try_resolve_constructor(db, cache, un_resolve_constructor)
206206
}
207207
};
208208

@@ -263,7 +263,7 @@ pub enum UnResolve {
263263
ClosureParentParams(Box<UnResolveParentClosureParams>),
264264
ModuleRef(Box<UnResolveModuleRef>),
265265
TableField(Box<UnResolveTableField>),
266-
ClassCtor(Box<UnResolveClassCtor>),
266+
ClassCtor(Box<UnResolveConstructor>),
267267
}
268268

269269
#[allow(dead_code)]
@@ -286,7 +286,7 @@ impl UnResolve {
286286
}
287287
UnResolve::TableField(un_resolve_table_field) => Some(un_resolve_table_field.file_id),
288288
UnResolve::ModuleRef(_) => None,
289-
UnResolve::ClassCtor(un_resolve_class_ctor) => Some(un_resolve_class_ctor.file_id),
289+
UnResolve::ClassCtor(un_resolve_constructor) => Some(un_resolve_constructor.file_id),
290290
}
291291
}
292292
}
@@ -435,15 +435,15 @@ impl From<UnResolveTableField> for UnResolve {
435435
}
436436

437437
#[derive(Debug)]
438-
pub struct UnResolveClassCtor {
438+
pub struct UnResolveConstructor {
439439
pub file_id: FileId,
440440
pub call_expr: LuaCallExpr,
441441
pub signature_id: LuaSignatureId,
442442
pub param_idx: usize,
443443
}
444444

445-
impl From<UnResolveClassCtor> for UnResolve {
446-
fn from(un_resolve_class_ctor: UnResolveClassCtor) -> Self {
447-
UnResolve::ClassCtor(Box::new(un_resolve_class_ctor))
445+
impl From<UnResolveConstructor> for UnResolve {
446+
fn from(un_resolve_constructor: UnResolveConstructor) -> Self {
447+
UnResolve::ClassCtor(Box::new(un_resolve_constructor))
448448
}
449449
}

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

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::{
1111
compilation::analyzer::{
1212
common::{add_member, bind_type},
1313
lua::{analyze_return_point, infer_for_range_iter_expr_func},
14-
unresolve::UnResolveClassCtor,
14+
unresolve::UnResolveConstructor,
1515
},
1616
db_index::{DbIndex, LuaMemberOwner, LuaType},
1717
find_members_with_key,
@@ -252,36 +252,35 @@ pub fn try_resolve_module_ref(
252252
Ok(())
253253
}
254254

255-
#[allow(unused)]
256-
pub fn try_resolve_class_ctor(
255+
pub fn try_resolve_constructor(
257256
db: &mut DbIndex,
258257
cache: &mut LuaInferCache,
259-
unresolve_class_ctor: &mut UnResolveClassCtor,
258+
unresolve_constructor: &mut UnResolveConstructor,
260259
) -> ResolveResult {
261260
let signature = db
262261
.get_signature_index()
263-
.get(&unresolve_class_ctor.signature_id)
262+
.get(&unresolve_constructor.signature_id)
264263
.ok_or(InferFailReason::None)?;
265264
let param_info = signature
266-
.get_param_info_by_id(unresolve_class_ctor.param_idx)
265+
.get_param_info_by_id(unresolve_constructor.param_idx)
267266
.ok_or(InferFailReason::None)?;
268-
let class_ctor_use = param_info
267+
let constructor_use = param_info
269268
.attributes
270269
.iter()
271270
.flatten()
272-
.find(|attr| attr.id.get_name() == "class_ctor")
271+
.find(|attr| attr.id.get_name() == "constructor")
273272
.ok_or(InferFailReason::None)?;
274273
let LuaType::DocStringConst(target_signature_name) =
275-
class_ctor_use.args.first().ok_or(InferFailReason::None)?
274+
constructor_use.args.first().ok_or(InferFailReason::None)?
276275
else {
277276
return Err(InferFailReason::None);
278277
};
279-
let target_type_decl_id = get_class_ctor_target_type(
278+
let target_type_decl_id = get_constructor_target_type(
280279
db,
281280
cache,
282281
&param_info.type_ref,
283-
unresolve_class_ctor.call_expr.clone(),
284-
unresolve_class_ctor.param_idx,
282+
unresolve_constructor.call_expr.clone(),
283+
unresolve_constructor.param_idx,
285284
)
286285
.ok_or(InferFailReason::None)?;
287286
let target_type = LuaType::Ref(target_type_decl_id);
@@ -290,14 +289,14 @@ pub fn try_resolve_class_ctor(
290289
find_members_with_key(db, &target_type, member_key, false).ok_or(InferFailReason::None)?;
291290
let ctor_signature_member = members.first().ok_or(InferFailReason::None)?;
292291
let strip_self = {
293-
if let Some(LuaType::DocBooleanConst(strip_self)) = class_ctor_use.args.get(1) {
292+
if let Some(LuaType::DocBooleanConst(strip_self)) = constructor_use.args.get(1) {
294293
*strip_self
295294
} else {
296295
true
297296
}
298297
};
299298
let return_self = {
300-
if let Some(LuaType::DocBooleanConst(return_self)) = class_ctor_use.args.get(2) {
299+
if let Some(LuaType::DocBooleanConst(return_self)) = constructor_use.args.get(2) {
301300
*return_self
302301
} else {
303302
true
@@ -358,7 +357,7 @@ fn set_signature_to_default_call(
358357
Some(())
359358
}
360359

361-
fn get_class_ctor_target_type(
360+
fn get_constructor_target_type(
362361
db: &DbIndex,
363362
cache: &mut LuaInferCache,
364363
param_type: &LuaType,

crates/emmylua_code_analysis/src/compilation/test/annotation_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ mod test {
131131
ws.def(
132132
r#"
133133
---@generic T
134-
---@param [class_ctor("__init")] name `T`
134+
---@param [constructor("__init")] name `T`
135135
---@return T
136136
function meta(name)
137137
end

crates/emmylua_code_analysis/src/compilation/test/attribute_test.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ mod test {
6666
}
6767

6868
#[test]
69-
fn test_class_ctor() {
69+
fn test_constructor() {
7070
let mut ws = VirtualWorkspace::new();
7171

7272
ws.def_files(vec![
@@ -79,10 +79,10 @@ mod test {
7979
(
8080
"meta.lua",
8181
r#"
82-
---@attribute class_ctor(name: string, strip_self: boolean?, return_self: boolean?)
82+
---@attribute constructor(name: string, strip_self: boolean?, return_self: boolean?)
8383
8484
---@generic T
85-
---@param [class_ctor("__init")] name `T`
85+
---@param [constructor("__init")] name `T`
8686
---@return T
8787
function meta(name)
8888
end
@@ -92,10 +92,10 @@ mod test {
9292

9393
// ws.def(
9494
// r#"
95-
// ---@attribute class_ctor(name: string, strip_self: boolean?, return_self: boolean?)
95+
// ---@attribute constructor(name: string, strip_self: boolean?, return_self: boolean?)
9696

9797
// ---@generic T
98-
// ---@param [class_ctor("__init")] name `T`
98+
// ---@param [constructor("__init")] name `T`
9999
// ---@return T
100100
// function meta(name)
101101
// end

crates/emmylua_code_analysis/src/compilation/test/overload_test.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ mod test {
3232
let mut ws = VirtualWorkspace::new();
3333
ws.def(
3434
r#"
35-
---@attribute class_ctor(name: string, strip_self: boolean?, return_self: boolean?)
35+
---@attribute constructor(name: string, strip_self: boolean?, return_self: boolean?)
3636
3737
---@generic T
38-
---@param [class_ctor("__init")] name `T`
38+
---@param [constructor("__init")] name `T`
3939
---@return T
4040
function meta(name)
4141
end

crates/emmylua_ls/src/handlers/test/inlay_hint_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ mod tests {
140140
ws.def(
141141
r#"
142142
---@generic T
143-
---@param [class_ctor("__init")] name `T`
143+
---@param [constructor("__init")] name `T`
144144
---@return T
145145
function meta(name)
146146
end

0 commit comments

Comments
 (0)