Module fn_info

Module fn_info 

Source

Structs§

AdtInfo
ContractEntry
FnInfo

Enums§

FnKind

Functions§

access_ident_recursive
return the (ident, its fields) of the expr.
append_fn_with_types
check_safety
check_visibility
collect_global_local_pairs
Collects pairs of global static variables and their corresponding local variables within a function’s MIR that are assigned from statics.
convert_alias_to_sets
dfs_find_unsafe_chains 🔒
display_hashmap
extract_unsafe_callee 🔒
find_generic_in_ty 🔒
Iterate the args’ types recursively and find the matched generic one.
find_generic_param 🔒
Find generic type parameters in the parameter list
find_unsafe_callees_in_function 🔒
generate_contract_from_annotation
Get the annotation in tag-std style. Then generate the contractual invariant states (CIS) for the args. This function will recognize the args name and record states to MIR variable (represent by usize). Return value means Vec<(local_id, fields of this local, contracts)>
generate_contract_from_annotation_without_field_types
Same with generate_contract_from_annotation but does not contain field types.
generate_contract_from_std_annotation_json
Generate contracts from pre-defined std-lib JSON configuration (std_sps_args.json).
generate_mir_cfg_dot
get_adt_def_id_by_adt_method
get_adt_ty
get_adt_via_method
get_all_callees
get_all_mutable_methods
get_all_std_fns_by_rustc_public
get_all_std_unsafe_callees
get_all_std_unsafe_callees_block_id
get_all_std_unsafe_chains
get_cleaned_def_path_name
get_cleaned_def_path_name_ori
get_cons
get_impls_for_struct
get_known_std_names 🔒
We use a json to record known std apis’ arg names. This function will search the json and return the names. Notes: If std gets updated, the json may still record old ones.
get_pointee
get_ptr_deref_dummy_def_id
get_public_fields
get_rawptr_deref
Analyzes the MIR of the given function to collect all local variables that are involved in dereferencing raw pointers (*const T or *mut T).
get_sp
get_sp_tags_and_args_json
get_sp_tags_json
get_std_api_signature_json
get_std_contracts
get_struct_name
get_type
get_unsafe_callees
has_mut_self_param
has_tainted_fields
is_ptr
is_re_exported
is_ref
is_slice
is_strict_ty
is_strict_ty_convert
is_verify_target_func
Filter the function which contains “rapx::proof”
match_primitive_type 🔒
Match built-in primitive types from String
match_std_unsafe_callee
match_std_unsafe_chains_callee
match_ty_with_ident
Match a type identifier string to a concrete Rust type
parse_cis_local
Parse attr.expr into local id and local fields.
parse_expr_into_local_and_ty
parse single expr into (local, fields, ty)
parse_expr_into_number
parse expr into number.
parse_local_signature
Return the Vecs of args’ names and types of local functions.
parse_outside_signature 🔒
Return the Vecs of args’ names and types of outside functions.
parse_signature
Return the Vecs of args’ names and types This function will handle outside def_id by different way.
place_has_raw_deref 🔒
print_hashset
print_unsafe_chains
reflect_generic
reverse_op
search_constructor
try_get_mir 🔒