summaryrefslogtreecommitdiff
path: root/basicblock.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'basicblock.cpp')
-rw-r--r--basicblock.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/basicblock.cpp b/basicblock.cpp
index 3e3fccef..1675afdf 100644
--- a/basicblock.cpp
+++ b/basicblock.cpp
@@ -200,6 +200,12 @@ bool BasicBlock::CanExit() const
}
+void BasicBlock::SetCanExit(bool value)
+{
+ BNBasicBlockSetCanExit(m_object, value);
+}
+
+
set<Ref<BasicBlock>> BasicBlock::GetDominators(bool post) const
{
size_t count;
@@ -481,3 +487,12 @@ bool BasicBlock::GetInstructionContainingAddress(uint64_t addr, uint64_t* start)
{
return BNGetBasicBlockInstructionContainingAddress(m_object, addr, start);
}
+
+
+Ref<BasicBlock> BasicBlock::GetSourceBlock() const
+{
+ BNBasicBlock* block = BNGetBasicBlockSourceBlock(m_object);
+ if (!block)
+ return nullptr;
+ return new BasicBlock(block);
+}