(&mut self, fuzz_varaint: &FuzzVariant)
| 670 | } |
| 671 | |
| 672 | fn change_call_arg_fuzzable(&mut self, fuzz_varaint: &FuzzVariant) -> Result<()> { |
| 673 | let visitor = self.get_new_visitor()?; |
| 674 | let n_call = fuzz_varaint.get_n_th_call(); |
| 675 | let arg_pos = fuzz_varaint.get_arg_pos(); |
| 676 | let call_name = fuzz_varaint.get_call_name(); |
| 677 | let call = visitor.visit_nth_library_call(*n_call); |
| 678 | let constraint = fuzz_varaint.get_constraint(); |
| 679 | |
| 680 | let arg = crate::ast::utils::get_nth_arg(call, *arg_pos)?; |
| 681 | let ty = get_func_gadget(call_name) |
| 682 | .unwrap() |
| 683 | .get_canonical_arg_type(*arg_pos) |
| 684 | .unwrap(); |
| 685 | |
| 686 | self.change_arg_by_constraint( |
| 687 | (call, call_name, *n_call), |
| 688 | *arg_pos, |
| 689 | arg, |
| 690 | constraint, |
| 691 | ty, |
| 692 | &visitor, |
| 693 | )?; |
| 694 | Ok(()) |
| 695 | } |
| 696 | |
| 697 | /// make up a variable for this call's list arg. |
| 698 | fn makeup_sized_call_list_arg( |
no test coverage detected