let reference_parameter_usage e =
debug "[reference_parameter_usage]" ;
match by_pointer_reference_usage e with
| Ok(x,n) ->
debug " %a used as ptr reference param of arity %d"
!Ast_printer.d_var x n ;
add_ptr_reference_param (Cv x) n; true
| Ko(x,_) ->
debug " %a BADLY used as ptr reference param"
!Ast_printer.d_var x ;
remove_ptr_reference_param (Cv x); true
| Any ->
(match by_array_reference_usage e with
| Ok(x,n) ->
debug " %a used as array reference param of arity %d"
!Ast_printer.d_var x n ;
add_array_reference_param (Cv x) n ; true
| Ko(x,_) ->
debug " %a BADLY used as array reference param"
!Ast_printer.d_var x ;
remove_array_reference_param (Cv x);true
| Any -> (); false)