summaryrefslogtreecommitdiff
path: root/highlevelil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'highlevelil.cpp')
-rw-r--r--highlevelil.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/highlevelil.cpp b/highlevelil.cpp
index 5bebcca8..aab49ea0 100644
--- a/highlevelil.cpp
+++ b/highlevelil.cpp
@@ -428,6 +428,25 @@ void HighLevelILFunction::Finalize()
}
+void HighLevelILFunction::GenerateSSAForm(const set<Variable>& aliases)
+{
+ BNVariable* aliasList = new BNVariable[aliases.size()];
+
+ size_t i = 0;
+ for (auto& alias : aliases)
+ {
+ aliasList[i].type = alias.type;
+ aliasList[i].index = alias.index;
+ aliasList[i].storage = alias.storage;
+ i++;
+ }
+
+ BNGenerateHighLevelILSSAForm(m_object, aliasList, aliases.size());
+
+ delete[] aliasList;
+}
+
+
vector<DisassemblyTextLine> HighLevelILFunction::GetExprText(ExprId expr, bool asFullAst, DisassemblySettings* settings)
{
size_t count;