angr/tests/knowledge_plugins/functions
Ati Priya 36587c513a
FunctionParser: Serialize Function._call_sites. (#6613)
* FunctionParser: Serialize Function._call_sites.

serialize stores the transition graph but not Function._call_sites, and
parse_from_cmsg never repopulated it, so functions loaded back from LMDB
(SpillingFunctionDict eviction, angrdb) returned nothing from
get_call_sites(), get_call_target(), and get_call_return().

_call_sites cannot be rebuilt from transition graph edges. Store the
mapping in a new repeated CallSite field on the Function message and
restore it in parse_from_cmsg.

* lint

* Fix pyright errors in FunctionParser.

* Fix pyright error in LMDB function manager test.
2026-07-14 17:15:50 -07:00
..
__init__.py tests: Add missing __init__.py files for test discovery (#3498) 2022-08-29 23:10:42 -07:00
test_function.py Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
test_function2.py Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
test_function_manager.py Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
test_function_manager_lmdb.py FunctionParser: Serialize Function._call_sites. (#6613) 2026-07-14 17:15:50 -07:00
test_function_meta_only_blocks_iterator.py CFGFast: iterate func.block_addrs for drop_bad_functions cleanup (works for spilled funcs) (#6419) 2026-05-20 02:52:13 -07:00
test_function_parser_fakeret.py function_parser: derive fake_return is_outside from cmsg.blocks membership (defense-in-depth for #6414) (#6417) 2026-05-20 02:49:54 -07:00
test_function_parser_previous_names.py FunctionParser: convert previous_names protobuf field to a plain list. (#6584) 2026-07-07 14:21:32 -07:00
test_function_post_analysis_dirty.py CFGFast: use Function._remove_fakeret (mark dirty) instead of direct transition_graph.remove_edge (#6416) 2026-05-20 02:48:10 -07:00
test_prototypes.py Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00