summaryrefslogtreecommitdiff
path: root/type.cpp
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2022-01-18 09:16:25 -0500
committerPeter LaFosse <peter@vector35.com>2022-01-19 10:52:42 -0500
commit5d66fab3c2b36a14f9efd119a818c48c0950394a (patch)
tree739d0b5cd2ad0f5e5c9bab02d543b48b969127c6 /type.cpp
parent1e1e2c9da6d6d39c2dc41c2aa24ee35de4cd27ac (diff)
Make enumeration's signed property BoolWithConfidence
Diffstat (limited to 'type.cpp')
-rw-r--r--type.cpp28
1 files changed, 20 insertions, 8 deletions
diff --git a/type.cpp b/type.cpp
index 6762a21b..e641b130 100644
--- a/type.cpp
+++ b/type.cpp
@@ -746,15 +746,21 @@ Ref<Type> Type::NamedType(BinaryView* view, const QualifiedName& name)
}
-Ref<Type> Type::EnumerationType(Architecture* arch, Enumeration* enm, size_t width, bool isSigned)
+Ref<Type> Type::EnumerationType(Architecture* arch, Enumeration* enm, size_t width, const Confidence<bool>& 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> Type::EnumerationType(Enumeration* enm, size_t width, bool isSigned)
+Ref<Type> Type::EnumerationType(Enumeration* enm, size_t width, const Confidence<bool>& 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<bool>& 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<bool>& 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<Ref<Type>>& type,