From 764063b2b44dbeba5f2f318c971e4f4acfb48427 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Wed, 7 Jul 2021 08:26:29 -0400 Subject: Refactor Python Types Remove _mutable types --- type.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'type.cpp') diff --git a/type.cpp b/type.cpp index f26dc1ea..1ae7f711 100644 --- a/type.cpp +++ b/type.cpp @@ -758,6 +758,12 @@ Ref Type::EnumerationType(Architecture* arch, Enumeration* enm, size_t wid } +Ref Type::EnumerationType(Enumeration* enm, size_t width, bool isSigned) +{ + return new Type(BNCreateEnumerationTypeOfWidth(enm->GetObject(), width, isSigned)); +} + + Ref Type::PointerType(Architecture* arch, const Confidence>& type, const Confidence& cnst, const Confidence& vltl, BNReferenceType refType) { @@ -1431,7 +1437,7 @@ TypeBuilder TypeBuilder::NamedType(BinaryView* view, const QualifiedName& name) TypeBuilder TypeBuilder::EnumerationType(Architecture* arch, Enumeration* enm, size_t width, bool isSigned) { - return TypeBuilder(BNCreateEnumerationTypeBuilder(arch->GetObject(), enm->GetObject(), width, isSigned)); + return TypeBuilder(BNCreateEnumerationTypeBuilder(arch ? arch->GetObject() : nullptr, enm->GetObject(), width, isSigned)); } @@ -1795,7 +1801,7 @@ bool Structure::IsUnion() const } -BNStructureType Structure::GetStructureType() const +BNStructureVariant Structure::GetStructureType() const { return BNGetStructureType(m_object); } @@ -1849,7 +1855,7 @@ StructureBuilder::StructureBuilder(BNStructureBuilder* s) } -StructureBuilder::StructureBuilder(BNStructureType type, bool packed) +StructureBuilder::StructureBuilder(BNStructureVariant type, bool packed) { m_object = BNCreateStructureBuilderWithOptions(type, packed); } @@ -2016,14 +2022,14 @@ bool StructureBuilder::IsUnion() const } -StructureBuilder& StructureBuilder::SetStructureType(BNStructureType t) +StructureBuilder& StructureBuilder::SetStructureType(BNStructureVariant t) { BNSetStructureBuilderType(m_object, t); return *this; } -BNStructureType StructureBuilder::GetStructureType() const +BNStructureVariant StructureBuilder::GetStructureType() const { return BNGetStructureBuilderType(m_object); } -- cgit v1.3.1