| 1050 | core.BNMediumLevelILFreeOperandList(operand_list) |
| 1051 | |
| 1052 | def _get_var_list(self, operand_index1: int, operand_index2: int) -> List[variable.Variable]: |
| 1053 | # We keep this extra parameter around because when this function is called |
| 1054 | # the subclasses that call this don't use the next operand |
| 1055 | # without this parameter it looks like this operand is being skipped unintentionally |
| 1056 | # rather this operand is being skipped intentionally. |
| 1057 | _ = operand_index2 |
| 1058 | count = ctypes.c_ulonglong() |
| 1059 | operand_list = core.BNMediumLevelILGetOperandList(self.function.handle, self.expr_index, operand_index1, count) |
| 1060 | assert operand_list is not None, "core.BNMediumLevelILGetOperandList returned None" |
| 1061 | value: List[variable.Variable] = [] |
| 1062 | try: |
| 1063 | for j in range(count.value): |
| 1064 | value.append(variable.Variable.from_identifier(self.function, operand_list[j])) |
| 1065 | return value |
| 1066 | finally: |
| 1067 | core.BNMediumLevelILFreeOperandList(operand_list) |
| 1068 | |
| 1069 | def _get_var_ssa_list(self, operand_index1: int, _: int) -> List[SSAVariable]: |
| 1070 | count = ctypes.c_ulonglong() |