fn propagate(&mut self, rmod: &mut RadecoModule, fn_ref: u64) {
        if let Some(rfn) = rmod.functions.get(&fn_ref) {
            for context in rfn.call_sites(&rmod.callgraph) {
                let callee = rmod
                    .callgraph
                    .callees(context.csite_node)
                    .next()
                    .map(|x| x.0)
                    .unwrap_or_else(|| {
                        radeco_err!("Call site cannot have callee as `None`");
                        0
                    });
                let _args = if let Some(callee) = rmod.functions.get(&callee) {
                    callee.args().clone()
                } else {
                    // XXX
                    // No information is inferable. Load data from r2. For now, we use fake data.
                    //unimplemented!()
                    Vec::new()
                };
            }
        }
    }
// Iterate through all the call-sites in a function(`fn_ref`) and pull in changes from the
// callees. i.e. Replace args_list by args_list in the callee and replace modifides by the
// values the callee actually modifies.
Iterate through all the call-sites in a function(`fn_ref`) and pull in changes from the
callees.
Iterate through all the call - sites in a function ( ` fn_ref ` ) and pull in changes from the callees .
fn propagate(&mut self, rmod: &mut RadecoModule, fn_ref: u64) {
        if let Some(rfn) = rmod.functions.get(&fn_ref) {
            for context in rfn.call_sites(&rmod.callgraph) {
                let callee = rmod
                    .callgraph
                    .callees(context.csite_node)
                    .next()
                    .map(|x| x.0)
                    .unwrap_or_else(|| {
                        radeco_err!("Call site cannot have callee as `None`");
                        0
                    });
                let _args = if let Some(callee) = rmod.functions.get(&callee) {
                    callee.args().clone()
                } else {
                    // XXX
                    // No information is inferable. Load data from r2. For now, we use fake data.
                    //unimplemented!()
                    Vec::new()
                };
            }
        }
    }
fn propagate ( & mut self , rmod : & mut RadecoModule , fn_ref : u64 ) { if let Some ( rfn ) = rmod . functions . get ( & fn_ref ) { for context in rfn . call_sites ( & rmod . callgraph ) { let callee = rmod . callgraph . callees ( context . csite_node ) . next ( ) . map ( | x | x . 0 ) . unwrap_or_else ( | | { radeco_err ! ( " " ) ; 0 } ) ; let _args = if let Some ( callee ) = rmod . functions . get ( & callee ) { callee . args ( ) . clone ( ) } else { // XXX // No information is inferable. Load data from r2. For now, we use fake data. //unimplemented!() Vec :: new ( ) } ; } } }
Iterate through all the call-sites in a function(`fn_ref`) and pull in changes from the
callees.
Iterate through all the call - sites in a function ( ` fn_ref ` ) and pull in changes from the callees .
&mut self
rmod
&mut RadecoModule
fn_ref
u64
&mut self
rmod
&mut RadecoModule
fn_ref
u64