List of all SSA register stacks and versions used in this IL
(self)
| 3702 | |
| 3703 | @property |
| 3704 | def ssa_reg_stacks(self) -> List[SSARegisterStack]: |
| 3705 | """ List of all SSA register stacks and versions used in this IL """ |
| 3706 | register_stack_count = ctypes.c_ulonglong() |
| 3707 | register_stacks = core.BNGetLowLevelSSARegisterStacksWithoutVersions(self.handle, register_stack_count) |
| 3708 | assert register_stacks is not None, "core.BNGetLowLevelRegisterStacks returned None" |
| 3709 | result = [] |
| 3710 | try: |
| 3711 | for var_i in range(register_stack_count.value): |
| 3712 | version_count = ctypes.c_ulonglong() |
| 3713 | versions = core.BNGetLowLevelRegisterStackSSAVersions( |
| 3714 | self.handle, register_stacks[var_i], version_count |
| 3715 | ) |
| 3716 | assert versions is not None, "core.BNGetLowLevelRegisterStackSSAVersions returned None" |
| 3717 | try: |
| 3718 | for version_i in range(version_count.value): |
| 3719 | result.append( |
| 3720 | SSARegisterStack(ILRegisterStack(self.arch, register_stacks[var_i]), versions[version_i]) |
| 3721 | ) |
| 3722 | finally: |
| 3723 | core.BNFreeLLILVariableVersionList(versions) |
| 3724 | finally: |
| 3725 | core.BNFreeLLILVariablesList(register_stacks) |
| 3726 | return result |
| 3727 | |
| 3728 | @property |
| 3729 | def ssa_flags(self) -> List[SSAFlag]: |
nothing calls this directly
no test coverage detected