List of all SSA flags and versions used in this IL
(self)
| 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]: |