When a struct is renamed in Ghidra, it needs to be handled as if the old struct was deleted, and a new one is created with the new name. When the ProgramChangeRecord for this gets caught in the following code snippet, there isn't an obvious way to figure out what struct was renamed. We need to figure out how to access this value so that we can call self._interface.struct_changed() with deleted=True and pass it the old struct.
https://github.com/binsync/libbs/blob/33a0114a932543d1849a64e3044cc1b6e19d4da0/libbs/decompilers/ghidra/hooks.py#L54-L68
When a struct is renamed in Ghidra, it needs to be handled as if the old struct was deleted, and a new one is created with the new name. When the
ProgramChangeRecordfor this gets caught in the following code snippet, there isn't an obvious way to figure out what struct was renamed. We need to figure out how to access this value so that we can callself._interface.struct_changed()withdeleted=Trueand pass it the old struct.https://github.com/binsync/libbs/blob/33a0114a932543d1849a64e3044cc1b6e19d4da0/libbs/decompilers/ghidra/hooks.py#L54-L68