angr.rust.analyses.rust_calling_convention.rust_calling_convention

class angr.rust.analyses.rust_calling_convention.rust_calling_convention.RustCallingConventionAnalysis

Bases: Analysis

Infer function prototype including struct return type and struct argument types.

Function prototype is inferred based on collected facts from the callee function body and the caller function body.

Facts collected from callee:
  1. Memory writes to the first argument

  2. Memory reads to all arguments

Facts collected from caller:
  1. Initialization of function arguments at callsite (memory writes at callsite)

  2. Uses of return value after callee is called

__init__(func, *, ail_manager, callsite_path=None, post_callsite_path=None, is_call_expr=None, depth=0, max_depth=8, callsite_discriminant_hint=None)
Parameters:

ail_manager (Manager)

property prototype