diff --git a/crates/ty_python_semantic/src/types/class.rs b/crates/ty_python_semantic/src/types/class.rs index 4d8f4ee8d4..50f236ff60 100644 --- a/crates/ty_python_semantic/src/types/class.rs +++ b/crates/ty_python_semantic/src/types/class.rs @@ -1144,6 +1144,11 @@ impl<'db> ClassType<'db> { } } + pub(crate) fn dataclass_params(&self, db: &'db dyn Db) -> Option { + let (singleton, _) = self.class_singleton(db); + singleton.dataclass_params(db) + } + pub(crate) fn dataclass_transformer_params( &self, db: &'db dyn Db, @@ -1384,6 +1389,13 @@ impl<'db> ClassSingletonType<'db> { } } + pub(crate) fn dataclass_params(&self, db: &'db dyn Db) -> Option { + match self { + Self::Literal(literal) => literal.dataclass_params(db), + Self::NewType(new_type) => new_type.dataclass_params(db), + } + } + pub(crate) fn dataclass_transformer_params( &self, db: &'db dyn Db, @@ -3310,6 +3322,10 @@ impl<'db> NewTypeClass<'db> { self.parent(db).own_instance_member(db, name) } + pub(crate) fn dataclass_params(&self, db: &'db dyn Db) -> Option { + self.parent(db).dataclass_params(db) + } + pub(crate) fn dataclass_transformer_params( &self, db: &'db dyn Db,