Fixed bug that resulted in the incorrect synthesis of __dataclass_fields__ for named tuples. This addresses #8152.

This commit is contained in:
Eric Traut 2024-06-16 22:41:09 +02:00
parent 5f47007df3
commit 48a03076a3

View File

@ -659,10 +659,13 @@ export function synthesizeDataClassMethods(
)
);
}
symbolTable.set(
'__dataclass_fields__',
Symbol.createWithType(SymbolFlags.ClassMember | SymbolFlags.ClassVar, dictType)
);
if (!isNamedTuple) {
symbolTable.set(
'__dataclass_fields__',
Symbol.createWithType(SymbolFlags.ClassMember | SymbolFlags.ClassVar, dictType)
);
}
if (ClassType.isDataClassGenerateSlots(classType) && classType.details.localSlotsNames === undefined) {
classType.details.localSlotsNames = localDataClassEntries.map((entry) => entry.name);