From 55cf411c056ceb725d8172cc71318d32f5a3b207 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Wed, 11 Aug 2021 08:31:03 -0400 Subject: Move MemberAccess/MemberScope to StructureMember Fix rust AddStructureMemebers --- type.cpp | 61 ++++++++++--------------------------------------------------- 1 file changed, 10 insertions(+), 51 deletions(-) (limited to 'type.cpp') diff --git a/type.cpp b/type.cpp index 1ae7f711..3d7339e4 100644 --- a/type.cpp +++ b/type.cpp @@ -496,20 +496,6 @@ Confidence Type::IsConst() const } -Confidence Type::GetScope() const -{ - BNMemberScopeWithConfidence result = BNTypeGetMemberScope(m_object); - return Confidence(result.value, result.confidence); -} - - -Confidence Type::GetAccess() const -{ - BNMemberAccessWithConfidence result = BNTypeGetMemberAccess(m_object); - return Confidence(result.value, result.confidence); -} - - Confidence> Type::GetChildType() const { BNTypeWithConfidence type = BNGetChildType(m_object); @@ -1133,39 +1119,6 @@ void TypeBuilder::SetIntegerTypeDisplayType(BNIntegerDisplayType displayType) BNSetIntegerTypeDisplayType(m_object, displayType); } -Confidence TypeBuilder::GetScope() const -{ - BNMemberScopeWithConfidence result = BNTypeBuilderGetMemberScope(m_object); - return Confidence(result.value, result.confidence); -} - - -TypeBuilder& TypeBuilder::SetScope(const Confidence& scope) -{ - BNMemberScopeWithConfidence mc; - mc.value = scope.GetValue(); - mc.confidence = scope.GetConfidence(); - BNTypeBuilderSetMemberScope(m_object, &mc); - return *this; -} - - -Confidence TypeBuilder::GetAccess() const -{ - BNMemberAccessWithConfidence result = BNTypeBuilderGetMemberAccess(m_object); - return Confidence(result.value, result.confidence); -} - - -TypeBuilder& TypeBuilder::SetAccess(const Confidence& access) -{ - BNMemberAccessWithConfidence mc; - mc.value = access.GetValue(); - mc.confidence = access.GetConfidence(); - BNTypeBuilderSetMemberAccess(m_object, &mc); - return *this; -} - TypeBuilder& TypeBuilder::SetConst(const Confidence& cnst) { @@ -1447,6 +1400,11 @@ TypeBuilder TypeBuilder::EnumerationType(Architecture* arch, EnumerationBuilder* } +TypeBuilder TypeBuilder::EnumerationType(Enumeration* enm, size_t width, bool isSigned) +{ + return TypeBuilder(BNCreateEnumerationTypeBuilderOfWidth(enm->GetObject(), width, isSigned)); +} + TypeBuilder TypeBuilder::PointerType(Architecture* arch, const Confidence>& type, const Confidence& cnst, const Confidence& vltl, BNReferenceType refType) { @@ -2035,23 +1993,24 @@ BNStructureVariant StructureBuilder::GetStructureType() const } -StructureBuilder& StructureBuilder::AddMember(const Confidence>& type, const string& name) +StructureBuilder& StructureBuilder::AddMember(const Confidence>& type, const string& name, + BNMemberAccess access, BNMemberScope scope) { BNTypeWithConfidence tc; tc.type = type->GetObject(); tc.confidence = type.GetConfidence(); - BNAddStructureBuilderMember(m_object, &tc, name.c_str()); + BNAddStructureBuilderMember(m_object, &tc, name.c_str(), access, scope); return *this; } StructureBuilder& StructureBuilder::AddMemberAtOffset(const Confidence>& type, - const string& name, uint64_t offset, bool overwriteExisting) + const string& name, uint64_t offset, bool overwriteExisting, BNMemberAccess access, BNMemberScope scope) { BNTypeWithConfidence tc; tc.type = type->GetObject(); tc.confidence = type.GetConfidence(); - BNAddStructureBuilderMemberAtOffset(m_object, &tc, name.c_str(), offset, overwriteExisting); + BNAddStructureBuilderMemberAtOffset(m_object, &tc, name.c_str(), offset, overwriteExisting, access, scope); return *this; } -- cgit v1.3.1