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: