Skip to content

Commit 1daa739

Browse files
committed
clean code
1 parent 58f4340 commit 1daa739

File tree

1 file changed

+1
-97
lines changed

1 file changed

+1
-97
lines changed

crates/emmylua_code_analysis/src/semantic/infer/infer_index.rs

Lines changed: 1 addition & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,6 @@ fn infer_custom_type_member(
224224
let owner = LuaMemberOwner::Type(prefix_type_id.clone());
225225
let index_key = index_expr.get_index_key().ok_or(InferFailReason::None)?;
226226
let key: LuaMemberKey = index_key.clone().into();
227-
dbg!(&db.get_member_index().get_members(&owner));
228227
if let Some(member_item) = db.get_member_index().get_member_item(&owner, &key) {
229228
return member_item.resolve_type(db);
230229
}
@@ -255,12 +254,9 @@ fn infer_custom_type_member(
255254
if let LuaIndexKey::Expr(expr) = index_key {
256255
if let Some(keys) = expr_to_member_key(db, cache, &expr) {
257256
let mut result_type = Vec::new();
258-
dbg!(&keys);
259257
for key in keys {
260258
// 解决 enum[enum] | class[class] 的情况
261-
if let Some(member_type) =
262-
get_expr_key_members(db, type_decl, &key, &owner, cache, infer_guard, &index_expr)
263-
{
259+
if let Some(member_type) = get_expr_key_members(db, &key, &owner) {
264260
if !result_type.contains(&member_type) {
265261
result_type.push(member_type);
266262
}
@@ -286,19 +282,11 @@ fn infer_custom_type_member(
286282
Err(InferFailReason::FieldDotFound)
287283
}
288284

289-
#[allow(unused)]
290285
fn get_expr_key_members(
291286
db: &DbIndex,
292-
type_decl: &LuaTypeDecl,
293287
key: &LuaMemberKey,
294288
owner: &LuaMemberOwner,
295-
cache: &mut LuaInferCache,
296-
infer_guard: &mut InferGuard,
297-
index_expr: &LuaIndexMemberExpr,
298289
) -> Option<LuaType> {
299-
// if !type_decl.is_enum() {
300-
// return None;
301-
// }
302290
let LuaMemberKey::Expr(LuaType::Ref(index_id)) = key else {
303291
return None;
304292
};
@@ -322,90 +310,6 @@ fn get_expr_key_members(
322310
}
323311
}
324312

325-
// 此时是 enum[enum] 的情况
326-
// if index_type_decl == type_decl {
327-
// // 只在包含 [key] 属性时才允许
328-
// if !type_decl.is_enum_key() {
329-
// return None;
330-
// }
331-
332-
// match db.get_member_index().get_members(&owner) {
333-
// Some(members) => {
334-
// for member in members {
335-
// db.get_type_index()
336-
// .get_type_cache(&member.get_id().into())
337-
// .map(|it| it.as_type())
338-
// .map(|it| result.push(it.clone()));
339-
// }
340-
// }
341-
// // enum 没有成员时, 返回 unknown
342-
// None => {
343-
// result.push(LuaType::Unknown);
344-
// }
345-
// }
346-
// }
347-
348-
if index_type_decl.is_alias() {
349-
// let origin_type = index_type_decl.get_alias_origin(db, None)?;
350-
// let mut member_keys = Vec::new();
351-
// get_all_member_key(db, index_type_decl, &origin_type, &mut member_keys);
352-
// for key in member_keys {
353-
// if let Some(member_item) = db.get_member_index().get_member_item(&owner, &key) {
354-
// if let Ok(member_type) = member_item.resolve_type(db) {
355-
// if !result.contains(&member_type) {
356-
// result.push(member_type);
357-
// }
358-
// }
359-
// }
360-
// }
361-
// dbg!(&member_keys);
362-
// dbg!(&origin_type);
363-
// match &origin_type {
364-
// LuaType::Union(union_type) => {
365-
// for typ in union_type.get_types() {
366-
// match typ {
367-
// LuaType::Ref(id) => {
368-
// let type_decl = db.get_type_index().get_type_decl(id)?;
369-
// dbg!(&type_decl);
370-
// if type_decl.is_enum() {
371-
// let a = infer_member_by_member_key(
372-
// db,
373-
// cache,
374-
// typ,
375-
// index_expr.clone(),
376-
// infer_guard,
377-
// );
378-
// dbg!(&a);
379-
// }
380-
// }
381-
// _ => {}
382-
// }
383-
// }
384-
// }
385-
// _ => {}
386-
// }
387-
388-
// if let LuaType::MultiLineUnion(types) = &origin_type {
389-
// for (typ, _) in types.get_unions() {
390-
// let member_key: LuaMemberKey = match typ {
391-
// LuaType::DocStringConst(s) => (*s).to_string().into(),
392-
// LuaType::IntegerConst(i) => (*i).into(),
393-
// _ => continue,
394-
// };
395-
396-
// if let Some(member_item) =
397-
// db.get_member_index().get_member_item(&owner, &member_key)
398-
// {
399-
// if let Ok(member_type) = member_item.resolve_type(db) {
400-
// if !result.contains(&member_type) {
401-
// result.push(member_type);
402-
// }
403-
// }
404-
// }
405-
// }
406-
// }
407-
}
408-
409313
return match result.len() {
410314
0 => None,
411315
1 => Some(result[0].clone()),

0 commit comments

Comments
 (0)