summaryrefslogtreecommitdiff
path: root/basicblock.cpp
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2021-08-04 10:48:57 -0400
committerBrian Potchik <brian@vector35.com>2021-08-04 10:48:57 -0400
commit754fb4d12a85cdf8c791725002c9a1e78894d8c0 (patch)
tree39524766019bc6a38e788fa14c68a5643b865e55 /basicblock.cpp
parent55e80204f6b8f804e81c54f2d5188a99ab0afb6f (diff)
Expose some BasicBlock APIs.
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);
+}