@ -106,36 +106,22 @@ let assign = "<\"Assign\">"
with a direct array access where an error is produced and the analysis continues * )
let bound_error_allowed_in_procedure_call = true
let buck_infer_deps_file_name = " infer-deps.txt "
let buck_out_gen = " buck-out " ^/ " gen "
let buck_results_dir_name = " infer "
let captured_dir_name = " captured "
let clang_initializer_prefix = " __infer_globals_initializer_ "
let clang_inner_destructor_prefix = " __infer_inner_destructor_ "
let classnames_dir_name = " classnames "
let costs_report_json = " costs-report.json "
let default_failure_name = " ASSERTION_FAILURE "
(* * Dotty output filename * *)
let dotty_frontend_output = " proc_cfgs_frontend.dot "
let duplicates_filename = " duplicates.txt "
let trace_events_file = " perf_events.json "
(* * exit code to use for the --fail-on-issue option *)
let fail_on_issue_exit_code = 2
let global_tenv_filename = " .global.tenv "
(* * If true, treat calls to no-arg getters as idempotent w.r.t non-nullness *)
let idempotent_getters = true
@ -143,10 +129,6 @@ let ivar_attributes = "ivar_attributes"
let java_lambda_marker_infix = " $Lambda$ "
let lint_dotty_dir_name = " lint_dotty "
let lint_issues_dir_name = " lint_issues "
let manual_biabduction = " BIABDUCTION CHECKER OPTIONS "
let manual_buck = " BUCK OPTIONS "
@ -190,28 +172,14 @@ let meet_level = 1
let nsnotification_center_checker_backend = false
let nullsafe_file_level_issues_dir_name = " nullsafe_file_level "
let procnames_locks_dir_name = " procnames_locks "
let property_attributes = " property_attributes "
let racerd_issues_dir_name = " racerd "
let report_condition_always_true_in_clang = false
let report_html_dir = " report.html "
let report_json = " report.json "
(* * If true, sanity-check inferred preconditions against Nullable annotations and report
inconsistencies * )
let report_nullable_inconsistency = true
let report_txt = " report.txt "
let retain_cycle_dotty_dir = " retain_cycle_dotty "
(* * If true, compact summaries before saving *)
let save_compact_summaries = true
@ -222,10 +190,6 @@ let source_file_extentions = [".java"; ".m"; ".mm"; ".c"; ".cc"; ".cpp"; ".h"]
let specs_files_suffix = " .specs "
let starvation_issues_dir_name = " starvation_issues "
let test_determinator_results = " test_determinator_results "
(* * Enable detailed tracing information during array abstraction *)
let trace_absarray = false
@ -2055,9 +2019,8 @@ and source_files_cfg =
CLOpt . mk_bool ~ long : " source-files-cfg "
~ in_help : InferCommand . [ ( Explore , manual_explore_source_files ) ]
( Printf . sprintf
" Output a dotty file in infer-out/%s for each source file in the output of \
$ ( b , - - source - files ) "
captured_dir_name )
" Output a dotty file in %s for each source file in the output of $(b,--source-files) "
( ResultsDirEntryName . get_path ~ results_dir : " infer-out " Debug ) )
and source_files_filter =
@ -2216,7 +2179,8 @@ and threadsafe_aliases =
and trace_events =
CLOpt . mk_bool ~ long : " trace-events "
( Printf . sprintf " Emit Chrome performance trace events in infer-out/%s " trace_events_file )
( Printf . sprintf " Emit Chrome performance trace events in %s "
( ResultsDirEntryName . get_path ~ results_dir : " infer-out " PerfEvents ) )
and trace_join =
@ -2721,7 +2685,10 @@ and force_delete_results_dir = !force_delete_results_dir
and force_integration = ! force_integration
and from_json_report = Option . value ! from_json_report ~ default : ( ! results_dir ^/ report_json )
and from_json_report =
Option . value ! from_json_report
~ default : ( ResultsDirEntryName . get_path ~ results_dir : ! results_dir ReportJson )
and frontend_stats = ! frontend_stats
@ -3077,8 +3044,6 @@ let is_checker_enabled c =
if Checker . equal checker c then Some enabled else None )
let captured_dir = results_dir ^/ captured_dir_name
let clang_frontend_action_string =
let text = if capture then [ " translating " ] else [] in
let text = if is_checker_enabled Linters then " linting " :: text else text in
@ -3092,8 +3057,6 @@ let clang_frontend_action_string =
String . concat ~ sep : " , " text
let procnames_locks_dir = results_dir ^/ procnames_locks_dir_name
(* Specify treatment of dynamic dispatch in Java code: false 'none' treats dynamic dispatch as
a call to unknown code and true triggers lazy dynamic dispatch . The latter mode follows the
JVM semantics and creates procedure descriptions during symbolic execution using the type