summaryrefslogtreecommitdiff
path: root/type.cpp
diff options
context:
space:
mode:
authorScott Lagler <laglerscott@gmail.com>2023-11-22 14:29:10 -0500
committerxusheng <xusheng@vector35.com>2023-11-28 15:10:36 +0800
commitb5d6806b15636611eaf2aabf2819430c4a549435 (patch)
tree4b4b204db662a432a6945e0a7a8bcd0db8719b39 /type.cpp
parent380e5667eda8a3554f063d1f7bd21e24020e5cd2 (diff)
Add type confidence info to StructureMember type
Diffstat (limited to 'type.cpp')
-rw-r--r--type.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/type.cpp b/type.cpp
index 4ecbc338..cf4b21bf 100644
--- a/type.cpp
+++ b/type.cpp
@@ -2136,7 +2136,7 @@ vector<StructureMember> Structure::GetMembers() const
for (size_t i = 0; i < count; i++)
{
StructureMember member;
- member.type = new Type(BNNewTypeReference(members[i].type));
+ member.type = Confidence<Ref<Type>>(new Type(BNNewTypeReference(members[i].type)), members[i].typeConfidence);
member.name = members[i].name;
member.offset = members[i].offset;
result.push_back(member);
@@ -2159,7 +2159,7 @@ vector<InheritedStructureMember> Structure::GetMembersIncludingInherited(const T
InheritedStructureMember member;
member.base = members[i].base ? new NamedTypeReference(BNNewNamedTypeReference(members[i].base)) : nullptr;
member.baseOffset = members[i].baseOffset;
- member.member.type = new Type(BNNewTypeReference(members[i].member.type));
+ member.member.type = Confidence<Ref<Type>>(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.memberIndex = members[i].memberIndex;
@@ -2180,7 +2180,7 @@ bool Structure::GetMemberIncludingInheritedAtOffset(BinaryView* view, int64_t of
result.base = member->base ? new NamedTypeReference(BNNewNamedTypeReference(member->base)) : nullptr;
result.baseOffset = member->baseOffset;
- result.member.type = new Type(BNNewTypeReference(member->member.type));
+ result.member.type = Confidence<Ref<Type>>(new Type(BNNewTypeReference(member->member.type)), member->member.typeConfidence);
result.member.name = member->member.name;
result.member.offset = member->member.offset;
result.memberIndex = member->memberIndex;
@@ -2195,7 +2195,7 @@ bool Structure::GetMemberByName(const string& name, StructureMember& result) con
BNStructureMember* member = BNGetStructureMemberByName(m_object, name.c_str());
if (member)
{
- result.type = new Type(BNNewTypeReference(member->type));
+ result.type = Confidence<Ref<Type>>(new Type(BNNewTypeReference(member->type)), member->typeConfidence);
result.name = member->name;
result.offset = member->offset;
BNFreeStructureMember(member);
@@ -2217,7 +2217,7 @@ bool Structure::GetMemberAtOffset(int64_t offset, StructureMember& result, size_
BNStructureMember* member = BNGetStructureMemberAtOffset(m_object, offset, &idx);
if (member)
{
- result.type = new Type(BNNewTypeReference(member->type));
+ result.type = Confidence<Ref<Type>>(new Type(BNNewTypeReference(member->type)), member->typeConfidence);
result.name = member->name;
result.offset = member->offset;
BNFreeStructureMember(member);
@@ -2425,7 +2425,7 @@ vector<StructureMember> StructureBuilder::GetMembers() const
for (size_t i = 0; i < count; i++)
{
StructureMember member;
- member.type = new Type(BNNewTypeReference(members[i].type));
+ member.type = Confidence<Ref<Type>>(new Type(BNNewTypeReference(members[i].type)), members[i].typeConfidence);
member.name = members[i].name;
member.offset = members[i].offset;
result.push_back(member);
@@ -2441,7 +2441,7 @@ bool StructureBuilder::GetMemberByName(const string& name, StructureMember& resu
BNStructureMember* member = BNGetStructureBuilderMemberByName(m_object, name.c_str());
if (member)
{
- result.type = new Type(BNNewTypeReference(member->type));
+ result.type = Confidence<Ref<Type>>(new Type(BNNewTypeReference(member->type)), member->typeConfidence);
result.name = member->name;
result.offset = member->offset;
BNFreeStructureMember(member);
@@ -2463,7 +2463,7 @@ bool StructureBuilder::GetMemberAtOffset(int64_t offset, StructureMember& result
BNStructureMember* member = BNGetStructureBuilderMemberAtOffset(m_object, offset, &idx);
if (member)
{
- result.type = new Type(BNNewTypeReference(member->type));
+ result.type = Confidence<Ref<Type>>(new Type(BNNewTypeReference(member->type)), member->typeConfidence);
result.name = member->name;
result.offset = member->offset;
BNFreeStructureMember(member);