From 9bb8792f6be698ed9f2bd6e1dc555bfd91709044 Mon Sep 17 00:00:00 2001 From: Josh Ferrell Date: Mon, 15 Dec 2025 15:09:53 -0500 Subject: Add PossibleValueSet operation APIs and fixes to PVS python API --- binaryninjaapi.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 55aa96ca..8da2e775 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -8361,7 +8361,7 @@ namespace BinaryNinja { BulkSymbolModification(BulkSymbolModification&&) = default; BulkSymbolModification& operator=(BulkSymbolModification&&) = default; - private: + private: Ref m_view; }; @@ -12442,6 +12442,27 @@ namespace BinaryNinja { static PossibleValueSet FromAPIObject(BNPossibleValueSet& value); BNPossibleValueSet ToAPIObject() const; static void FreeAPIObject(BNPossibleValueSet* value); + + PossibleValueSet Add(const PossibleValueSet& other, size_t size) const; + PossibleValueSet Subtract(const PossibleValueSet& other, size_t size) const; + PossibleValueSet Multiply(const PossibleValueSet& other, size_t size) const; + PossibleValueSet SignedDivide(const PossibleValueSet& other, size_t size) const; + PossibleValueSet UnsignedDivide(const PossibleValueSet& other, size_t size) const; + PossibleValueSet SignedMod(const PossibleValueSet& other, size_t size) const; + PossibleValueSet UnsignedMod(const PossibleValueSet& other, size_t size) const; + PossibleValueSet And(const PossibleValueSet& other, size_t size) const; + PossibleValueSet Or(const PossibleValueSet& other, size_t size) const; + PossibleValueSet Xor(const PossibleValueSet& other, size_t size) const; + PossibleValueSet ShiftLeft(const PossibleValueSet& other, size_t size) const; + PossibleValueSet LogicalShiftRight(const PossibleValueSet& other, size_t size) const; + PossibleValueSet ArithShiftRight(const PossibleValueSet& other, size_t size) const; + PossibleValueSet RotateLeft(const PossibleValueSet& other, size_t size) const; + PossibleValueSet RotateRight(const PossibleValueSet& other, size_t size) const; + PossibleValueSet Union(const PossibleValueSet& other, size_t size) const; + PossibleValueSet Intersection(const PossibleValueSet& other, size_t size) const; + + PossibleValueSet Negate(size_t size) const; + PossibleValueSet Not(size_t size) const; }; class FlowGraph; -- cgit v1.3.1