diff --git a/infer/src/checkers/SimpleChecker.ml b/infer/src/checkers/SimpleChecker.ml index 23fb535cf..74db23524 100644 --- a/infer/src/checkers/SimpleChecker.ml +++ b/infer/src/checkers/SimpleChecker.ml @@ -104,5 +104,5 @@ module Make (Spec : Spec) : S = struct Spec.report astate (ProcCfg.Exceptional.loc node) proc_name) astate_set in let inv_map = Analyzer.exec_pdesc (ProcData.make_default proc_desc tenv) in - Analyzer.M.iter do_reporting inv_map + Analyzer.InvariantMap.iter do_reporting inv_map end diff --git a/infer/src/checkers/SimpleChecker.mli b/infer/src/checkers/SimpleChecker.mli new file mode 100644 index 000000000..ecf5819a5 --- /dev/null +++ b/infer/src/checkers/SimpleChecker.mli @@ -0,0 +1,23 @@ +(* + * Copyright (c) 2016 - present Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + *) + +module type Spec = +sig + type astate + val initial : astate + val exec_instr : + astate -> + Sil.instr -> Cfg.Node.nodekind -> Procname.t -> Tenv.t -> astate + val report : astate -> Location.t -> Procname.t -> unit + val compare : astate -> astate -> int +end + +module type S = sig val checker : Callbacks.proc_callback_args -> unit end + +module Make : functor (Spec : Spec) -> S diff --git a/infer/src/checkers/registerCheckers.ml b/infer/src/checkers/registerCheckers.ml index 19c019a4f..fbb0de5fe 100644 --- a/infer/src/checkers/registerCheckers.ml +++ b/infer/src/checkers/registerCheckers.ml @@ -41,6 +41,8 @@ let active_procedure_checkers () = AnnotationReachability.Interprocedural.check_and_report, checkers_enabled; ThreadSafety.method_analysis, false; ] in + (* make sure SimpleChecker.ml is not dead code *) + if false then (let module SC = SimpleChecker.Make in ()); IList.map (fun (x, y) -> (x, y, Some Config.Java)) l in let c_cpp_checkers = let l =