From 5d66fab3c2b36a14f9efd119a818c48c0950394a Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Tue, 18 Jan 2022 09:16:25 -0500 Subject: Make enumeration's signed property BoolWithConfidence --- type.cpp | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'type.cpp') diff --git a/type.cpp b/type.cpp index 6762a21b..e641b130 100644 --- a/type.cpp +++ b/type.cpp @@ -746,15 +746,21 @@ Ref Type::NamedType(BinaryView* view, const QualifiedName& name) } -Ref Type::EnumerationType(Architecture* arch, Enumeration* enm, size_t width, bool isSigned) +Ref Type::EnumerationType(Architecture* arch, Enumeration* enm, size_t width, const Confidence& isSigned) { - return new Type(BNCreateEnumerationType(arch->GetObject(), enm->GetObject(), width, isSigned)); + BNBoolWithConfidence isSignedConf; + isSignedConf.value = isSigned.GetValue(); + isSignedConf.confidence = isSigned.GetConfidence(); + return new Type(BNCreateEnumerationType(arch->GetObject(), enm->GetObject(), width, &isSignedConf)); } -Ref Type::EnumerationType(Enumeration* enm, size_t width, bool isSigned) +Ref Type::EnumerationType(Enumeration* enm, size_t width, const Confidence& isSigned) { - return new Type(BNCreateEnumerationTypeOfWidth(enm->GetObject(), width, isSigned)); + BNBoolWithConfidence isSignedConf; + isSignedConf.value = isSigned.GetValue(); + isSignedConf.confidence = isSigned.GetConfidence(); + return new Type(BNCreateEnumerationTypeOfWidth(enm->GetObject(), width, &isSignedConf)); } @@ -1428,15 +1434,21 @@ TypeBuilder TypeBuilder::NamedType(BinaryView* view, const QualifiedName& name) } -TypeBuilder TypeBuilder::EnumerationType(Architecture* arch, Enumeration* enm, size_t width, bool isSigned) +TypeBuilder TypeBuilder::EnumerationType(Architecture* arch, Enumeration* enm, size_t width, const Confidence& isSigned) { - return TypeBuilder(BNCreateEnumerationTypeBuilder(arch ? arch->GetObject() : nullptr, enm->GetObject(), width, isSigned)); + BNBoolWithConfidence isSignedConf; + isSignedConf.value = isSigned.GetValue(); + isSignedConf.confidence = isSigned.GetConfidence(); + return TypeBuilder(BNCreateEnumerationTypeBuilder(arch ? arch->GetObject() : nullptr, enm->GetObject(), width, &isSignedConf)); } -TypeBuilder TypeBuilder::EnumerationType(Architecture* arch, EnumerationBuilder* enm, size_t width, bool isSigned) +TypeBuilder TypeBuilder::EnumerationType(Architecture* arch, EnumerationBuilder* enm, size_t width, const Confidence& isSigned) { - return TypeBuilder(BNCreateEnumerationTypeBuilderWithBuilder(arch->GetObject(), enm->GetObject(), width, isSigned)); + BNBoolWithConfidence isSignedConf; + isSignedConf.value = isSigned.GetValue(); + isSignedConf.confidence = isSigned.GetConfidence(); + return TypeBuilder(BNCreateEnumerationTypeBuilderWithBuilder(arch->GetObject(), enm->GetObject(), width, &isSignedConf)); } TypeBuilder TypeBuilder::PointerType(Architecture* arch, const Confidence>& type, -- cgit v1.3.1