From 5d9a8af775df66f7fe9b0ebdaf4e460f314e0001 Mon Sep 17 00:00:00 2001 From: Jack O'Connor Date: Tue, 19 Aug 2025 19:26:49 -0700 Subject: [PATCH] dataclass params --- crates/ty_python_semantic/src/types/class.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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,