1212)
1313
1414
15- @dataclass
15+ @dataclass ( frozen = True , slots = True , kw_only = True )
1616class ImportConfig :
1717 value : str
1818 import_text : str
@@ -26,35 +26,35 @@ class ImportConfig:
2626}
2727
2828
29- @dataclass
29+ @dataclass ( frozen = True , slots = True )
3030class EditableAssignmentWithoutAnnotation :
3131 node : SgNode
3232 left : str
3333 right : str
3434
3535
36- @dataclass
36+ @dataclass ( frozen = True , slots = True )
3737class EditableAssignmentWithAnnotation :
3838 node : SgNode
3939 left : str
4040 annotation : SgNode
4141 right : str
4242
4343
44- @dataclass
44+ @dataclass ( frozen = True , slots = True )
4545class OtherDefinition :
4646 node : SgNode
4747
4848
4949Definition = EditableAssignmentWithoutAnnotation | EditableAssignmentWithAnnotation | OtherDefinition
5050
5151
52- @dataclass
52+ @dataclass ( frozen = True , slots = True )
5353class AddFinal :
5454 node : Definition
5555
5656
57- @dataclass
57+ @dataclass ( frozen = True , slots = True )
5858class RemoveFinal :
5959 nodes : list [Definition ]
6060
@@ -174,20 +174,19 @@ def _make_changed_text_from_operation(
174174 yield node , f"{ left } : { new_annotation } = { right } "
175175
176176
177- # TODO: make dataclasses frozen and all other stuff # noqa: FIX002, TD002, TD003
178- @dataclass
177+ @dataclass (frozen = True , slots = True )
179178class Edit :
180179 node : SgNode
181180 new_text : str
182181
183182
184- @dataclass
183+ @dataclass ( frozen = True , slots = True )
185184class Replacement :
186185 operation_type : type [Operation ]
187186 edits : list [Edit ]
188187
189188
190- @dataclass
189+ @dataclass ( frozen = True , slots = True )
191190class MakeReplacementsResult :
192191 replacements : list [Replacement ]
193192 import_text : str | None
0 commit comments