Merge remote-tracking branch 'origin/GP-4593_ghizard_PDB_reorder_base_clases' into Ghidra_11.1

This commit is contained in:
Ryan Kurtz
2024-05-10 14:19:19 -04:00

View File

@@ -722,6 +722,7 @@ public class CppCompositeType {
private List<ClassPdbMember> getDirectBaseClassMembers(TaskMonitor monitor) private List<ClassPdbMember> getDirectBaseClassMembers(TaskMonitor monitor)
throws CancelledException { throws CancelledException {
List<ClassPdbMember> myDirectClassPdbMembers = new ArrayList<>(); List<ClassPdbMember> myDirectClassPdbMembers = new ArrayList<>();
TreeMap<Integer, Member> orderedBaseMembers = new TreeMap<>();
for (LayoutBaseClass base : getLayoutBaseClasses()) { for (LayoutBaseClass base : getLayoutBaseClasses()) {
monitor.checkCancelled(); monitor.checkCancelled();
CppCompositeType baseComposite = base.getBaseClassType(); CppCompositeType baseComposite = base.getBaseClassType();
@@ -733,10 +734,13 @@ public class CppCompositeType {
getBaseCategoryName("BaseClass_" + base.getBaseClassType().getName()); getBaseCategoryName("BaseClass_" + base.getBaseClassType().getName());
Member baseMember = Member baseMember =
new Member("", baseDataType, false, null, offset, cn.toString()); new Member("", baseDataType, false, null, offset, cn.toString());
addPdbMember(myDirectClassPdbMembers, baseMember); orderedBaseMembers.put(offset, baseMember);
} }
} }
} }
for (Member baseMember : orderedBaseMembers.values()) {
addPdbMember(myDirectClassPdbMembers, baseMember);
}
return myDirectClassPdbMembers; return myDirectClassPdbMembers;
} }