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

Method ssa_flags

python/lowlevelil.py:3729–3747  ·  view source on GitHub ↗

List of all SSA flags and versions used in this IL

(self)

Source from the content-addressed store, hash-verified

3727
3728 @property
3729 def ssa_flags(self) -> List[SSAFlag]:
3730 """ List of all SSA flags and versions used in this IL """
3731 flag_count = ctypes.c_ulonglong()
3732 flags = core.BNGetLowLevelSSAFlagsWithoutVersions(self.handle, flag_count)
3733 assert flags is not None, "core.BNGetLowLevelFlags returned None"
3734 result = []
3735 try:
3736 for var_i in range(flag_count.value):
3737 version_count = ctypes.c_ulonglong()
3738 versions = core.BNGetLowLevelFlagSSAVersions(self.handle, flags[var_i], version_count)
3739 assert versions is not None, "core.BNGetLowLevelFlagSSAVersions returned None"
3740 try:
3741 for version_i in range(version_count.value):
3742 result.append(SSAFlag(ILFlag(self.arch, flags[var_i]), versions[version_i]))
3743 finally:
3744 core.BNFreeLLILVariableVersionList(versions)
3745 finally:
3746 core.BNFreeLLILVariablesList(flags)
3747 return result
3748
3749 @property
3750 def memory_versions(self) -> List[int]:

Callers

nothing calls this directly

Calls 3

ILFlagClass · 0.85
SSAFlagClass · 0.70
appendMethod · 0.45

Tested by

no test coverage detected