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

Method ssa_regs

python/lowlevelil.py:3682–3701  ·  view source on GitHub ↗

List of all SSA registers and versions used in this IL

(self)

Source from the content-addressed store, hash-verified

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]:

Callers

nothing calls this directly

Calls 3

ILRegisterClass · 0.85
SSARegisterClass · 0.70
appendMethod · 0.45

Tested by

no test coverage detected