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