Refactoring rizin type system: introduce type scope. #4464
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses #4421 .
RzTypeScope
.*_by_offset
hashtables indwarf_process.c
being attached to 1 compilation unit: allocate at the beginning, free before the end of processing current CU.Introduce
RzTypeScope
Should be a tree-like independent structure like this:
Change API implementation of "by name" type requests.
rz_type_db_get_base_type
rz_type_db_get_compound_type
rz_type_db_save_base_type
rz_type_db_update_base_type
rz_type_db_delete_base_type
rz_type_db_get_base_types_of_kind
rz_type_db_get_base_types
rz_type_db_edit_base_type
rz_type_db_base_type_unwrap_typedef
Refactor API usage of "by name" type requests.
typedb->types
usage:base.c
serialize_types.c
type.c
typeclass.c
c_cpp_parser.c
test_type.c
rz_type_db.*base_type
usage:dwarf_process.c
pdb_process.c
cpdb.c
ctypes.c
base.c
format.c
helpers.c
path.c
type.c
typeclass.c
test_dwarf_integration.c
test_pdb.c
test_project_migrate.c
test_analysis_function.c
test_serialize_types.c
test_type.c
Additional API
Your checklist for this pull request
Detailed description
...
Test plan
...
Closing issues
...