diff options
| author | Brian Potchik <brian@vector35.com> | 2021-08-20 16:28:39 -0400 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2021-08-20 16:28:39 -0400 |
| commit | 72d95afd2541fd8d463a853375f4f36993e7c099 (patch) | |
| tree | 614bd36961a4f6d11e9e4744f1ac874eb3dcaa86 /workflow.cpp | |
| parent | cc1e85a4a8b2001f9fd6cf91b93fb39abef3a0e2 (diff) | |
Workflows basic blocks and IL function analysis setters.
Diffstat (limited to 'workflow.cpp')
| -rw-r--r-- | workflow.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/workflow.cpp b/workflow.cpp index 63137ebc..70cd1ced 100644 --- a/workflow.cpp +++ b/workflow.cpp @@ -48,12 +48,42 @@ Ref<MediumLevelILFunction> AnalysisContext::GetMediumLevelILFunction() } +void AnalysisContext::SetBasicBlockList(vector<Ref<BasicBlock>> basicBlocks) +{ + BNBasicBlock** blocks = new BNBasicBlock*[basicBlocks.size()]; + size_t i = 0; + for (auto& j : basicBlocks) + blocks[i++] = j->GetObject(); + + BNSetBasicBlockList(m_object, blocks, basicBlocks.size()); + delete[] blocks; +} + + +void AnalysisContext::SetLiftedILFunction(Ref<LowLevelILFunction> liftedIL) +{ + BNSetLiftedILFunction(m_object, liftedIL->m_object); +} + + void AnalysisContext::SetLowLevelILFunction(Ref<LowLevelILFunction> lowLevelIL) { BNSetLowLevelILFunction(m_object, lowLevelIL->m_object); } +void AnalysisContext::SetMediumLevelILFunction(Ref<MediumLevelILFunction> mediumLevelIL) +{ + BNSetMediumLevelILFunction(m_object, mediumLevelIL->m_object); +} + + +void AnalysisContext::SetHighLevelILFunction(Ref<HighLevelILFunction> highLevelIL) +{ + BNSetHighLevelILFunction(m_object, highLevelIL->m_object); +} + + bool AnalysisContext::Inform(const string& request) { return BNAnalysisContextInform(m_object, request.c_str()); |
