| 1435 | |
| 1436 | |
| 1437 | set<SSAVariable> Function::GetMediumLevelILSSAVariables() |
| 1438 | { |
| 1439 | Ref<MediumLevelILFunction> mlil = this->GetMediumLevelIL(); |
| 1440 | if (!mlil) |
| 1441 | return {}; |
| 1442 | |
| 1443 | size_t count; |
| 1444 | BNVariable* vars = BNGetMediumLevelILVariables(mlil->GetObject(), &count); |
| 1445 | |
| 1446 | set<SSAVariable> result; |
| 1447 | for (size_t i = 0; i < count; ++i) |
| 1448 | { |
| 1449 | size_t versionCount; |
| 1450 | size_t* versions = BNGetMediumLevelILVariableSSAVersions(mlil->GetObject(), &vars[i], &versionCount); |
| 1451 | for (size_t j = 0; j < versionCount; ++j) |
| 1452 | result.emplace(vars[i], versions[j]); |
| 1453 | BNFreeILInstructionList(versions); |
| 1454 | } |
| 1455 | |
| 1456 | BNFreeVariableList(vars); |
| 1457 | return result; |
| 1458 | } |
| 1459 | |
| 1460 | |
| 1461 | set<Variable> Function::GetHighLevelILVariables() |
nothing calls this directly
no test coverage detected