From f556ad0910bd5fabd6628a44c81121ce0323e0bb Mon Sep 17 00:00:00 2001 From: Flipout50 Date: Mon, 20 Nov 2023 17:55:36 -0700 Subject: [PATCH] FINALLY got enum setting working --- yodalib/decompilers/ghidra/interface.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/yodalib/decompilers/ghidra/interface.py b/yodalib/decompilers/ghidra/interface.py index 3e8fee01..023030bf 100644 --- a/yodalib/decompilers/ghidra/interface.py +++ b/yodalib/decompilers/ghidra/interface.py @@ -277,9 +277,10 @@ def _set_enum(self, enum: Enum, **kwargs) -> bool: handler = self.ghidra.import_module_object("ghidra.program.model.data", "DataTypeConflictHandler") enumType = self.ghidra.import_module_object("ghidra.program.model.data", "EnumDataType") categoryPath = self.ghidra.import_module_object("ghidra.program.model.data", "CategoryPath") - path = categoryPath(enum.name) - outer_path = categoryPath(path.getPath()) - ghidra_enum = enumType(outer_path, path.getName(), 4) + parts = enum.name.split('/') + path = categoryPath('/'.join(parts[:-1])) + plain_name = parts[-1] + ghidra_enum = enumType(path, plain_name, 4) for member_name in enum.members.keys(): ghidra_enum.add(member_name, enum.members[member_name]) try: