mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-03 17:59:46 +02:00
GP-5928 - PDB - Fix lost members of some composites
This commit is contained in:
parent
cf61a2ffaf
commit
dcd26f14d2
1 changed files with 3 additions and 4 deletions
|
@ -1025,16 +1025,15 @@ public class CppCompositeType {
|
|||
* @throws CancelledException upon user cancellation
|
||||
*/
|
||||
private void createMembersOnlyClassLayout(TaskMonitor monitor) throws CancelledException {
|
||||
TreeMap<Long, ClassPdbMember> map = new TreeMap<>();
|
||||
List<ClassPdbMember> pdbMembers = new ArrayList<>();
|
||||
for (Member member : layoutMembers) {
|
||||
ClassPdbMember classPdbMember =
|
||||
new ClassPdbMember(member.getName(), member.getDataType(),
|
||||
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,
|
||||
sm, msg -> Msg.warn(this, msg), monitor)) {
|
||||
pdbMembers, msg -> Msg.warn(this, msg), monitor)) {
|
||||
clearComponents(composite);
|
||||
}
|
||||
selfBaseType = composite;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue