From 39cc64451731b046164737bffae35a6a89c118ae Mon Sep 17 00:00:00 2001 From: Scott Lagler Date: Mon, 27 Nov 2023 08:30:32 -0500 Subject: Add access and scope info from core to StructMember access methods --- type.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'type.cpp') diff --git a/type.cpp b/type.cpp index cf4b21bf..693a16b7 100644 --- a/type.cpp +++ b/type.cpp @@ -2139,6 +2139,8 @@ vector Structure::GetMembers() const member.type = Confidence>(new Type(BNNewTypeReference(members[i].type)), members[i].typeConfidence); member.name = members[i].name; member.offset = members[i].offset; + member.access = members[i].access; + member.scope = members[i].scope; result.push_back(member); } @@ -2162,6 +2164,8 @@ vector Structure::GetMembersIncludingInherited(const T member.member.type = Confidence>(new Type(BNNewTypeReference(members[i].member.type)), members[i].member.typeConfidence); member.member.name = members[i].member.name; member.member.offset = members[i].member.offset; + member.member.access = members[i].member.access; + member.member.scope = members[i].member.scope; member.memberIndex = members[i].memberIndex; result.push_back(member); } @@ -2183,6 +2187,8 @@ bool Structure::GetMemberIncludingInheritedAtOffset(BinaryView* view, int64_t of result.member.type = Confidence>(new Type(BNNewTypeReference(member->member.type)), member->member.typeConfidence); result.member.name = member->member.name; result.member.offset = member->member.offset; + result.member.access = member->member.access; + result.member.scope = member->member.scope; result.memberIndex = member->memberIndex; BNFreeInheritedStructureMember(member); @@ -2198,6 +2204,8 @@ bool Structure::GetMemberByName(const string& name, StructureMember& result) con result.type = Confidence>(new Type(BNNewTypeReference(member->type)), member->typeConfidence); result.name = member->name; result.offset = member->offset; + result.access = member->access; + result.scope = member->scope; BNFreeStructureMember(member); return true; } @@ -2220,6 +2228,8 @@ bool Structure::GetMemberAtOffset(int64_t offset, StructureMember& result, size_ result.type = Confidence>(new Type(BNNewTypeReference(member->type)), member->typeConfidence); result.name = member->name; result.offset = member->offset; + result.access = member->access; + result.scope = member->scope; BNFreeStructureMember(member); return true; } @@ -2428,6 +2438,8 @@ vector StructureBuilder::GetMembers() const member.type = Confidence>(new Type(BNNewTypeReference(members[i].type)), members[i].typeConfidence); member.name = members[i].name; member.offset = members[i].offset; + member.access = members[i].access; + member.scope = members[i].scope; result.push_back(member); } @@ -2444,6 +2456,8 @@ bool StructureBuilder::GetMemberByName(const string& name, StructureMember& resu result.type = Confidence>(new Type(BNNewTypeReference(member->type)), member->typeConfidence); result.name = member->name; result.offset = member->offset; + result.access = member->access; + result.scope = member->scope; BNFreeStructureMember(member); return true; } @@ -2466,6 +2480,8 @@ bool StructureBuilder::GetMemberAtOffset(int64_t offset, StructureMember& result result.type = Confidence>(new Type(BNNewTypeReference(member->type)), member->typeConfidence); result.name = member->name; result.offset = member->offset; + result.access = member->access; + result.scope = member->scope; BNFreeStructureMember(member); return true; } -- cgit v1.3.1