``get_callees`` returns a list of virtual addresses called by the call site in the function ``func``, of the architecture ``arch``, and at the address ``addr``. If no function is specified, call sites from all functions and containing the address will be considered. If no architecture is spec
(self, addr: int, func: Optional['_function.Function'] = None, arch: Optional['architecture.Architecture'] = None)
| 6053 | core.BNFreeCodeReferences(refs, count.value) |
| 6054 | |
| 6055 | def get_callees(self, addr: int, func: Optional['_function.Function'] = None, |
| 6056 | arch: Optional['architecture.Architecture'] = None) -> List[int]: |
| 6057 | """ |
| 6058 | ``get_callees`` returns a list of virtual addresses called by the call site in the function ``func``, |
| 6059 | of the architecture ``arch``, and at the address ``addr``. If no function is specified, call sites from |
| 6060 | all functions and containing the address will be considered. If no architecture is specified, the |
| 6061 | architecture of the function will be used. |
| 6062 | |
| 6063 | :param int addr: virtual address of the call site to query for callees |
| 6064 | :param Function func: (optional) the function that the call site belongs to |
| 6065 | :param Architecture func: (optional) the architecture of the call site |
| 6066 | :return: list of integers |
| 6067 | :rtype: list(integer) |
| 6068 | """ |
| 6069 | |
| 6070 | result = [] |
| 6071 | funcs = self.get_functions_containing(addr) if func is None else [func] |
| 6072 | if not funcs: |
| 6073 | return [] |
| 6074 | for src_func in funcs: |
| 6075 | src_arch = src_func.arch if arch is None else arch |
| 6076 | assert src_arch is not None |
| 6077 | ref_src = core.BNReferenceSource(src_func.handle, src_arch.handle, addr) |
| 6078 | count = ctypes.c_ulonglong(0) |
| 6079 | refs = core.BNGetCallees(self.handle, ref_src, count) |
| 6080 | assert refs is not None, "core.BNGetCallees returned None" |
| 6081 | try: |
| 6082 | for i in range(0, count.value): |
| 6083 | result.append(refs[i]) |
| 6084 | finally: |
| 6085 | core.BNFreeAddressList(refs) |
| 6086 | return result |
| 6087 | |
| 6088 | def get_symbol_at(self, addr: int, namespace: '_types.NameSpaceType' = None) -> Optional['_types.CoreSymbol']: |
| 6089 | """ |
no test coverage detected