mirror of https://github.com/astral-sh/ruff
class_member_from_mro is it working?
This commit is contained in:
parent
83e3e67cd7
commit
a88517f13b
|
|
@ -657,6 +657,18 @@ impl<'db> ClassType<'db> {
|
|||
singleton.class_member_inner(db, specialization, name, policy)
|
||||
}
|
||||
|
||||
pub(super) fn class_member_from_mro(
|
||||
self,
|
||||
db: &'db dyn Db,
|
||||
name: &str,
|
||||
policy: MemberLookupPolicy,
|
||||
mro_iter: impl Iterator<Item = ClassBase<'db>>,
|
||||
) -> PlaceAndQualifiers<'db> {
|
||||
// TODO: Is this correct?
|
||||
let (singleton, _) = self.class_singleton(db);
|
||||
singleton.class_member_from_mro(db, name, policy, mro_iter)
|
||||
}
|
||||
|
||||
/// Returns the inferred type of the class member named `name`. Only bound members
|
||||
/// or those marked as `ClassVars` are considered.
|
||||
///
|
||||
|
|
@ -1311,6 +1323,19 @@ impl<'db> ClassSingletonType<'db> {
|
|||
self.class_member_from_mro(db, name, policy, self.iter_mro(db, specialization))
|
||||
}
|
||||
|
||||
pub(super) fn class_member_from_mro(
|
||||
self,
|
||||
db: &'db dyn Db,
|
||||
name: &str,
|
||||
policy: MemberLookupPolicy,
|
||||
mro_iter: impl Iterator<Item = ClassBase<'db>>,
|
||||
) -> PlaceAndQualifiers<'db> {
|
||||
match self {
|
||||
Self::Literal(literal) => literal.class_member_from_mro(db, name, policy, mro_iter),
|
||||
Self::NewType(new_type) => new_type.class_member_from_mro(db, name, policy, mro_iter),
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn own_class_member(
|
||||
self,
|
||||
db: &'db dyn Db,
|
||||
|
|
@ -3238,6 +3263,17 @@ impl<'db> NewTypeClass<'db> {
|
|||
.class_member_inner(db, specialization, name, policy)
|
||||
}
|
||||
|
||||
pub(super) fn class_member_from_mro(
|
||||
self,
|
||||
db: &'db dyn Db,
|
||||
name: &str,
|
||||
policy: MemberLookupPolicy,
|
||||
mro_iter: impl Iterator<Item = ClassBase<'db>>,
|
||||
) -> PlaceAndQualifiers<'db> {
|
||||
self.parent(db)
|
||||
.class_member_from_mro(db, name, policy, mro_iter)
|
||||
}
|
||||
|
||||
pub(super) fn own_class_member(
|
||||
self,
|
||||
db: &'db dyn Db,
|
||||
|
|
|
|||
Loading…
Reference in New Issue