Skip to content

Commit

Permalink
[easy] Replace dtor to destructor
Browse files Browse the repository at this point in the history
Summary: ^^

Reviewed By: jvillard

Differential Revision: D52964209

fbshipit-source-id: c39627438328a9bd894a1768cfe39c3c07dfb668
  • Loading branch information
skcho authored and facebook-github-bot committed Jan 22, 2024
1 parent aabc934 commit 9fc603c
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 12 deletions.
6 changes: 3 additions & 3 deletions infer/src/pulse/Pulse.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1306,14 +1306,14 @@ module PulseTransferFunctions = struct
if Typ.is_int typ then PulseArithmetic.and_is_int v astate else Sat (Ok astate)


let check_modified_before_dtor args call_exp astate astate_n =
let check_modified_before_destructor args call_exp astate astate_n =
match ((call_exp : Exp.t), args) with
| (Const (Cfun proc_name) | Closure {name= proc_name}), (Exp.Lvar pvar, _) :: _
when Procname.is_destructor proc_name ->
let var = Var.of_pvar pvar in
PulseNonDisjunctiveOperations.mark_modified_copies_and_parameters_on_abductive [var] astate
astate_n
|> NonDisjDomain.checked_via_dtor var
|> NonDisjDomain.checked_via_destructor var
| _ ->
astate_n

Expand Down Expand Up @@ -1482,7 +1482,7 @@ module PulseTransferFunctions = struct
let results = SatUnsat.to_list result in
(PulseReport.report_results tenv proc_desc err_log loc results, path, astate_n)
| Call (ret, call_exp, actuals, loc, call_flags) ->
let astate_n = check_modified_before_dtor actuals call_exp astate astate_n in
let astate_n = check_modified_before_destructor actuals call_exp astate astate_n in
let astates, astate_n =
List.fold actuals ~init:([astate], astate_n) ~f:(fun (astates, astate_n) (exp, typ) ->
NonDisjDomain.bind (astates, astate_n) ~f:(fun astate astate_n ->
Expand Down
14 changes: 8 additions & 6 deletions infer/src/pulse/PulseNonDisjunctiveDomain.ml
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ module IntraDomElt = struct
{astate_n with parameter_map}


let checked_via_dtor var astate_n =
let checked_via_destructor var astate_n =
{astate_n with destructor_checked= DestructorChecked.add var astate_n.destructor_checked}


Expand Down Expand Up @@ -473,7 +473,9 @@ module IntraDomElt = struct
{astate_n with parameter_map= ParameterMap.add parameter_var res astate_n.parameter_map}


let is_checked_via_dtor var {destructor_checked} = DestructorChecked.mem var destructor_checked
let is_checked_via_destructor var {destructor_checked} =
DestructorChecked.mem var destructor_checked


let set_captured_variables exp astate_n =
match exp with
Expand Down Expand Up @@ -551,7 +553,7 @@ module IntraDom = struct
map (IntraDomElt.mark_parameter_as_modified ~is_modified ~var)


let checked_via_dtor var = map (IntraDomElt.checked_via_dtor var)
let checked_via_destructor var = map (IntraDomElt.checked_via_destructor var)

let get_copied ~ref_formals ~ptr_formals =
get ~default:[] (IntraDomElt.get_copied ~ref_formals ~ptr_formals)
Expand All @@ -571,7 +573,7 @@ module IntraDom = struct

let add_parameter parameter_var res = map (IntraDomElt.add_parameter parameter_var res)

let is_checked_via_dtor var = get ~default:true (IntraDomElt.is_checked_via_dtor var)
let is_checked_via_destructor var = get ~default:true (IntraDomElt.is_checked_via_destructor var)

let set_captured_variables exp = map (IntraDomElt.set_captured_variables exp)

Expand Down Expand Up @@ -721,7 +723,7 @@ let mark_parameter_as_modified ~is_modified ~var =
map_intra (IntraDom.mark_parameter_as_modified ~is_modified ~var)


let checked_via_dtor var = map_intra (IntraDom.checked_via_dtor var)
let checked_via_destructor var = map_intra (IntraDom.checked_via_destructor var)

let get_copied ~ref_formals ~ptr_formals {intra} =
IntraDom.get_copied ~ref_formals ~ptr_formals intra
Expand All @@ -741,7 +743,7 @@ let add_field copied_field ~source_addr_opt res =

let add_parameter parameter_var res = map_intra (IntraDom.add_parameter parameter_var res)

let is_checked_via_dtor var {intra} = IntraDom.is_checked_via_dtor var intra
let is_checked_via_destructor var {intra} = IntraDom.is_checked_via_destructor var intra

let set_captured_variables exp = map_intra (IntraDom.set_captured_variables exp)

Expand Down
4 changes: 2 additions & 2 deletions infer/src/pulse/PulseNonDisjunctiveDomain.mli
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ val add_field : Fieldname.t -> source_addr_opt:AbstractValue.t option -> copy_sp

val add_parameter : Var.t -> parameter_spec_t -> t -> t

val checked_via_dtor : Var.t -> t -> t
val checked_via_destructor : Var.t -> t -> t

val mark_copy_as_modified :
is_modified:(BaseMemory.t -> Timestamp.t -> bool)
Expand All @@ -84,7 +84,7 @@ val get_copied :

val get_const_refable_parameters : t -> (Var.t * Typ.t * Location.t) list

val is_checked_via_dtor : Var.t -> t -> bool
val is_checked_via_destructor : Var.t -> t -> bool

val set_captured_variables : Exp.t -> t -> t

Expand Down
2 changes: 1 addition & 1 deletion infer/src/pulse/PulseNonDisjunctiveOperations.ml
Original file line number Diff line number Diff line change
Expand Up @@ -689,7 +689,7 @@ let mark_modified_copies_and_parameters_on_abductive vars astate astate_n =

let mark_modified_copies_and_parameters vars astates astate_n =
let unchecked_vars =
List.filter vars ~f:(fun var -> not (NonDisjDomain.is_checked_via_dtor var astate_n))
List.filter vars ~f:(fun var -> not (NonDisjDomain.is_checked_via_destructor var astate_n))
in
continue_fold astates ~init:astate_n ~f:(fun astate_n astate ->
mark_modified_copies_and_parameters_on_abductive unchecked_vars astate astate_n )

0 comments on commit 9fc603c

Please sign in to comment.