| 1495 | |
| 1496 | |
| 1497 | set<SSAVariable> Function::GetHighLevelILSSAVariables() |
| 1498 | { |
| 1499 | Ref<HighLevelILFunction> hlil = this->GetHighLevelIL(); |
| 1500 | if (!hlil) |
| 1501 | return {}; |
| 1502 | |
| 1503 | size_t count; |
| 1504 | BNVariable* vars = BNGetHighLevelILVariables(hlil->GetObject(), &count); |
| 1505 | |
| 1506 | set<SSAVariable> result; |
| 1507 | for (size_t i = 0; i < count; ++i) |
| 1508 | { |
| 1509 | size_t versionCount; |
| 1510 | size_t* versions = BNGetHighLevelILVariableSSAVersions(hlil->GetObject(), &vars[i], &versionCount); |
| 1511 | for (size_t j = 0; j < versionCount; ++j) |
| 1512 | result.emplace(vars[i], versions[j]); |
| 1513 | BNFreeILInstructionList(versions); |
| 1514 | } |
| 1515 | |
| 1516 | BNFreeVariableList(vars); |
| 1517 | return result; |
| 1518 | } |
| 1519 | |
| 1520 | |
| 1521 | set<Variable> Function::GetMediumLevelILVariablesIfAvailable() |
nothing calls this directly
no test coverage detected