mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-01-09 05:58:00 -05:00
Merge remote-tracking branch 'origin/GP-5928_ghizard_PDB_Fixed_issue_with_members_only_layout_losing_members' into patch
This commit is contained in:
@@ -1025,16 +1025,15 @@ public class CppCompositeType {
|
|||||||
* @throws CancelledException upon user cancellation
|
* @throws CancelledException upon user cancellation
|
||||||
*/
|
*/
|
||||||
private void createMembersOnlyClassLayout(TaskMonitor monitor) throws CancelledException {
|
private void createMembersOnlyClassLayout(TaskMonitor monitor) throws CancelledException {
|
||||||
TreeMap<Long, ClassPdbMember> map = new TreeMap<>();
|
List<ClassPdbMember> pdbMembers = new ArrayList<>();
|
||||||
for (Member member : layoutMembers) {
|
for (Member member : layoutMembers) {
|
||||||
ClassPdbMember classPdbMember =
|
ClassPdbMember classPdbMember =
|
||||||
new ClassPdbMember(member.getName(), member.getDataType(),
|
new ClassPdbMember(member.getName(), member.getDataType(),
|
||||||
member.isFlexibleArray(), member.getOffset(), member.getComment());
|
member.isFlexibleArray(), member.getOffset(), member.getComment());
|
||||||
map.put((long) member.getOffset(), classPdbMember);
|
pdbMembers.add(classPdbMember);
|
||||||
}
|
}
|
||||||
List<ClassPdbMember> sm = new ArrayList<>(map.values());
|
|
||||||
if (!DefaultCompositeMember.applyDataTypeMembers(composite, false, false, size,
|
if (!DefaultCompositeMember.applyDataTypeMembers(composite, false, false, size,
|
||||||
sm, msg -> Msg.warn(this, msg), monitor)) {
|
pdbMembers, msg -> Msg.warn(this, msg), monitor)) {
|
||||||
clearComponents(composite);
|
clearComponents(composite);
|
||||||
}
|
}
|
||||||
selfBaseType = composite;
|
selfBaseType = composite;
|
||||||
|
|||||||
Reference in New Issue
Block a user