summaryrefslogtreecommitdiff
path: root/flowgraph.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2019-07-23 22:40:39 -0400
committerRusty Wagner <rusty@vector35.com>2020-04-17 14:20:35 -0400
commit203717232e816d42973f05f1c9fbc950914d71dc (patch)
tree71b1316a95417ea36147230faf4aa7c44556ea0a /flowgraph.cpp
parent072c5cd6eee7af9671e6c4fe583e77bc3bcbdd1d (diff)
Early HLIL testing
Diffstat (limited to 'flowgraph.cpp')
-rw-r--r--flowgraph.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/flowgraph.cpp b/flowgraph.cpp
index 51a634b9..be7e498b 100644
--- a/flowgraph.cpp
+++ b/flowgraph.cpp
@@ -329,6 +329,12 @@ bool FlowGraph::IsMediumLevelILGraph() const
}
+bool FlowGraph::IsHighLevelILGraph() const
+{
+ return BNIsHighLevelILFlowGraph(m_object);
+}
+
+
Ref<LowLevelILFunction> FlowGraph::GetLowLevelILFunction() const
{
BNLowLevelILFunction* func = BNGetFlowGraphLowLevelILFunction(m_object);
@@ -347,6 +353,15 @@ Ref<MediumLevelILFunction> FlowGraph::GetMediumLevelILFunction() const
}
+Ref<HighLevelILFunction> FlowGraph::GetHighLevelILFunction() const
+{
+ BNHighLevelILFunction* func = BNGetFlowGraphHighLevelILFunction(m_object);
+ if (!func)
+ return nullptr;
+ return new HighLevelILFunction(func);
+}
+
+
void FlowGraph::SetLowLevelILFunction(LowLevelILFunction* func)
{
BNSetFlowGraphLowLevelILFunction(m_object, func ? func->GetObject() : nullptr);
@@ -359,6 +374,12 @@ void FlowGraph::SetMediumLevelILFunction(MediumLevelILFunction* func)
}
+void FlowGraph::SetHighLevelILFunction(HighLevelILFunction* func)
+{
+ BNSetFlowGraphHighLevelILFunction(m_object, func ? func->GetObject() : nullptr);
+}
+
+
void FlowGraph::Show(const string& title)
{
ShowGraphReport(title, this);