GP-4593 - PDB - Reorder out-of-order base classes

This commit is contained in:
ghizard
2024-05-10 18:08:34 +00:00
parent 15b929fa73
commit 38e011aa41

View File

@@ -722,6 +722,7 @@ public class CppCompositeType {
private List<ClassPdbMember> getDirectBaseClassMembers(TaskMonitor monitor)
throws CancelledException {
List<ClassPdbMember> myDirectClassPdbMembers = new ArrayList<>();
TreeMap<Integer, Member> orderedBaseMembers = new TreeMap<>();
for (LayoutBaseClass base : getLayoutBaseClasses()) {
monitor.checkCancelled();
CppCompositeType baseComposite = base.getBaseClassType();
@@ -733,10 +734,13 @@ public class CppCompositeType {
getBaseCategoryName("BaseClass_" + base.getBaseClassType().getName());
Member baseMember =
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;
}