List of all SSA registers and versions used in this IL
(self)
| 3680 | |
| 3681 | @property |
| 3682 | def ssa_regs(self) -> List[SSARegister]: |
| 3683 | """ List of all SSA registers and versions used in this IL """ |
| 3684 | register_count = ctypes.c_ulonglong() |
| 3685 | registers = core.BNGetLowLevelSSARegistersWithoutVersions(self.handle, register_count) |
| 3686 | assert registers is not None, "core.BNGetLowLevelRegisters returned None" |
| 3687 | result = [] |
| 3688 | try: |
| 3689 | for var_i in range(register_count.value): |
| 3690 | version_count = ctypes.c_ulonglong() |
| 3691 | versions = core.BNGetLowLevelRegisterSSAVersions(self.handle, registers[var_i], version_count) |
| 3692 | assert versions is not None, "core.BNGetLowLevelRegisterSSAVersions returned None" |
| 3693 | try: |
| 3694 | for version_i in range(version_count.value): |
| 3695 | result.append(SSARegister(ILRegister(self.arch, registers[var_i]), versions[version_i])) |
| 3696 | finally: |
| 3697 | core.BNFreeLLILVariableVersionList(versions) |
| 3698 | |
| 3699 | return result |
| 3700 | finally: |
| 3701 | core.BNFreeLLILVariablesList(registers) |
| 3702 | |
| 3703 | @property |
| 3704 | def ssa_reg_stacks(self) -> List[SSARegisterStack]: |
nothing calls this directly
no test coverage detected