MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / GetHighLevelILSSAVariablesIfAvailable

Method GetHighLevelILSSAVariablesIfAvailable

function.cpp:1617–1638  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1615
1616
1617set<SSAVariable> Function::GetHighLevelILSSAVariablesIfAvailable()
1618{
1619 Ref<HighLevelILFunction> hlil = this->GetHighLevelILIfAvailable();
1620 if (!hlil)
1621 return {};
1622
1623 size_t count;
1624 BNVariable* vars = BNGetHighLevelILVariables(hlil->GetObject(), &count);
1625
1626 set<SSAVariable> result;
1627 for (size_t i = 0; i < count; ++i)
1628 {
1629 size_t versionCount;
1630 size_t* versions = BNGetHighLevelILVariableSSAVersions(hlil->GetObject(), &vars[i], &versionCount);
1631 for (size_t j = 0; j < versionCount; ++j)
1632 result.emplace(vars[i], versions[j]);
1633 BNFreeILInstructionList(versions);
1634 }
1635
1636 BNFreeVariableList(vars);
1637 return result;
1638}
1639
1640
1641void Function::CreateAutoVariable(

Callers

nothing calls this directly

Calls 2

GetObjectMethod · 0.45

Tested by

no test coverage detected