From 6e37247b7b88c0d2088c8633c8b9c2ec14da83ce Mon Sep 17 00:00:00 2001
From: Jules Villard
--class-loads
-Activates: checker class-loads: -Compute set of Java classes loaded. (Conversely: ---no-class-loads)
+--config-checks-between-markers
---class-loads-only
+Activates: checker +config-checks-between-markers: [EXPERIMENTAL] Collects +config checks between marker start and end. (Conversely: +--no-config-checks-between-markers)
-Activates: Enable class-loads -and disable all other checkers (Conversely: ---no-class-loads-only)
+ +--config-checks-between-markers-only
+ +Activates: Enable +config-checks-between-markers and disable all other checkers +(Conversely: +--no-config-checks-between-markers-only)
--continue-analysis
@@ -441,6 +445,12 @@ pulse will only explore one path. Can be used on pathologically large procedures to prevent too-big states from being produced. +--pulse-model-abort ++string
+ +Methods that should be modelled +as abort in Pulse
+--pulse-model-alloc-pattern string
diff --git a/website/static/man/next/infer-capture.1.html b/website/static/man/next/infer-capture.1.html index 9266ab2b8..a4f799bd3 100644 --- a/website/static/man/next/infer-capture.1.html +++ b/website/static/man/next/infer-capture.1.html @@ -1,5 +1,5 @@ - + diff --git a/website/static/man/next/infer-compile.1.html b/website/static/man/next/infer-compile.1.html index ae6dd74bf..75492ba88 100644 --- a/website/static/man/next/infer-compile.1.html +++ b/website/static/man/next/infer-compile.1.html @@ -1,5 +1,5 @@ - + diff --git a/website/static/man/next/infer-explore.1.html b/website/static/man/next/infer-explore.1.html index 22a7ca8d8..7b00fe7bd 100644 --- a/website/static/man/next/infer-explore.1.html +++ b/website/static/man/next/infer-explore.1.html @@ -1,5 +1,5 @@ - + diff --git a/website/static/man/next/infer-help.1.html b/website/static/man/next/infer-help.1.html index 2bb809019..72638fa84 100644 --- a/website/static/man/next/infer-help.1.html +++ b/website/static/man/next/infer-help.1.html @@ -1,5 +1,5 @@ - + diff --git a/website/static/man/next/infer-report.1.html b/website/static/man/next/infer-report.1.html index 3b1664818..6ac3044f4 100644 --- a/website/static/man/next/infer-report.1.html +++ b/website/static/man/next/infer-report.1.html @@ -1,5 +1,5 @@ - + @@ -175,13 +175,9 @@ Array_of_pointsto (enabled by default),Show this manual with all internal options in the INTERNAL OPTIONS section
+--pmd-xml
+ +Activates: Output issues in +(PMD) XML format in infer-out/report.xml (Conversely: +--no-pmd-xml)
+--print-logs
Activates: Also log messages to diff --git a/website/static/man/next/infer.1.html b/website/static/man/next/infer.1.html index 95df8d418..6de12fb56 100644 --- a/website/static/man/next/infer.1.html +++ b/website/static/man/next/infer.1.html @@ -1,5 +1,5 @@ - + @@ -411,22 +411,6 @@ each analysis has to model.
See also
infer-analyze(1) and infer-capture(1).
---class-loads
Activates: checker class-loads: -Compute set of Java classes loaded. (Conversely: ---no-class-loads)
- -See also
-infer-analyze(1).
---class-loads-only
Activates: Enable class-loads -and disable all other checkers (Conversely: ---no-class-loads-only)
- -See also
-infer-analyze(1).
--compilation-database +path
File that contain compilation @@ -451,6 +435,24 @@ component kit file cyclomatic complexity (Conversely:
See also
infer-capture(1) and infer-run(1).
+--config-checks-between-markers
Activates: checker +config-checks-between-markers: [EXPERIMENTAL] Collects +config checks between marker start and end. (Conversely: +--no-config-checks-between-markers)
+ +See also
+infer-analyze(1).
+--config-checks-between-markers-only
Activates: Enable +config-checks-between-markers and disable all other checkers +(Conversely: +--no-config-checks-between-markers-only)
+ +See also
+infer-analyze(1).
--continue
Activates: Continue the capture
@@ -660,13 +662,9 @@ Array_of_pointsto (enabled by default),
Assert_failure (enabled by default),
BAD_POINTER_COMPARISON (enabled by default),
BIABDUCTION_ANALYSIS_STOPS (disabled by default),
+BIABDUCTION_MEMORY_LEAK (disabled by default),
BIABD_CONDITION_ALWAYS_FALSE (disabled by default),
BIABD_CONDITION_ALWAYS_TRUE (disabled by default),
-BIABD_REGISTERED_OBSERVER_BEING_DEALLOCATED (enabled by
-default),
-BIABD_STACK_VARIABLE_ADDRESS_ESCAPE (disabled by default),
-
-BIABD_USE_AFTER_FREE (enabled by default),
BUFFER_OVERRUN_L1 (enabled by default),
BUFFER_OVERRUN_L2 (enabled by default),
BUFFER_OVERRUN_L3 (enabled by default),
@@ -688,7 +686,6 @@ CHECKERS_FRAGMENT_RETAINS_VIEW (enabled by default),
CHECKERS_IMMUTABLE_CAST (enabled by default),
CHECKERS_PRINTF_ARGS (enabled by default),
CLASS_CAST_EXCEPTION (disabled by default),
-CLASS_LOAD (enabled by default),
COMPONENT_FACTORY_FUNCTION (enabled by default),
COMPONENT_FILE_CYCLOMATIC_COMPLEXITY (enabled by default),
@@ -701,6 +698,7 @@ COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS (enabled by
default),
CONDITION_ALWAYS_FALSE (disabled by default),
CONDITION_ALWAYS_TRUE (disabled by default),
+CONFIG_CHECKS_BETWEEN_MARKERS (disabled by default),
CONSTANT_ADDRESS_DEREFERENCE (disabled by default),
CREATE_INTENT_FROM_URI (enabled by default),
CROSS_SITE_SCRIPTING (enabled by default),
@@ -714,7 +712,6 @@ DEADLOCK (enabled by default),
DEAD_STORE (enabled by default),
DEALLOCATE_STACK_VARIABLE (enabled by default),
DEALLOCATE_STATIC_MEMORY (enabled by default),
-DEALLOCATION_MISMATCH (enabled by default),
DIRECT_ATOMIC_PROPERTY_ACCESS (enabled by default),
DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER (enabled by
default),
@@ -809,7 +806,6 @@ PRECONDITION_NOT_FOUND (enabled by default),
PRECONDITION_NOT_MET (enabled by default),
PREMATURE_NIL_TERMINATION_ARGUMENT (enabled by default),
-PULSE_MEMORY_LEAK (disabled by default),
PURE_FUNCTION (enabled by default),
QUANDARY_TAINT_ERROR (enabled by default),
REGISTERED_OBSERVER_BEING_DEALLOCATED (enabled by default),
@@ -1384,6 +1380,14 @@ containing perf profiler data to read
See also
infer-analyze(1).
+--pmd-xml
Activates: Output issues in +(PMD) XML format in infer-out/report.xml (Conversely: +--no-pmd-xml)
+ +See also infer-run(1).
+
--print-active-checkers
Activates: Print the active @@ -1526,6 +1530,13 @@ pulse will only explore one path. Can be used on pathologically large procedures to prevent too-big states from being produced.
+See also
+infer-analyze(1).
+--pulse-model-abort +string
Methods that should be modelled +as abort in Pulse
+See also
infer-analyze(1).
--pulse-model-alloc-pattern string
AbstractDomain.TopLiftedUtilsval leq : leq:(lhs:'a -> rhs:'a -> bool) -> lhs:'a Types.top_lifted -> rhs:'a Types.top_lifted -> boolval pp : pp:(Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a Types.top_lifted -> unitval pp_top : Stdlib.Format.formatter -> unitAbsint.Localisemodule Tags : sig ... endtype error_desc = {descriptions : string list; |
tags : Tags.t; |
dotty : string option; |
}description field of error messages
val compare_error_desc : error_desc -> error_desc -> intval no_desc : error_descempty error description
val verbatim_desc : string -> error_descverbatim desc from a string, not to be used for user-visible descs
module BucketLevel : sig ... endval error_desc_get_bucket : error_desc -> string optionget the bucket value of an error_desc, if any
val error_desc_set_bucket : error_desc -> string -> error_descset the bucket value of an error_desc
val error_desc_is_reportable_bucket : error_desc -> boolcheck if the report is in a high confidence bucket
val error_desc_hash : error_desc -> inthash function for error_desc
val error_desc_equal : error_desc -> error_desc -> boolequality for error_desc
val pp_error_desc : Stdlib.Format.formatter -> error_desc -> unitpretty print an error description
val error_desc_get_dotty : error_desc -> string optionval deref_str_null : IR.Procname.t option -> deref_strdereference strings for null dereference
val deref_str_nullable : IR.Procname.t option -> string -> deref_strdereference strings for null dereference due to Nullable annotation
val deref_str_undef : (IR.Procname.t * IBase.Location.t) -> deref_strdereference strings for an undefined value coming from the given procedure
val deref_str_freed : IR.PredSymb.res_action -> deref_strdereference strings for a freed pointer dereference
val deref_str_dangling : IR.PredSymb.dangling_kind option -> deref_strdereference strings for a dangling pointer dereference
val deref_str_array_bound : IR.IntLit.t option -> IR.IntLit.t option -> deref_strdereference strings for an array out of bound access
val deref_str_nil_argument_in_variadic_method : IR.Procname.t -> int -> int -> deref_strdereference strings for nonterminal nil arguments in c/objc variadic methods
val deref_str_pointer_size_mismatch : IR.Typ.t -> IR.Typ.t -> deref_strdereference strings for a pointer size mismatch
type access = | Last_assigned of int * bool | line, null_case_flag |
| Last_accessed of int * bool | line, is_nullable flag |
| Initialized_automatically | |
| Returned_from_call of int |
type of access
val dereference_string : IR.Procname.t -> deref_str -> string -> access option -> IBase.Location.t -> error_descval parameter_field_not_null_checked_desc : error_desc -> IR.Exp.t -> error_descval is_parameter_not_null_checked_desc : error_desc -> boolval is_field_not_null_checked_desc : error_desc -> boolval desc_allocation_mismatch : (IR.Procname.t * IR.Procname.t * IBase.Location.t) -> (IR.Procname.t * IR.Procname.t * IBase.Location.t) -> error_descval desc_class_cast_exception : IR.Procname.t option -> string -> string -> string option -> IBase.Location.t -> error_descval desc_condition_always_true_false : IR.IntLit.t -> string option -> IBase.Location.t -> error_descval desc_deallocate_stack_variable : string -> IR.Procname.t -> IBase.Location.t -> error_descval desc_deallocate_static_memory : string -> IR.Procname.t -> IBase.Location.t -> error_descval desc_divide_by_zero : string -> IBase.Location.t -> error_descval desc_empty_vector_access : IR.Procname.t option -> string -> IBase.Location.t -> error_descval is_empty_vector_access_desc : error_desc -> boolval desc_frontend_warning : string -> string option -> IBase.Location.t -> error_descval desc_leak : IR.Exp.t option -> string option -> IR.PredSymb.resource option -> IR.PredSymb.res_action option -> IBase.Location.t -> string option -> error_descval desc_null_test_after_dereference : string -> int -> IBase.Location.t -> error_descval desc_custom_error : IBase.Location.t -> error_descCreate human-readable error description for assertion failures
val desc_precondition_not_met : pnm_kind option -> IR.Procname.t -> IBase.Location.t -> error_descval desc_retain_cycle : string -> IBase.Location.t -> string option -> error_descval desc_registered_observer_being_deallocated : IR.Pvar.t -> IBase.Location.t -> error_descval desc_stack_variable_address_escape : IR.Pvar.t -> string option -> IBase.Location.t -> error_descval desc_skip_function : IR.Procname.t -> error_descval desc_inherently_dangerous_function : IR.Procname.t -> error_descval desc_unary_minus_applied_to_unsigned_expression : string option -> string -> IBase.Location.t -> error_descval desc_uninitialized_dangling_pointer_deref : deref_str -> string -> IBase.Location.t -> error_descval access_desc : access option -> string listAbsint.Localisemodule Tags : sig ... endtype error_desc = {descriptions : string list; |
tags : Tags.t; |
dotty : string option; |
}description field of error messages
val compare_error_desc : error_desc -> error_desc -> intval no_desc : error_descempty error description
val verbatim_desc : string -> error_descverbatim desc from a string, not to be used for user-visible descs
module BucketLevel : sig ... endval error_desc_get_bucket : error_desc -> string optionget the bucket value of an error_desc, if any
val error_desc_set_bucket : error_desc -> string -> error_descset the bucket value of an error_desc
val error_desc_is_reportable_bucket : error_desc -> boolcheck if the report is in a high confidence bucket
val error_desc_hash : error_desc -> inthash function for error_desc
val error_desc_equal : error_desc -> error_desc -> boolequality for error_desc
val pp_error_desc : Stdlib.Format.formatter -> error_desc -> unitpretty print an error description
val error_desc_get_dotty : error_desc -> string optionval deref_str_null : IR.Procname.t option -> deref_strdereference strings for null dereference
val deref_str_nullable : IR.Procname.t option -> string -> deref_strdereference strings for null dereference due to Nullable annotation
val deref_str_undef : (IR.Procname.t * IBase.Location.t) -> deref_strdereference strings for an undefined value coming from the given procedure
val deref_str_dangling : IR.PredSymb.dangling_kind option -> deref_strdereference strings for a dangling pointer dereference
val deref_str_array_bound : IR.IntLit.t option -> IR.IntLit.t option -> deref_strdereference strings for an array out of bound access
val deref_str_nil_argument_in_variadic_method : IR.Procname.t -> int -> int -> deref_strdereference strings for nonterminal nil arguments in c/objc variadic methods
val deref_str_pointer_size_mismatch : IR.Typ.t -> IR.Typ.t -> deref_strdereference strings for a pointer size mismatch
type access = | Last_assigned of int * bool | line, null_case_flag |
| Last_accessed of int * bool | line, is_nullable flag |
| Initialized_automatically | |
| Returned_from_call of int |
type of access
val dereference_string : IR.Procname.t -> deref_str -> string -> access option -> IBase.Location.t -> error_descval parameter_field_not_null_checked_desc : error_desc -> IR.Exp.t -> error_descval is_parameter_not_null_checked_desc : error_desc -> boolval is_field_not_null_checked_desc : error_desc -> boolval desc_class_cast_exception : IR.Procname.t option -> string -> string -> string option -> IBase.Location.t -> error_descval desc_condition_always_true_false : IR.IntLit.t -> string option -> IBase.Location.t -> error_descval desc_deallocate_stack_variable : string -> IR.Procname.t -> IBase.Location.t -> error_descval desc_deallocate_static_memory : string -> IR.Procname.t -> IBase.Location.t -> error_descval desc_divide_by_zero : string -> IBase.Location.t -> error_descval desc_empty_vector_access : IR.Procname.t option -> string -> IBase.Location.t -> error_descval is_empty_vector_access_desc : error_desc -> boolval desc_frontend_warning : string -> string option -> IBase.Location.t -> error_descval desc_leak : IR.Exp.t option -> string option -> IR.PredSymb.resource option -> IR.PredSymb.res_action option -> IBase.Location.t -> string option -> error_descval desc_null_test_after_dereference : string -> int -> IBase.Location.t -> error_descval desc_custom_error : IBase.Location.t -> error_descCreate human-readable error description for assertion failures
val desc_precondition_not_met : pnm_kind option -> IR.Procname.t -> IBase.Location.t -> error_descval desc_retain_cycle : string -> IBase.Location.t -> string option -> error_descval desc_registered_observer_being_deallocated : IR.Pvar.t -> IBase.Location.t -> error_descval desc_skip_function : IR.Procname.t -> error_descval desc_inherently_dangerous_function : IR.Procname.t -> error_descval desc_unary_minus_applied_to_unsigned_expression : string option -> string -> IBase.Location.t -> error_descval desc_uninitialized_dangling_pointer_deref : deref_str -> string -> IBase.Location.t -> error_descval access_desc : access option -> string listAbsint__AbstractDomain.TopLiftedUtilsval leq : leq:(lhs:'a -> rhs:'a -> bool) -> lhs:'a Types.top_lifted -> rhs:'a Types.top_lifted -> boolval pp : pp:(Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a Types.top_lifted -> unitval pp_top : Stdlib.Format.formatter -> unitAbsint__Localisemodule Tags : sig ... endtype error_desc = {descriptions : string list; |
tags : Tags.t; |
dotty : string option; |
}description field of error messages
val compare_error_desc : error_desc -> error_desc -> intval no_desc : error_descempty error description
val verbatim_desc : string -> error_descverbatim desc from a string, not to be used for user-visible descs
module BucketLevel : sig ... endval error_desc_get_bucket : error_desc -> string optionget the bucket value of an error_desc, if any
val error_desc_set_bucket : error_desc -> string -> error_descset the bucket value of an error_desc
val error_desc_is_reportable_bucket : error_desc -> boolcheck if the report is in a high confidence bucket
val error_desc_hash : error_desc -> inthash function for error_desc
val error_desc_equal : error_desc -> error_desc -> boolequality for error_desc
val pp_error_desc : Stdlib.Format.formatter -> error_desc -> unitpretty print an error description
val error_desc_get_dotty : error_desc -> string optionval deref_str_null : IR.Procname.t option -> deref_strdereference strings for null dereference
val deref_str_nullable : IR.Procname.t option -> string -> deref_strdereference strings for null dereference due to Nullable annotation
val deref_str_undef : (IR.Procname.t * IBase.Location.t) -> deref_strdereference strings for an undefined value coming from the given procedure
val deref_str_freed : IR.PredSymb.res_action -> deref_strdereference strings for a freed pointer dereference
val deref_str_dangling : IR.PredSymb.dangling_kind option -> deref_strdereference strings for a dangling pointer dereference
val deref_str_array_bound : IR.IntLit.t option -> IR.IntLit.t option -> deref_strdereference strings for an array out of bound access
val deref_str_nil_argument_in_variadic_method : IR.Procname.t -> int -> int -> deref_strdereference strings for nonterminal nil arguments in c/objc variadic methods
val deref_str_pointer_size_mismatch : IR.Typ.t -> IR.Typ.t -> deref_strdereference strings for a pointer size mismatch
type access = | Last_assigned of int * bool | line, null_case_flag |
| Last_accessed of int * bool | line, is_nullable flag |
| Initialized_automatically | |
| Returned_from_call of int |
type of access
val dereference_string : IR.Procname.t -> deref_str -> string -> access option -> IBase.Location.t -> error_descval parameter_field_not_null_checked_desc : error_desc -> IR.Exp.t -> error_descval is_parameter_not_null_checked_desc : error_desc -> boolval is_field_not_null_checked_desc : error_desc -> boolval desc_allocation_mismatch : (IR.Procname.t * IR.Procname.t * IBase.Location.t) -> (IR.Procname.t * IR.Procname.t * IBase.Location.t) -> error_descval desc_class_cast_exception : IR.Procname.t option -> string -> string -> string option -> IBase.Location.t -> error_descval desc_condition_always_true_false : IR.IntLit.t -> string option -> IBase.Location.t -> error_descval desc_deallocate_stack_variable : string -> IR.Procname.t -> IBase.Location.t -> error_descval desc_deallocate_static_memory : string -> IR.Procname.t -> IBase.Location.t -> error_descval desc_divide_by_zero : string -> IBase.Location.t -> error_descval desc_empty_vector_access : IR.Procname.t option -> string -> IBase.Location.t -> error_descval is_empty_vector_access_desc : error_desc -> boolval desc_frontend_warning : string -> string option -> IBase.Location.t -> error_descval desc_leak : IR.Exp.t option -> string option -> IR.PredSymb.resource option -> IR.PredSymb.res_action option -> IBase.Location.t -> string option -> error_descval desc_null_test_after_dereference : string -> int -> IBase.Location.t -> error_descval desc_custom_error : IBase.Location.t -> error_descCreate human-readable error description for assertion failures
val desc_precondition_not_met : pnm_kind option -> IR.Procname.t -> IBase.Location.t -> error_descval desc_retain_cycle : string -> IBase.Location.t -> string option -> error_descval desc_registered_observer_being_deallocated : IR.Pvar.t -> IBase.Location.t -> error_descval desc_stack_variable_address_escape : IR.Pvar.t -> string option -> IBase.Location.t -> error_descval desc_skip_function : IR.Procname.t -> error_descval desc_inherently_dangerous_function : IR.Procname.t -> error_descval desc_unary_minus_applied_to_unsigned_expression : string option -> string -> IBase.Location.t -> error_descval desc_uninitialized_dangling_pointer_deref : deref_str -> string -> IBase.Location.t -> error_descval access_desc : access option -> string listAbsint__Localisemodule Tags : sig ... endtype error_desc = {descriptions : string list; |
tags : Tags.t; |
dotty : string option; |
}description field of error messages
val compare_error_desc : error_desc -> error_desc -> intval no_desc : error_descempty error description
val verbatim_desc : string -> error_descverbatim desc from a string, not to be used for user-visible descs
module BucketLevel : sig ... endval error_desc_get_bucket : error_desc -> string optionget the bucket value of an error_desc, if any
val error_desc_set_bucket : error_desc -> string -> error_descset the bucket value of an error_desc
val error_desc_is_reportable_bucket : error_desc -> boolcheck if the report is in a high confidence bucket
val error_desc_hash : error_desc -> inthash function for error_desc
val error_desc_equal : error_desc -> error_desc -> boolequality for error_desc
val pp_error_desc : Stdlib.Format.formatter -> error_desc -> unitpretty print an error description
val error_desc_get_dotty : error_desc -> string optionval deref_str_null : IR.Procname.t option -> deref_strdereference strings for null dereference
val deref_str_nullable : IR.Procname.t option -> string -> deref_strdereference strings for null dereference due to Nullable annotation
val deref_str_undef : (IR.Procname.t * IBase.Location.t) -> deref_strdereference strings for an undefined value coming from the given procedure
val deref_str_dangling : IR.PredSymb.dangling_kind option -> deref_strdereference strings for a dangling pointer dereference
val deref_str_array_bound : IR.IntLit.t option -> IR.IntLit.t option -> deref_strdereference strings for an array out of bound access
val deref_str_nil_argument_in_variadic_method : IR.Procname.t -> int -> int -> deref_strdereference strings for nonterminal nil arguments in c/objc variadic methods
val deref_str_pointer_size_mismatch : IR.Typ.t -> IR.Typ.t -> deref_strdereference strings for a pointer size mismatch
type access = | Last_assigned of int * bool | line, null_case_flag |
| Last_accessed of int * bool | line, is_nullable flag |
| Initialized_automatically | |
| Returned_from_call of int |
type of access
val dereference_string : IR.Procname.t -> deref_str -> string -> access option -> IBase.Location.t -> error_descval parameter_field_not_null_checked_desc : error_desc -> IR.Exp.t -> error_descval is_parameter_not_null_checked_desc : error_desc -> boolval is_field_not_null_checked_desc : error_desc -> boolval desc_class_cast_exception : IR.Procname.t option -> string -> string -> string option -> IBase.Location.t -> error_descval desc_condition_always_true_false : IR.IntLit.t -> string option -> IBase.Location.t -> error_descval desc_deallocate_stack_variable : string -> IR.Procname.t -> IBase.Location.t -> error_descval desc_deallocate_static_memory : string -> IR.Procname.t -> IBase.Location.t -> error_descval desc_divide_by_zero : string -> IBase.Location.t -> error_descval desc_empty_vector_access : IR.Procname.t option -> string -> IBase.Location.t -> error_descval is_empty_vector_access_desc : error_desc -> boolval desc_frontend_warning : string -> string option -> IBase.Location.t -> error_descval desc_leak : IR.Exp.t option -> string option -> IR.PredSymb.resource option -> IR.PredSymb.res_action option -> IBase.Location.t -> string option -> error_descval desc_null_test_after_dereference : string -> int -> IBase.Location.t -> error_descval desc_custom_error : IBase.Location.t -> error_descCreate human-readable error description for assertion failures
val desc_precondition_not_met : pnm_kind option -> IR.Procname.t -> IBase.Location.t -> error_descval desc_retain_cycle : string -> IBase.Location.t -> string option -> error_descval desc_registered_observer_being_deallocated : IR.Pvar.t -> IBase.Location.t -> error_descval desc_skip_function : IR.Procname.t -> error_descval desc_inherently_dangerous_function : IR.Procname.t -> error_descval desc_unary_minus_applied_to_unsigned_expression : string option -> string -> IBase.Location.t -> error_descval desc_uninitialized_dangling_pointer_deref : deref_str -> string -> IBase.Location.t -> error_descval access_desc : access option -> string listFields.Directval iter : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> unit) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> unit) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> unit) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> unit) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> unit) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> unit) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> unit) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> unit) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> unit) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> unit) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> unit) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> unit) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> unit) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> unit) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> unit) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> unit) -> unitval fold : t -> init:'acc__0 -> annot_map:('acc__0 -> (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> 'acc__1) -> biabduction:('acc__1 -> (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> 'acc__2) -> buffer_overrun_analysis:('acc__2 -> (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> 'acc__3) -> buffer_overrun_checker:('acc__3 -> (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> 'acc__4) -> class_loads:('acc__4 -> (t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> 'acc__5) -> cost:('acc__5 -> (t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> 'acc__6) -> lab_resource_leaks:('acc__6 -> (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> 'acc__7) -> litho_required_props:('acc__7 -> (t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> 'acc__8) -> pulse:('acc__8 -> (t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> 'acc__9) -> purity:('acc__9 -> (t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> 'acc__10) -> quandary:('acc__10 -> (t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> 'acc__11) -> racerd:('acc__11 -> (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> 'acc__12) -> siof:('acc__12 -> (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> 'acc__13) -> starvation:('acc__13 -> (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> 'acc__14) -> nullsafe:('acc__14 -> (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> 'acc__15) -> uninit:('acc__15 -> (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> 'acc__16) -> 'acc__16val for_all : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> bool) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> bool) -> boolval exists : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> bool) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> bool) -> boolval to_list : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> 'elem__) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> 'elem__) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> 'elem__) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> 'elem__) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> 'elem__) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> 'elem__) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> 'elem__) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> 'elem__) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> 'elem__) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> 'elem__) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> 'elem__) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> 'elem__) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> 'elem__) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> 'elem__) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> 'elem__) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> 'elem__) -> 'elem__ listval map : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> Checkers.AnnotationReachabilityDomain.t option) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> Biabduction.BiabductionSummary.t option) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> BO.BufferOverrunAnalysisSummary.t option) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> BO.BufferOverrunCheckerSummary.t option) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> Checkers.ClassLoadsDomain.summary option) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> Costlib.CostDomain.summary option) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> Labs.ResourceLeakDomain.summary option) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> Checkers.LithoDomain.summary option) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> Pulselib.PulseSummary.t option) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> Checkers.PurityDomain.summary option) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> Quandary.QuandarySummary.t option) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> Concurrency.RacerDDomain.summary option) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> Checkers.SiofDomain.Summary.t option) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> Concurrency.StarvationDomain.summary option) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> Nullsafe.NullsafeSummary.t option) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> Checkers.UninitDomain.Summary.t option) -> tval set_all_mutable_fields : t -> unitFields.Directval iter : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> unit) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> unit) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> unit) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> unit) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> unit) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> unit) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> unit) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> unit) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> unit) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> unit) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> unit) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> unit) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> unit) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> unit) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> unit) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> unit) -> unitval fold : t -> init:'acc__0 -> annot_map:('acc__0 -> (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> 'acc__1) -> biabduction:('acc__1 -> (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> 'acc__2) -> buffer_overrun_analysis:('acc__2 -> (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> 'acc__3) -> buffer_overrun_checker:('acc__3 -> (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> 'acc__4) -> config_checks_between_markers:('acc__4 -> (t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> 'acc__5) -> cost:('acc__5 -> (t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> 'acc__6) -> lab_resource_leaks:('acc__6 -> (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> 'acc__7) -> litho_required_props:('acc__7 -> (t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> 'acc__8) -> pulse:('acc__8 -> (t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> 'acc__9) -> purity:('acc__9 -> (t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> 'acc__10) -> quandary:('acc__10 -> (t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> 'acc__11) -> racerd:('acc__11 -> (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> 'acc__12) -> siof:('acc__12 -> (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> 'acc__13) -> starvation:('acc__13 -> (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> 'acc__14) -> nullsafe:('acc__14 -> (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> 'acc__15) -> uninit:('acc__15 -> (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> 'acc__16) -> 'acc__16val for_all : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> bool) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> bool) -> boolval exists : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> bool) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> bool) -> boolval to_list : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> 'elem__) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> 'elem__) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> 'elem__) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> 'elem__) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> 'elem__) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> 'elem__) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> 'elem__) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> 'elem__) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> 'elem__) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> 'elem__) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> 'elem__) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> 'elem__) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> 'elem__) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> 'elem__) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> 'elem__) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> 'elem__) -> 'elem__ listval map : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> Checkers.AnnotationReachabilityDomain.t option) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> Biabduction.BiabductionSummary.t option) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> BO.BufferOverrunAnalysisSummary.t option) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> BO.BufferOverrunCheckerSummary.t option) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> Checkers.ConfigChecksBetweenMarkers.Summary.t option) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> Costlib.CostDomain.summary option) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> Labs.ResourceLeakDomain.summary option) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> Checkers.LithoDomain.summary option) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> Pulselib.PulseSummary.t option) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> Checkers.PurityDomain.summary option) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> Quandary.QuandarySummary.t option) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> Concurrency.RacerDDomain.summary option) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> Checkers.SiofDomain.Summary.t option) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> Concurrency.StarvationDomain.summary option) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> Nullsafe.NullsafeSummary.t option) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> Checkers.UninitDomain.Summary.t option) -> tval set_all_mutable_fields : t -> unitPayloads.Fieldsval names : string listval uninit : (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.tval nullsafe : (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.tval starvation : (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.tval siof : (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.tval racerd : (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.tval quandary : (t, Quandary.QuandarySummary.t option) Fieldslib.Field.tval purity : (t, Checkers.PurityDomain.summary option) Fieldslib.Field.tval pulse : (t, Pulselib.PulseSummary.t option) Fieldslib.Field.tval litho_required_props : (t, Checkers.LithoDomain.summary option) Fieldslib.Field.tval lab_resource_leaks : (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.tval cost : (t, Costlib.CostDomain.summary option) Fieldslib.Field.tval class_loads : (t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.tval buffer_overrun_checker : (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.tval buffer_overrun_analysis : (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.tval biabduction : (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.tval annot_map : (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.tval fold : init:'acc__0 -> annot_map:('acc__0 -> (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'acc__1) -> biabduction:('acc__1 -> (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'acc__2) -> buffer_overrun_analysis:('acc__2 -> (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'acc__3) -> buffer_overrun_checker:('acc__3 -> (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'acc__4) -> class_loads:('acc__4 -> (t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> 'acc__5) -> cost:('acc__5 -> (t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'acc__6) -> lab_resource_leaks:('acc__6 -> (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'acc__7) -> litho_required_props:('acc__7 -> (t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'acc__8) -> pulse:('acc__8 -> (t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'acc__9) -> purity:('acc__9 -> (t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'acc__10) -> quandary:('acc__10 -> (t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'acc__11) -> racerd:('acc__11 -> (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'acc__12) -> siof:('acc__12 -> (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'acc__13) -> starvation:('acc__13 -> (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'acc__14) -> nullsafe:('acc__14 -> (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'acc__15) -> uninit:('acc__15 -> (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'acc__16) -> 'acc__16val make_creator : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'acc__0 -> ('input__ -> Checkers.AnnotationReachabilityDomain.t option) * 'acc__1) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'acc__1 -> ('input__ -> Biabduction.BiabductionSummary.t option) * 'acc__2) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'acc__2 -> ('input__ -> BO.BufferOverrunAnalysisSummary.t option) * 'acc__3) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'acc__3 -> ('input__ -> BO.BufferOverrunCheckerSummary.t option) * 'acc__4) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> 'acc__4 -> ('input__ -> Checkers.ClassLoadsDomain.summary option) * 'acc__5) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'acc__5 -> ('input__ -> Costlib.CostDomain.summary option) * 'acc__6) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'acc__6 -> ('input__ -> Labs.ResourceLeakDomain.summary option) * 'acc__7) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'acc__7 -> ('input__ -> Checkers.LithoDomain.summary option) * 'acc__8) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'acc__8 -> ('input__ -> Pulselib.PulseSummary.t option) * 'acc__9) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'acc__9 -> ('input__ -> Checkers.PurityDomain.summary option) * 'acc__10) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'acc__10 -> ('input__ -> Quandary.QuandarySummary.t option) * 'acc__11) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'acc__11 -> ('input__ -> Concurrency.RacerDDomain.summary option) * 'acc__12) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'acc__12 -> ('input__ -> Checkers.SiofDomain.Summary.t option) * 'acc__13) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'acc__13 -> ('input__ -> Concurrency.StarvationDomain.summary option) * 'acc__14) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'acc__14 -> ('input__ -> Nullsafe.NullsafeSummary.t option) * 'acc__15) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'acc__15 -> ('input__ -> Checkers.UninitDomain.Summary.t option) * 'acc__16) -> 'acc__0 -> ('input__ -> t) * 'acc__16val create : annot_map:Checkers.AnnotationReachabilityDomain.t option -> biabduction:Biabduction.BiabductionSummary.t option -> buffer_overrun_analysis:BO.BufferOverrunAnalysisSummary.t option -> buffer_overrun_checker:BO.BufferOverrunCheckerSummary.t option -> class_loads:Checkers.ClassLoadsDomain.summary option -> cost:Costlib.CostDomain.summary option -> lab_resource_leaks:Labs.ResourceLeakDomain.summary option -> litho_required_props:Checkers.LithoDomain.summary option -> pulse:Pulselib.PulseSummary.t option -> purity:Checkers.PurityDomain.summary option -> quandary:Quandary.QuandarySummary.t option -> racerd:Concurrency.RacerDDomain.summary option -> siof:Checkers.SiofDomain.Summary.t option -> starvation:Concurrency.StarvationDomain.summary option -> nullsafe:Nullsafe.NullsafeSummary.t option -> uninit:Checkers.UninitDomain.Summary.t option -> tval map : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> Checkers.AnnotationReachabilityDomain.t option) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> Biabduction.BiabductionSummary.t option) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> BO.BufferOverrunAnalysisSummary.t option) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> BO.BufferOverrunCheckerSummary.t option) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> Checkers.ClassLoadsDomain.summary option) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> Costlib.CostDomain.summary option) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> Labs.ResourceLeakDomain.summary option) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> Checkers.LithoDomain.summary option) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> Pulselib.PulseSummary.t option) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> Checkers.PurityDomain.summary option) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> Quandary.QuandarySummary.t option) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> Concurrency.RacerDDomain.summary option) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> Checkers.SiofDomain.Summary.t option) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> Concurrency.StarvationDomain.summary option) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> Nullsafe.NullsafeSummary.t option) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> Checkers.UninitDomain.Summary.t option) -> tval iter : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> unit) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> unit) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> unit) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> unit) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> unit) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> unit) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> unit) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> unit) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> unit) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> unit) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> unit) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> unit) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> unit) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> unit) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> unit) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> unit) -> unitval for_all : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> bool) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> bool) -> boolval exists : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> bool) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> bool) -> boolval to_list : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'elem__) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'elem__) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'elem__) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'elem__) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> 'elem__) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'elem__) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'elem__) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'elem__) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'elem__) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'elem__) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'elem__) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'elem__) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'elem__) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'elem__) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'elem__) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'elem__) -> 'elem__ listval map_poly : ([< `Read | `Set_and_create ], t, 'x0) Fieldslib.Field.user -> 'x0 listmodule Direct : sig ... endPayloads.Fieldsval names : string listval uninit : (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.tval nullsafe : (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.tval starvation : (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.tval siof : (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.tval racerd : (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.tval quandary : (t, Quandary.QuandarySummary.t option) Fieldslib.Field.tval purity : (t, Checkers.PurityDomain.summary option) Fieldslib.Field.tval pulse : (t, Pulselib.PulseSummary.t option) Fieldslib.Field.tval litho_required_props : (t, Checkers.LithoDomain.summary option) Fieldslib.Field.tval lab_resource_leaks : (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.tval cost : (t, Costlib.CostDomain.summary option) Fieldslib.Field.tval config_checks_between_markers : (t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.tval buffer_overrun_checker : (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.tval buffer_overrun_analysis : (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.tval biabduction : (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.tval annot_map : (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.tval fold : init:'acc__0 -> annot_map:('acc__0 -> (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'acc__1) -> biabduction:('acc__1 -> (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'acc__2) -> buffer_overrun_analysis:('acc__2 -> (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'acc__3) -> buffer_overrun_checker:('acc__3 -> (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'acc__4) -> config_checks_between_markers:('acc__4 -> (t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> 'acc__5) -> cost:('acc__5 -> (t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'acc__6) -> lab_resource_leaks:('acc__6 -> (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'acc__7) -> litho_required_props:('acc__7 -> (t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'acc__8) -> pulse:('acc__8 -> (t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'acc__9) -> purity:('acc__9 -> (t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'acc__10) -> quandary:('acc__10 -> (t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'acc__11) -> racerd:('acc__11 -> (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'acc__12) -> siof:('acc__12 -> (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'acc__13) -> starvation:('acc__13 -> (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'acc__14) -> nullsafe:('acc__14 -> (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'acc__15) -> uninit:('acc__15 -> (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'acc__16) -> 'acc__16val make_creator : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'acc__0 -> ('input__ -> Checkers.AnnotationReachabilityDomain.t option) * 'acc__1) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'acc__1 -> ('input__ -> Biabduction.BiabductionSummary.t option) * 'acc__2) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'acc__2 -> ('input__ -> BO.BufferOverrunAnalysisSummary.t option) * 'acc__3) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'acc__3 -> ('input__ -> BO.BufferOverrunCheckerSummary.t option) * 'acc__4) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> 'acc__4 -> ('input__ -> Checkers.ConfigChecksBetweenMarkers.Summary.t option) * 'acc__5) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'acc__5 -> ('input__ -> Costlib.CostDomain.summary option) * 'acc__6) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'acc__6 -> ('input__ -> Labs.ResourceLeakDomain.summary option) * 'acc__7) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'acc__7 -> ('input__ -> Checkers.LithoDomain.summary option) * 'acc__8) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'acc__8 -> ('input__ -> Pulselib.PulseSummary.t option) * 'acc__9) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'acc__9 -> ('input__ -> Checkers.PurityDomain.summary option) * 'acc__10) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'acc__10 -> ('input__ -> Quandary.QuandarySummary.t option) * 'acc__11) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'acc__11 -> ('input__ -> Concurrency.RacerDDomain.summary option) * 'acc__12) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'acc__12 -> ('input__ -> Checkers.SiofDomain.Summary.t option) * 'acc__13) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'acc__13 -> ('input__ -> Concurrency.StarvationDomain.summary option) * 'acc__14) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'acc__14 -> ('input__ -> Nullsafe.NullsafeSummary.t option) * 'acc__15) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'acc__15 -> ('input__ -> Checkers.UninitDomain.Summary.t option) * 'acc__16) -> 'acc__0 -> ('input__ -> t) * 'acc__16val create : annot_map:Checkers.AnnotationReachabilityDomain.t option -> biabduction:Biabduction.BiabductionSummary.t option -> buffer_overrun_analysis:BO.BufferOverrunAnalysisSummary.t option -> buffer_overrun_checker:BO.BufferOverrunCheckerSummary.t option -> config_checks_between_markers:Checkers.ConfigChecksBetweenMarkers.Summary.t option -> cost:Costlib.CostDomain.summary option -> lab_resource_leaks:Labs.ResourceLeakDomain.summary option -> litho_required_props:Checkers.LithoDomain.summary option -> pulse:Pulselib.PulseSummary.t option -> purity:Checkers.PurityDomain.summary option -> quandary:Quandary.QuandarySummary.t option -> racerd:Concurrency.RacerDDomain.summary option -> siof:Checkers.SiofDomain.Summary.t option -> starvation:Concurrency.StarvationDomain.summary option -> nullsafe:Nullsafe.NullsafeSummary.t option -> uninit:Checkers.UninitDomain.Summary.t option -> tval map : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> Checkers.AnnotationReachabilityDomain.t option) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> Biabduction.BiabductionSummary.t option) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> BO.BufferOverrunAnalysisSummary.t option) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> BO.BufferOverrunCheckerSummary.t option) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> Costlib.CostDomain.summary option) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> Labs.ResourceLeakDomain.summary option) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> Checkers.LithoDomain.summary option) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> Pulselib.PulseSummary.t option) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> Checkers.PurityDomain.summary option) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> Quandary.QuandarySummary.t option) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> Concurrency.RacerDDomain.summary option) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> Checkers.SiofDomain.Summary.t option) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> Concurrency.StarvationDomain.summary option) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> Nullsafe.NullsafeSummary.t option) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> Checkers.UninitDomain.Summary.t option) -> tval iter : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> unit) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> unit) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> unit) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> unit) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> unit) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> unit) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> unit) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> unit) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> unit) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> unit) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> unit) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> unit) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> unit) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> unit) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> unit) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> unit) -> unitval for_all : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> bool) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> bool) -> boolval exists : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> bool) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> bool) -> boolval to_list : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'elem__) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'elem__) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'elem__) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'elem__) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> 'elem__) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'elem__) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'elem__) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'elem__) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'elem__) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'elem__) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'elem__) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'elem__) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'elem__) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'elem__) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'elem__) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'elem__) -> 'elem__ listval map_poly : ([< `Read | `Set_and_create ], t, 'x0) Fieldslib.Field.user -> 'x0 listmodule Direct : sig ... endBackend.Payloadsinclude sig ... endtype t = {annot_map : Checkers.AnnotationReachabilityDomain.t option; |
biabduction : Biabduction.BiabductionSummary.t option; |
buffer_overrun_analysis : BO.BufferOverrunAnalysisSummary.t option; |
buffer_overrun_checker : BO.BufferOverrunCheckerSummary.t option; |
class_loads : Checkers.ClassLoadsDomain.summary option; |
cost : Costlib.CostDomain.summary option; |
lab_resource_leaks : Labs.ResourceLeakDomain.summary option; |
litho_required_props : Checkers.LithoDomain.summary option; |
pulse : Pulselib.PulseSummary.t option; |
purity : Checkers.PurityDomain.summary option; |
quandary : Quandary.QuandarySummary.t option; |
racerd : Concurrency.RacerDDomain.summary option; |
siof : Checkers.SiofDomain.Summary.t option; |
starvation : Concurrency.StarvationDomain.summary option; |
nullsafe : Nullsafe.NullsafeSummary.t option; |
uninit : Checkers.UninitDomain.Summary.t option; |
}analysis results
val uninit : t -> Checkers.UninitDomain.Summary.t optionval nullsafe : t -> Nullsafe.NullsafeSummary.t optionval starvation : t -> Concurrency.StarvationDomain.summary optionval siof : t -> Checkers.SiofDomain.Summary.t optionval racerd : t -> Concurrency.RacerDDomain.summary optionval quandary : t -> Quandary.QuandarySummary.t optionval purity : t -> Checkers.PurityDomain.summary optionval pulse : t -> Pulselib.PulseSummary.t optionval litho_required_props : t -> Checkers.LithoDomain.summary optionval lab_resource_leaks : t -> Labs.ResourceLeakDomain.summary optionval cost : t -> Costlib.CostDomain.summary optionval class_loads : t -> Checkers.ClassLoadsDomain.summary optionval buffer_overrun_checker : t -> BO.BufferOverrunCheckerSummary.t optionval buffer_overrun_analysis : t -> BO.BufferOverrunAnalysisSummary.t optionval biabduction : t -> Biabduction.BiabductionSummary.t optionval annot_map : t -> Checkers.AnnotationReachabilityDomain.t optionmodule Fields : sig ... endval pp : IStdlib.Pp.env -> Stdlib.Format.formatter -> t -> unitval empty : tBackend.Payloadsinclude sig ... endtype t = {annot_map : Checkers.AnnotationReachabilityDomain.t option; |
biabduction : Biabduction.BiabductionSummary.t option; |
buffer_overrun_analysis : BO.BufferOverrunAnalysisSummary.t option; |
buffer_overrun_checker : BO.BufferOverrunCheckerSummary.t option; |
config_checks_between_markers : Checkers.ConfigChecksBetweenMarkers.Summary.t option; |
cost : Costlib.CostDomain.summary option; |
lab_resource_leaks : Labs.ResourceLeakDomain.summary option; |
litho_required_props : Checkers.LithoDomain.summary option; |
pulse : Pulselib.PulseSummary.t option; |
purity : Checkers.PurityDomain.summary option; |
quandary : Quandary.QuandarySummary.t option; |
racerd : Concurrency.RacerDDomain.summary option; |
siof : Checkers.SiofDomain.Summary.t option; |
starvation : Concurrency.StarvationDomain.summary option; |
nullsafe : Nullsafe.NullsafeSummary.t option; |
uninit : Checkers.UninitDomain.Summary.t option; |
}analysis results
val uninit : t -> Checkers.UninitDomain.Summary.t optionval nullsafe : t -> Nullsafe.NullsafeSummary.t optionval starvation : t -> Concurrency.StarvationDomain.summary optionval siof : t -> Checkers.SiofDomain.Summary.t optionval racerd : t -> Concurrency.RacerDDomain.summary optionval quandary : t -> Quandary.QuandarySummary.t optionval purity : t -> Checkers.PurityDomain.summary optionval pulse : t -> Pulselib.PulseSummary.t optionval litho_required_props : t -> Checkers.LithoDomain.summary optionval lab_resource_leaks : t -> Labs.ResourceLeakDomain.summary optionval cost : t -> Costlib.CostDomain.summary optionval config_checks_between_markers : t -> Checkers.ConfigChecksBetweenMarkers.Summary.t optionval buffer_overrun_checker : t -> BO.BufferOverrunCheckerSummary.t optionval buffer_overrun_analysis : t -> BO.BufferOverrunAnalysisSummary.t optionval biabduction : t -> Biabduction.BiabductionSummary.t optionval annot_map : t -> Checkers.AnnotationReachabilityDomain.t optionmodule Fields : sig ... endval pp : IStdlib.Pp.env -> Stdlib.Format.formatter -> t -> unitval empty : tFields.Directval iter : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> unit) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> unit) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> unit) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> unit) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> unit) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> unit) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> unit) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> unit) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> unit) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> unit) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> unit) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> unit) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> unit) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> unit) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> unit) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> unit) -> unitval fold : t -> init:'acc__0 -> annot_map:('acc__0 -> (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> 'acc__1) -> biabduction:('acc__1 -> (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> 'acc__2) -> buffer_overrun_analysis:('acc__2 -> (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> 'acc__3) -> buffer_overrun_checker:('acc__3 -> (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> 'acc__4) -> class_loads:('acc__4 -> (t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> 'acc__5) -> cost:('acc__5 -> (t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> 'acc__6) -> lab_resource_leaks:('acc__6 -> (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> 'acc__7) -> litho_required_props:('acc__7 -> (t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> 'acc__8) -> pulse:('acc__8 -> (t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> 'acc__9) -> purity:('acc__9 -> (t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> 'acc__10) -> quandary:('acc__10 -> (t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> 'acc__11) -> racerd:('acc__11 -> (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> 'acc__12) -> siof:('acc__12 -> (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> 'acc__13) -> starvation:('acc__13 -> (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> 'acc__14) -> nullsafe:('acc__14 -> (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> 'acc__15) -> uninit:('acc__15 -> (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> 'acc__16) -> 'acc__16val for_all : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> bool) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> bool) -> boolval exists : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> bool) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> bool) -> boolval to_list : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> 'elem__) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> 'elem__) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> 'elem__) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> 'elem__) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> 'elem__) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> 'elem__) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> 'elem__) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> 'elem__) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> 'elem__) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> 'elem__) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> 'elem__) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> 'elem__) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> 'elem__) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> 'elem__) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> 'elem__) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> 'elem__) -> 'elem__ listval map : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> Checkers.AnnotationReachabilityDomain.t option) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> Biabduction.BiabductionSummary.t option) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> BO.BufferOverrunAnalysisSummary.t option) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> BO.BufferOverrunCheckerSummary.t option) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> t -> Checkers.ClassLoadsDomain.summary option -> Checkers.ClassLoadsDomain.summary option) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> Costlib.CostDomain.summary option) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> Labs.ResourceLeakDomain.summary option) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> Checkers.LithoDomain.summary option) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> Pulselib.PulseSummary.t option) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> Checkers.PurityDomain.summary option) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> Quandary.QuandarySummary.t option) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> Concurrency.RacerDDomain.summary option) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> Checkers.SiofDomain.Summary.t option) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> Concurrency.StarvationDomain.summary option) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> Nullsafe.NullsafeSummary.t option) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> Checkers.UninitDomain.Summary.t option) -> tval set_all_mutable_fields : t -> unitFields.Directval iter : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> unit) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> unit) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> unit) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> unit) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> unit) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> unit) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> unit) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> unit) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> unit) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> unit) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> unit) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> unit) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> unit) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> unit) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> unit) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> unit) -> unitval fold : t -> init:'acc__0 -> annot_map:('acc__0 -> (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> 'acc__1) -> biabduction:('acc__1 -> (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> 'acc__2) -> buffer_overrun_analysis:('acc__2 -> (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> 'acc__3) -> buffer_overrun_checker:('acc__3 -> (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> 'acc__4) -> config_checks_between_markers:('acc__4 -> (t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> 'acc__5) -> cost:('acc__5 -> (t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> 'acc__6) -> lab_resource_leaks:('acc__6 -> (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> 'acc__7) -> litho_required_props:('acc__7 -> (t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> 'acc__8) -> pulse:('acc__8 -> (t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> 'acc__9) -> purity:('acc__9 -> (t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> 'acc__10) -> quandary:('acc__10 -> (t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> 'acc__11) -> racerd:('acc__11 -> (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> 'acc__12) -> siof:('acc__12 -> (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> 'acc__13) -> starvation:('acc__13 -> (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> 'acc__14) -> nullsafe:('acc__14 -> (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> 'acc__15) -> uninit:('acc__15 -> (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> 'acc__16) -> 'acc__16val for_all : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> bool) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> bool) -> boolval exists : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> bool) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> bool) -> boolval to_list : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> 'elem__) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> 'elem__) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> 'elem__) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> 'elem__) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> 'elem__) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> 'elem__) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> 'elem__) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> 'elem__) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> 'elem__) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> 'elem__) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> 'elem__) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> 'elem__) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> 'elem__) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> 'elem__) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> 'elem__) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> 'elem__) -> 'elem__ listval map : t -> annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> t -> Checkers.AnnotationReachabilityDomain.t option -> Checkers.AnnotationReachabilityDomain.t option) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> t -> Biabduction.BiabductionSummary.t option -> Biabduction.BiabductionSummary.t option) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunAnalysisSummary.t option -> BO.BufferOverrunAnalysisSummary.t option) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> t -> BO.BufferOverrunCheckerSummary.t option -> BO.BufferOverrunCheckerSummary.t option) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option -> Checkers.ConfigChecksBetweenMarkers.Summary.t option) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> t -> Costlib.CostDomain.summary option -> Costlib.CostDomain.summary option) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> t -> Labs.ResourceLeakDomain.summary option -> Labs.ResourceLeakDomain.summary option) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> t -> Checkers.LithoDomain.summary option -> Checkers.LithoDomain.summary option) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> t -> Pulselib.PulseSummary.t option -> Pulselib.PulseSummary.t option) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> t -> Checkers.PurityDomain.summary option -> Checkers.PurityDomain.summary option) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> t -> Quandary.QuandarySummary.t option -> Quandary.QuandarySummary.t option) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary option -> Concurrency.RacerDDomain.summary option) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t option -> Checkers.SiofDomain.Summary.t option) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary option -> Concurrency.StarvationDomain.summary option) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> t -> Nullsafe.NullsafeSummary.t option -> Nullsafe.NullsafeSummary.t option) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> t -> Checkers.UninitDomain.Summary.t option -> Checkers.UninitDomain.Summary.t option) -> tval set_all_mutable_fields : t -> unitBackend__Payloads.Fieldsval names : string listval uninit : (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.tval nullsafe : (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.tval starvation : (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.tval siof : (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.tval racerd : (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.tval quandary : (t, Quandary.QuandarySummary.t option) Fieldslib.Field.tval purity : (t, Checkers.PurityDomain.summary option) Fieldslib.Field.tval pulse : (t, Pulselib.PulseSummary.t option) Fieldslib.Field.tval litho_required_props : (t, Checkers.LithoDomain.summary option) Fieldslib.Field.tval lab_resource_leaks : (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.tval cost : (t, Costlib.CostDomain.summary option) Fieldslib.Field.tval class_loads : (t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.tval buffer_overrun_checker : (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.tval buffer_overrun_analysis : (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.tval biabduction : (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.tval annot_map : (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.tval fold : init:'acc__0 -> annot_map:('acc__0 -> (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'acc__1) -> biabduction:('acc__1 -> (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'acc__2) -> buffer_overrun_analysis:('acc__2 -> (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'acc__3) -> buffer_overrun_checker:('acc__3 -> (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'acc__4) -> class_loads:('acc__4 -> (t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> 'acc__5) -> cost:('acc__5 -> (t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'acc__6) -> lab_resource_leaks:('acc__6 -> (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'acc__7) -> litho_required_props:('acc__7 -> (t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'acc__8) -> pulse:('acc__8 -> (t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'acc__9) -> purity:('acc__9 -> (t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'acc__10) -> quandary:('acc__10 -> (t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'acc__11) -> racerd:('acc__11 -> (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'acc__12) -> siof:('acc__12 -> (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'acc__13) -> starvation:('acc__13 -> (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'acc__14) -> nullsafe:('acc__14 -> (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'acc__15) -> uninit:('acc__15 -> (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'acc__16) -> 'acc__16val make_creator : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'acc__0 -> ('input__ -> Checkers.AnnotationReachabilityDomain.t option) * 'acc__1) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'acc__1 -> ('input__ -> Biabduction.BiabductionSummary.t option) * 'acc__2) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'acc__2 -> ('input__ -> BO.BufferOverrunAnalysisSummary.t option) * 'acc__3) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'acc__3 -> ('input__ -> BO.BufferOverrunCheckerSummary.t option) * 'acc__4) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> 'acc__4 -> ('input__ -> Checkers.ClassLoadsDomain.summary option) * 'acc__5) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'acc__5 -> ('input__ -> Costlib.CostDomain.summary option) * 'acc__6) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'acc__6 -> ('input__ -> Labs.ResourceLeakDomain.summary option) * 'acc__7) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'acc__7 -> ('input__ -> Checkers.LithoDomain.summary option) * 'acc__8) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'acc__8 -> ('input__ -> Pulselib.PulseSummary.t option) * 'acc__9) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'acc__9 -> ('input__ -> Checkers.PurityDomain.summary option) * 'acc__10) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'acc__10 -> ('input__ -> Quandary.QuandarySummary.t option) * 'acc__11) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'acc__11 -> ('input__ -> Concurrency.RacerDDomain.summary option) * 'acc__12) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'acc__12 -> ('input__ -> Checkers.SiofDomain.Summary.t option) * 'acc__13) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'acc__13 -> ('input__ -> Concurrency.StarvationDomain.summary option) * 'acc__14) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'acc__14 -> ('input__ -> Nullsafe.NullsafeSummary.t option) * 'acc__15) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'acc__15 -> ('input__ -> Checkers.UninitDomain.Summary.t option) * 'acc__16) -> 'acc__0 -> ('input__ -> t) * 'acc__16val create : annot_map:Checkers.AnnotationReachabilityDomain.t option -> biabduction:Biabduction.BiabductionSummary.t option -> buffer_overrun_analysis:BO.BufferOverrunAnalysisSummary.t option -> buffer_overrun_checker:BO.BufferOverrunCheckerSummary.t option -> class_loads:Checkers.ClassLoadsDomain.summary option -> cost:Costlib.CostDomain.summary option -> lab_resource_leaks:Labs.ResourceLeakDomain.summary option -> litho_required_props:Checkers.LithoDomain.summary option -> pulse:Pulselib.PulseSummary.t option -> purity:Checkers.PurityDomain.summary option -> quandary:Quandary.QuandarySummary.t option -> racerd:Concurrency.RacerDDomain.summary option -> siof:Checkers.SiofDomain.Summary.t option -> starvation:Concurrency.StarvationDomain.summary option -> nullsafe:Nullsafe.NullsafeSummary.t option -> uninit:Checkers.UninitDomain.Summary.t option -> tval map : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> Checkers.AnnotationReachabilityDomain.t option) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> Biabduction.BiabductionSummary.t option) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> BO.BufferOverrunAnalysisSummary.t option) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> BO.BufferOverrunCheckerSummary.t option) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> Checkers.ClassLoadsDomain.summary option) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> Costlib.CostDomain.summary option) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> Labs.ResourceLeakDomain.summary option) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> Checkers.LithoDomain.summary option) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> Pulselib.PulseSummary.t option) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> Checkers.PurityDomain.summary option) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> Quandary.QuandarySummary.t option) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> Concurrency.RacerDDomain.summary option) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> Checkers.SiofDomain.Summary.t option) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> Concurrency.StarvationDomain.summary option) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> Nullsafe.NullsafeSummary.t option) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> Checkers.UninitDomain.Summary.t option) -> tval iter : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> unit) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> unit) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> unit) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> unit) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> unit) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> unit) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> unit) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> unit) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> unit) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> unit) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> unit) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> unit) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> unit) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> unit) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> unit) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> unit) -> unitval for_all : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> bool) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> bool) -> boolval exists : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> bool) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> bool) -> boolval to_list : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'elem__) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'elem__) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'elem__) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'elem__) -> class_loads:((t, Checkers.ClassLoadsDomain.summary option) Fieldslib.Field.t -> 'elem__) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'elem__) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'elem__) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'elem__) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'elem__) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'elem__) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'elem__) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'elem__) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'elem__) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'elem__) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'elem__) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'elem__) -> 'elem__ listval map_poly : ([< `Read | `Set_and_create ], t, 'x0) Fieldslib.Field.user -> 'x0 listmodule Direct : sig ... endBackend__Payloads.Fieldsval names : string listval uninit : (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.tval nullsafe : (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.tval starvation : (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.tval siof : (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.tval racerd : (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.tval quandary : (t, Quandary.QuandarySummary.t option) Fieldslib.Field.tval purity : (t, Checkers.PurityDomain.summary option) Fieldslib.Field.tval pulse : (t, Pulselib.PulseSummary.t option) Fieldslib.Field.tval litho_required_props : (t, Checkers.LithoDomain.summary option) Fieldslib.Field.tval lab_resource_leaks : (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.tval cost : (t, Costlib.CostDomain.summary option) Fieldslib.Field.tval config_checks_between_markers : (t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.tval buffer_overrun_checker : (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.tval buffer_overrun_analysis : (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.tval biabduction : (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.tval annot_map : (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.tval fold : init:'acc__0 -> annot_map:('acc__0 -> (t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'acc__1) -> biabduction:('acc__1 -> (t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'acc__2) -> buffer_overrun_analysis:('acc__2 -> (t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'acc__3) -> buffer_overrun_checker:('acc__3 -> (t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'acc__4) -> config_checks_between_markers:('acc__4 -> (t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> 'acc__5) -> cost:('acc__5 -> (t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'acc__6) -> lab_resource_leaks:('acc__6 -> (t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'acc__7) -> litho_required_props:('acc__7 -> (t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'acc__8) -> pulse:('acc__8 -> (t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'acc__9) -> purity:('acc__9 -> (t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'acc__10) -> quandary:('acc__10 -> (t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'acc__11) -> racerd:('acc__11 -> (t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'acc__12) -> siof:('acc__12 -> (t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'acc__13) -> starvation:('acc__13 -> (t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'acc__14) -> nullsafe:('acc__14 -> (t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'acc__15) -> uninit:('acc__15 -> (t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'acc__16) -> 'acc__16val make_creator : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'acc__0 -> ('input__ -> Checkers.AnnotationReachabilityDomain.t option) * 'acc__1) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'acc__1 -> ('input__ -> Biabduction.BiabductionSummary.t option) * 'acc__2) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'acc__2 -> ('input__ -> BO.BufferOverrunAnalysisSummary.t option) * 'acc__3) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'acc__3 -> ('input__ -> BO.BufferOverrunCheckerSummary.t option) * 'acc__4) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> 'acc__4 -> ('input__ -> Checkers.ConfigChecksBetweenMarkers.Summary.t option) * 'acc__5) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'acc__5 -> ('input__ -> Costlib.CostDomain.summary option) * 'acc__6) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'acc__6 -> ('input__ -> Labs.ResourceLeakDomain.summary option) * 'acc__7) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'acc__7 -> ('input__ -> Checkers.LithoDomain.summary option) * 'acc__8) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'acc__8 -> ('input__ -> Pulselib.PulseSummary.t option) * 'acc__9) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'acc__9 -> ('input__ -> Checkers.PurityDomain.summary option) * 'acc__10) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'acc__10 -> ('input__ -> Quandary.QuandarySummary.t option) * 'acc__11) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'acc__11 -> ('input__ -> Concurrency.RacerDDomain.summary option) * 'acc__12) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'acc__12 -> ('input__ -> Checkers.SiofDomain.Summary.t option) * 'acc__13) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'acc__13 -> ('input__ -> Concurrency.StarvationDomain.summary option) * 'acc__14) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'acc__14 -> ('input__ -> Nullsafe.NullsafeSummary.t option) * 'acc__15) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'acc__15 -> ('input__ -> Checkers.UninitDomain.Summary.t option) * 'acc__16) -> 'acc__0 -> ('input__ -> t) * 'acc__16val create : annot_map:Checkers.AnnotationReachabilityDomain.t option -> biabduction:Biabduction.BiabductionSummary.t option -> buffer_overrun_analysis:BO.BufferOverrunAnalysisSummary.t option -> buffer_overrun_checker:BO.BufferOverrunCheckerSummary.t option -> config_checks_between_markers:Checkers.ConfigChecksBetweenMarkers.Summary.t option -> cost:Costlib.CostDomain.summary option -> lab_resource_leaks:Labs.ResourceLeakDomain.summary option -> litho_required_props:Checkers.LithoDomain.summary option -> pulse:Pulselib.PulseSummary.t option -> purity:Checkers.PurityDomain.summary option -> quandary:Quandary.QuandarySummary.t option -> racerd:Concurrency.RacerDDomain.summary option -> siof:Checkers.SiofDomain.Summary.t option -> starvation:Concurrency.StarvationDomain.summary option -> nullsafe:Nullsafe.NullsafeSummary.t option -> uninit:Checkers.UninitDomain.Summary.t option -> tval map : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> Checkers.AnnotationReachabilityDomain.t option) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> Biabduction.BiabductionSummary.t option) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> BO.BufferOverrunAnalysisSummary.t option) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> BO.BufferOverrunCheckerSummary.t option) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> Checkers.ConfigChecksBetweenMarkers.Summary.t option) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> Costlib.CostDomain.summary option) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> Labs.ResourceLeakDomain.summary option) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> Checkers.LithoDomain.summary option) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> Pulselib.PulseSummary.t option) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> Checkers.PurityDomain.summary option) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> Quandary.QuandarySummary.t option) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> Concurrency.RacerDDomain.summary option) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> Checkers.SiofDomain.Summary.t option) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> Concurrency.StarvationDomain.summary option) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> Nullsafe.NullsafeSummary.t option) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> Checkers.UninitDomain.Summary.t option) -> tval iter : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> unit) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> unit) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> unit) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> unit) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> unit) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> unit) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> unit) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> unit) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> unit) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> unit) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> unit) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> unit) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> unit) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> unit) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> unit) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> unit) -> unitval for_all : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> bool) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> bool) -> boolval exists : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> bool) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> bool) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> bool) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> bool) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> bool) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> bool) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> bool) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> bool) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> bool) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> bool) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> bool) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> bool) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> bool) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> bool) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> bool) -> boolval to_list : annot_map:((t, Checkers.AnnotationReachabilityDomain.t option) Fieldslib.Field.t -> 'elem__) -> biabduction:((t, Biabduction.BiabductionSummary.t option) Fieldslib.Field.t -> 'elem__) -> buffer_overrun_analysis:((t, BO.BufferOverrunAnalysisSummary.t option) Fieldslib.Field.t -> 'elem__) -> buffer_overrun_checker:((t, BO.BufferOverrunCheckerSummary.t option) Fieldslib.Field.t -> 'elem__) -> config_checks_between_markers:((t, Checkers.ConfigChecksBetweenMarkers.Summary.t option) Fieldslib.Field.t -> 'elem__) -> cost:((t, Costlib.CostDomain.summary option) Fieldslib.Field.t -> 'elem__) -> lab_resource_leaks:((t, Labs.ResourceLeakDomain.summary option) Fieldslib.Field.t -> 'elem__) -> litho_required_props:((t, Checkers.LithoDomain.summary option) Fieldslib.Field.t -> 'elem__) -> pulse:((t, Pulselib.PulseSummary.t option) Fieldslib.Field.t -> 'elem__) -> purity:((t, Checkers.PurityDomain.summary option) Fieldslib.Field.t -> 'elem__) -> quandary:((t, Quandary.QuandarySummary.t option) Fieldslib.Field.t -> 'elem__) -> racerd:((t, Concurrency.RacerDDomain.summary option) Fieldslib.Field.t -> 'elem__) -> siof:((t, Checkers.SiofDomain.Summary.t option) Fieldslib.Field.t -> 'elem__) -> starvation:((t, Concurrency.StarvationDomain.summary option) Fieldslib.Field.t -> 'elem__) -> nullsafe:((t, Nullsafe.NullsafeSummary.t option) Fieldslib.Field.t -> 'elem__) -> uninit:((t, Checkers.UninitDomain.Summary.t option) Fieldslib.Field.t -> 'elem__) -> 'elem__ listval map_poly : ([< `Read | `Set_and_create ], t, 'x0) Fieldslib.Field.user -> 'x0 listmodule Direct : sig ... endBackend__Payloadsinclude sig ... endtype t = {annot_map : Checkers.AnnotationReachabilityDomain.t option; |
biabduction : Biabduction.BiabductionSummary.t option; |
buffer_overrun_analysis : BO.BufferOverrunAnalysisSummary.t option; |
buffer_overrun_checker : BO.BufferOverrunCheckerSummary.t option; |
class_loads : Checkers.ClassLoadsDomain.summary option; |
cost : Costlib.CostDomain.summary option; |
lab_resource_leaks : Labs.ResourceLeakDomain.summary option; |
litho_required_props : Checkers.LithoDomain.summary option; |
pulse : Pulselib.PulseSummary.t option; |
purity : Checkers.PurityDomain.summary option; |
quandary : Quandary.QuandarySummary.t option; |
racerd : Concurrency.RacerDDomain.summary option; |
siof : Checkers.SiofDomain.Summary.t option; |
starvation : Concurrency.StarvationDomain.summary option; |
nullsafe : Nullsafe.NullsafeSummary.t option; |
uninit : Checkers.UninitDomain.Summary.t option; |
}analysis results
val uninit : t -> Checkers.UninitDomain.Summary.t optionval nullsafe : t -> Nullsafe.NullsafeSummary.t optionval starvation : t -> Concurrency.StarvationDomain.summary optionval siof : t -> Checkers.SiofDomain.Summary.t optionval racerd : t -> Concurrency.RacerDDomain.summary optionval quandary : t -> Quandary.QuandarySummary.t optionval purity : t -> Checkers.PurityDomain.summary optionval pulse : t -> Pulselib.PulseSummary.t optionval litho_required_props : t -> Checkers.LithoDomain.summary optionval lab_resource_leaks : t -> Labs.ResourceLeakDomain.summary optionval cost : t -> Costlib.CostDomain.summary optionval class_loads : t -> Checkers.ClassLoadsDomain.summary optionval buffer_overrun_checker : t -> BO.BufferOverrunCheckerSummary.t optionval buffer_overrun_analysis : t -> BO.BufferOverrunAnalysisSummary.t optionval biabduction : t -> Biabduction.BiabductionSummary.t optionval annot_map : t -> Checkers.AnnotationReachabilityDomain.t optionmodule Fields : sig ... endval pp : IStdlib.Pp.env -> Stdlib.Format.formatter -> t -> unitval empty : tBackend__Payloadsinclude sig ... endtype t = {annot_map : Checkers.AnnotationReachabilityDomain.t option; |
biabduction : Biabduction.BiabductionSummary.t option; |
buffer_overrun_analysis : BO.BufferOverrunAnalysisSummary.t option; |
buffer_overrun_checker : BO.BufferOverrunCheckerSummary.t option; |
config_checks_between_markers : Checkers.ConfigChecksBetweenMarkers.Summary.t option; |
cost : Costlib.CostDomain.summary option; |
lab_resource_leaks : Labs.ResourceLeakDomain.summary option; |
litho_required_props : Checkers.LithoDomain.summary option; |
pulse : Pulselib.PulseSummary.t option; |
purity : Checkers.PurityDomain.summary option; |
quandary : Quandary.QuandarySummary.t option; |
racerd : Concurrency.RacerDDomain.summary option; |
siof : Checkers.SiofDomain.Summary.t option; |
starvation : Concurrency.StarvationDomain.summary option; |
nullsafe : Nullsafe.NullsafeSummary.t option; |
uninit : Checkers.UninitDomain.Summary.t option; |
}analysis results
val uninit : t -> Checkers.UninitDomain.Summary.t optionval nullsafe : t -> Nullsafe.NullsafeSummary.t optionval starvation : t -> Concurrency.StarvationDomain.summary optionval siof : t -> Checkers.SiofDomain.Summary.t optionval racerd : t -> Concurrency.RacerDDomain.summary optionval quandary : t -> Quandary.QuandarySummary.t optionval purity : t -> Checkers.PurityDomain.summary optionval pulse : t -> Pulselib.PulseSummary.t optionval litho_required_props : t -> Checkers.LithoDomain.summary optionval lab_resource_leaks : t -> Labs.ResourceLeakDomain.summary optionval cost : t -> Costlib.CostDomain.summary optionval config_checks_between_markers : t -> Checkers.ConfigChecksBetweenMarkers.Summary.t optionval buffer_overrun_checker : t -> BO.BufferOverrunCheckerSummary.t optionval buffer_overrun_analysis : t -> BO.BufferOverrunAnalysisSummary.t optionval biabduction : t -> Biabduction.BiabductionSummary.t optionval annot_map : t -> Checkers.AnnotationReachabilityDomain.t optionmodule Fields : sig ... endval pp : IStdlib.Pp.env -> Stdlib.Format.formatter -> t -> unitval empty : tBiabduction.Attributeval is_pred : Predicates.atom -> boolCheck whether an atom is used to mark an attribute
val add : IR.Tenv.t -> ?footprint:bool -> ?polarity:bool -> Prop.normal Prop.t -> IR.PredSymb.t -> IR.Exp.t list -> Prop.normal Prop.tAdd an attribute associated to the argument expressions
val add_or_replace : IR.Tenv.t -> Prop.normal Prop.t -> Predicates.atom -> Prop.normal Prop.tReplace an attribute associated to the expression
val add_or_replace_check_changed : IR.Tenv.t -> (IR.PredSymb.t -> IR.PredSymb.t -> unit) -> Prop.normal Prop.t -> Predicates.atom -> Prop.normal Prop.tReplace an attribute associated to the expression, and call the given function with new and old attributes if they changed.
val get_all : 'a Prop.t -> Predicates.atom listGet all the attributes of the prop
val get_for_exp : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom listGet the attributes associated to the expression, if any
val get_objc_null : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the objc null attribute associated to the expression, if any
val get_observer : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the observer attribute associated to the expression, if any
val get_resource : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the resource attribute associated to the expression, if any
val get_undef : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the undef attribute associated to the expression, if any
val get_wontleak : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the wontleak attribute associated to the expression, if any
val has_dangling_uninit : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> boolTest for existence of an Adangling DAuninit attribute associated to the exp
val remove : IR.Tenv.t -> Prop.normal Prop.t -> Predicates.atom -> Prop.normal Prop.tRemove an attribute
val remove_for_attr : IR.Tenv.t -> Prop.normal Prop.t -> IR.PredSymb.t -> Prop.normal Prop.tRemove all attributes for the given attr
val remove_resource : IR.Tenv.t -> IR.PredSymb.res_act_kind -> IR.PredSymb.resource -> Prop.normal Prop.t -> Prop.normal Prop.tRemove all attributes for the given resource and kind
val map_resource : IR.Tenv.t -> Prop.normal Prop.t -> (IR.Exp.t -> IR.PredSymb.res_action -> IR.PredSymb.res_action) -> Prop.normal Prop.tApply f to every resource attribute in the prop
val replace_objc_null : IR.Tenv.t -> Prop.normal Prop.t -> IR.Exp.t -> IR.Exp.t -> Prop.normal Prop.treplace_objc_null lhs rhs. If rhs has the objc_null attribute, replace the attribute and set the lhs = 0
val nullify_exp_with_objc_null : IR.Tenv.t -> Prop.normal Prop.t -> IR.Exp.t -> Prop.normal Prop.tFor each Var subexp of the argument with an Aobjc_null attribute, remove the attribute and conjoin an equality to zero.
val mark_vars_as_undefined : IR.Tenv.t -> Prop.normal Prop.t -> ret_exp:IR.Exp.t -> undefined_actuals_by_ref:IR.Exp.t list -> IR.Procname.t -> IR.Annot.Item.t -> IBase.Location.t -> IR.PredSymb.path_pos -> Prop.normal Prop.tmark Exp.Var's or Exp.Lvar's as undefined
type arith_problem = | Div0 of IR.Exp.t |
| UminusUnsigned of IR.Exp.t * IR.Typ.t |
type for arithmetic problems
val find_arithmetic_problem : IR.Tenv.t -> IR.PredSymb.path_pos -> Prop.normal Prop.t -> IR.Exp.t -> arith_problem option * Prop.normal Prop.tLook for an arithmetic problem in exp
val deallocate_stack_vars : IR.Tenv.t -> Prop.normal Prop.t -> IR.Pvar.t list -> IR.Pvar.t list * Prop.normal Prop.tDeallocate the stack variables in pvars, and replace them by normal variables. Return the list of stack variables whose address was still present after deallocation.
Biabduction.Attributeval is_pred : Predicates.atom -> boolCheck whether an atom is used to mark an attribute
val add : IR.Tenv.t -> ?footprint:bool -> ?polarity:bool -> Prop.normal Prop.t -> IR.PredSymb.t -> IR.Exp.t list -> Prop.normal Prop.tAdd an attribute associated to the argument expressions
val add_or_replace : IR.Tenv.t -> Prop.normal Prop.t -> Predicates.atom -> Prop.normal Prop.tReplace an attribute associated to the expression
val add_or_replace_check_changed : IR.Tenv.t -> Prop.normal Prop.t -> Predicates.atom -> Prop.normal Prop.tReplace an attribute associated to the expression, and call the given function with new and old attributes if they changed.
val get_all : 'a Prop.t -> Predicates.atom listGet all the attributes of the prop
val get_for_exp : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom listGet the attributes associated to the expression, if any
val get_objc_null : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the objc null attribute associated to the expression, if any
val get_observer : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the observer attribute associated to the expression, if any
val get_resource : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the resource attribute associated to the expression, if any
val get_undef : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the undef attribute associated to the expression, if any
val get_wontleak : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom optionGet the wontleak attribute associated to the expression, if any
val has_dangling_uninit : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> boolTest for existence of an Adangling DAuninit attribute associated to the exp
val remove : IR.Tenv.t -> Prop.normal Prop.t -> Predicates.atom -> Prop.normal Prop.tRemove an attribute
val remove_for_attr : IR.Tenv.t -> Prop.normal Prop.t -> IR.PredSymb.t -> Prop.normal Prop.tRemove all attributes for the given attr
val remove_resource : IR.Tenv.t -> IR.PredSymb.res_act_kind -> IR.PredSymb.resource -> Prop.normal Prop.t -> Prop.normal Prop.tRemove all attributes for the given resource and kind
val map_resource : IR.Tenv.t -> Prop.normal Prop.t -> (IR.Exp.t -> IR.PredSymb.res_action -> IR.PredSymb.res_action) -> Prop.normal Prop.tApply f to every resource attribute in the prop
val replace_objc_null : IR.Tenv.t -> Prop.normal Prop.t -> IR.Exp.t -> IR.Exp.t -> Prop.normal Prop.treplace_objc_null lhs rhs. If rhs has the objc_null attribute, replace the attribute and set the lhs = 0
val nullify_exp_with_objc_null : IR.Tenv.t -> Prop.normal Prop.t -> IR.Exp.t -> Prop.normal Prop.tFor each Var subexp of the argument with an Aobjc_null attribute, remove the attribute and conjoin an equality to zero.
val mark_vars_as_undefined : IR.Tenv.t -> Prop.normal Prop.t -> ret_exp:IR.Exp.t -> undefined_actuals_by_ref:IR.Exp.t list -> IR.Procname.t -> IR.Annot.Item.t -> IBase.Location.t -> IR.PredSymb.path_pos -> Prop.normal Prop.tmark Exp.Var's or Exp.Lvar's as undefined
type arith_problem = | Div0 of IR.Exp.t |
| UminusUnsigned of IR.Exp.t * IR.Typ.t |
type for arithmetic problems
val find_arithmetic_problem : IR.Tenv.t -> IR.PredSymb.path_pos -> Prop.normal Prop.t -> IR.Exp.t -> arith_problem option * Prop.normal Prop.tLook for an arithmetic problem in exp
val deallocate_stack_vars : IR.Tenv.t -> Prop.normal Prop.t -> IR.Pvar.t list -> IR.Pvar.t list * Prop.normal Prop.tDeallocate the stack variables in pvars, and replace them by normal variables. Return the list of stack variables whose address was still present after deallocation.
Biabduction.Errdescval vpath_find : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> IR.DecompiledExp.vpath * IR.Typ.t optionfind the dexp, if any, where the given value is stored also return the type of the value if found
val hpred_is_open_resource : IR.Tenv.t -> 'a Prop.t -> Predicates.hpred -> IR.PredSymb.resource optionCheck whether the hpred is a |-> representing a resource in the Racquire state
val find_ident_assignment : IR.Procdesc.Node.t -> IR.Ident.t -> (IR.Procdesc.Node.t * IR.Exp.t) optionFind a program variable assignment to id in the current node or predecessors.
val exp_rv_dexp : IR.Tenv.t -> IR.Procdesc.Node.t -> IR.Exp.t -> IR.DecompiledExp.t optiondescribe rvalue e as a dexp
val explain_allocation_mismatch : IR.PredSymb.res_action -> IR.PredSymb.res_action -> Absint.Localise.error_descProduce a description of a mismatch between an allocation function and a deallocation function
val explain_array_access : IR.Procname.t -> IR.Tenv.t -> Absint.Localise.deref_str -> 'a Prop.t -> IBase.Location.t -> Absint.Localise.error_descProduce a description of the array access performed in the current instruction, if any.
val explain_class_cast_exception : IR.Tenv.t -> IR.Procname.t option -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a class cast exception
val explain_deallocate_stack_var : IR.Pvar.t -> IR.PredSymb.res_action -> Absint.Localise.error_descExplain a deallocate stack variable error
val explain_deallocate_constant_string : string -> IR.PredSymb.res_action -> Absint.Localise.error_descExplain a deallocate constant string error
val explain_dereference : IR.Procname.t -> IR.Tenv.t -> ?use_buckets:bool -> ?is_nullable:bool -> ?is_premature_nil:bool -> Absint.Localise.deref_str -> 'a Prop.t -> IBase.Location.t -> Absint.Localise.error_descProduce a description of which expression is dereferenced in the current instruction, if any.
val explain_dereference_as_caller_expression : IR.Procname.t -> IR.Tenv.t -> ?use_buckets:bool -> Absint.Localise.deref_str -> 'a Prop.t -> 'b Prop.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> IR.Pvar.t list -> Absint.Localise.error_descreturn a description explaining value exp in prop in terms of a source expression using the formal parameters of the call
val explain_divide_by_zero : IR.Tenv.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a division by zero
val explain_condition_always_true_false : IR.Tenv.t -> IR.IntLit.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a condition which is always true or false
val explain_stack_variable_address_escape : IBase.Location.t -> IR.Pvar.t -> IR.DecompiledExp.t option -> Absint.Localise.error_descexplain the escape of a stack variable address from its scope
val explain_unary_minus_applied_to_unsigned_expression : IR.Tenv.t -> IR.Exp.t -> IR.Typ.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain unary minus applied to unsigned expression
val explain_leak : IR.Tenv.t -> Predicates.hpred -> 'a Prop.t -> IR.PredSymb.t option -> string option -> bool * Absint.Localise.error_descProduce a description of a leak by looking at the current state. If the current instruction is a variable nullify, blame the variable. If it is an abstraction, blame any variable nullify at the current node. If there is an alloc attribute, print the function call and line number.
val explain_null_test_after_dereference : IR.Tenv.t -> IR.Exp.t -> IR.Procdesc.Node.t -> int -> IBase.Location.t -> Absint.Localise.error_descexplain a test for NULL of a dereferenced pointer
val warning_err : IBase.Location.t -> ('a, Stdlib.Format.formatter, unit) IStdlib.IStd.format -> 'awarn at the given location
val find_outermost_dereference : IR.Tenv.t -> IR.Procdesc.Node.t -> IR.Exp.t -> IR.DecompiledExp.t optionval access_opt : ?is_nullable:bool -> Predicates.inst -> Absint.Localise.access optionBiabduction.Errdescval vpath_find : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> IR.DecompiledExp.vpath * IR.Typ.t optionfind the dexp, if any, where the given value is stored also return the type of the value if found
val hpred_is_open_resource : IR.Tenv.t -> 'a Prop.t -> Predicates.hpred -> IR.PredSymb.resource optionCheck whether the hpred is a |-> representing a resource in the Racquire state
val find_ident_assignment : IR.Procdesc.Node.t -> IR.Ident.t -> (IR.Procdesc.Node.t * IR.Exp.t) optionFind a program variable assignment to id in the current node or predecessors.
val exp_rv_dexp : IR.Tenv.t -> IR.Procdesc.Node.t -> IR.Exp.t -> IR.DecompiledExp.t optiondescribe rvalue e as a dexp
val explain_array_access : IR.Procname.t -> IR.Tenv.t -> Absint.Localise.deref_str -> 'a Prop.t -> IBase.Location.t -> Absint.Localise.error_descProduce a description of the array access performed in the current instruction, if any.
val explain_class_cast_exception : IR.Tenv.t -> IR.Procname.t option -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a class cast exception
val explain_deallocate_stack_var : IR.Pvar.t -> IR.PredSymb.res_action -> Absint.Localise.error_descExplain a deallocate stack variable error
val explain_deallocate_constant_string : string -> IR.PredSymb.res_action -> Absint.Localise.error_descExplain a deallocate constant string error
val explain_dereference : IR.Procname.t -> IR.Tenv.t -> ?use_buckets:bool -> ?is_nullable:bool -> ?is_premature_nil:bool -> Absint.Localise.deref_str -> 'a Prop.t -> IBase.Location.t -> Absint.Localise.error_descProduce a description of which expression is dereferenced in the current instruction, if any.
val explain_dereference_as_caller_expression : IR.Procname.t -> IR.Tenv.t -> ?use_buckets:bool -> Absint.Localise.deref_str -> 'a Prop.t -> 'b Prop.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> IR.Pvar.t list -> Absint.Localise.error_descreturn a description explaining value exp in prop in terms of a source expression using the formal parameters of the call
val explain_divide_by_zero : IR.Tenv.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a division by zero
val explain_condition_always_true_false : IR.Tenv.t -> IR.IntLit.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a condition which is always true or false
val explain_unary_minus_applied_to_unsigned_expression : IR.Tenv.t -> IR.Exp.t -> IR.Typ.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain unary minus applied to unsigned expression
val explain_leak : IR.Tenv.t -> Predicates.hpred -> 'a Prop.t -> IR.PredSymb.t option -> string option -> bool * Absint.Localise.error_descProduce a description of a leak by looking at the current state. If the current instruction is a variable nullify, blame the variable. If it is an abstraction, blame any variable nullify at the current node. If there is an alloc attribute, print the function call and line number.
val explain_null_test_after_dereference : IR.Tenv.t -> IR.Exp.t -> IR.Procdesc.Node.t -> int -> IBase.Location.t -> Absint.Localise.error_descexplain a test for NULL of a dereferenced pointer
val warning_err : IBase.Location.t -> ('a, Stdlib.Format.formatter, unit) IStdlib.IStd.format -> 'awarn at the given location
val find_outermost_dereference : IR.Tenv.t -> IR.Procdesc.Node.t -> IR.Exp.t -> IR.DecompiledExp.t optionval access_opt : ?is_nullable:bool -> Predicates.inst -> Absint.Localise.access optionBiabduction.Exceptionsexception Abduction_case_not_implemented of IBase.Logging.ocaml_posexception Analysis_stops of Absint.Localise.error_desc * IBase.Logging.ocaml_pos optionexception Array_of_pointsto of IBase.Logging.ocaml_posexception Array_out_of_bounds_l1 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Array_out_of_bounds_l2 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Array_out_of_bounds_l3 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Bad_footprint of IBase.Logging.ocaml_posexception Biabd_use_after_free of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Cannot_star of IBase.Logging.ocaml_posexception Class_cast_exception of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Condition_always_true_false of Absint.Localise.error_desc * bool * IBase.Logging.ocaml_posexception Custom_error of string * IBase.IssueType.severity * Absint.Localise.error_descexception Dangling_pointer_dereference of bool * Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Deallocate_stack_variable of Absint.Localise.error_descexception Deallocate_static_memory of Absint.Localise.error_descexception Deallocation_mismatch of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Divide_by_zero of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Field_not_null_checked of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Empty_vector_access of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Inherently_dangerous_function of Absint.Localise.error_descexception Internal_error of Absint.Localise.error_descexception Leak of bool * bool * Absint.Localise.error_desc * bool * IR.PredSymb.resource * IBase.Logging.ocaml_posexception Missing_fld of IR.Fieldname.t * IBase.Logging.ocaml_posexception Premature_nil_termination of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Null_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Null_test_after_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Parameter_not_null_checked of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Pointer_size_mismatch of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Precondition_not_found of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Precondition_not_met of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Retain_cycle of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Registered_observer_being_deallocated of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Skip_function of Absint.Localise.error_descexception Skip_pointer_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Stack_variable_address_escape of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Symexec_memory_error of IBase.Logging.ocaml_posexception Unary_minus_applied_to_unsigned_expression of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Wrong_argument_number of IBase.Logging.ocaml_posval handle_exception : exn -> boolReturn true if the exception is not serious and should be handled in timeout mode
val print_exception_html : string -> exn -> unitprint a description of the exception to the html output
val recognize_exception : exn -> Absint.IssueToReport.tBiabduction.Exceptionsexception Abduction_case_not_implemented of IBase.Logging.ocaml_posexception Analysis_stops of Absint.Localise.error_desc * IBase.Logging.ocaml_pos optionexception Array_of_pointsto of IBase.Logging.ocaml_posexception Array_out_of_bounds_l1 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Array_out_of_bounds_l2 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Array_out_of_bounds_l3 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Bad_footprint of IBase.Logging.ocaml_posexception Cannot_star of IBase.Logging.ocaml_posexception Class_cast_exception of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Condition_always_true_false of Absint.Localise.error_desc * bool * IBase.Logging.ocaml_posexception Custom_error of string * IBase.IssueType.severity * Absint.Localise.error_descexception Dangling_pointer_dereference of bool * Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Deallocate_stack_variable of Absint.Localise.error_descexception Deallocate_static_memory of Absint.Localise.error_descexception Divide_by_zero of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Field_not_null_checked of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Empty_vector_access of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Inherently_dangerous_function of Absint.Localise.error_descexception Internal_error of Absint.Localise.error_descexception Leak of bool * bool * Absint.Localise.error_desc * bool * IR.PredSymb.resource * IBase.Logging.ocaml_posexception Missing_fld of IR.Fieldname.t * IBase.Logging.ocaml_posexception Premature_nil_termination of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Null_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Null_test_after_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Parameter_not_null_checked of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Pointer_size_mismatch of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Precondition_not_found of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Precondition_not_met of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Retain_cycle of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Registered_observer_being_deallocated of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Skip_function of Absint.Localise.error_descexception Skip_pointer_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Symexec_memory_error of IBase.Logging.ocaml_posexception Unary_minus_applied_to_unsigned_expression of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Wrong_argument_number of IBase.Logging.ocaml_posval handle_exception : exn -> boolReturn true if the exception is not serious and should be handled in timeout mode
val print_exception_html : string -> exn -> unitprint a description of the exception to the html output
val recognize_exception : exn -> Absint.IssueToReport.tBiabduction.Tabulationval remove_constant_string_class : IR.Tenv.t -> 'a Prop.t -> Prop.normal Prop.tRemove constant string or class from a prop
val check_attr_dealloc_mismatch : IR.PredSymb.t -> IR.PredSymb.t -> unitCheck if the attribute change is a mismatch between a kind of allocation and a different kind of deallocation
val find_dereference_without_null_check_in_sexp : Predicates.strexp -> (int * IR.PredSymb.path_pos) optionCheck whether a sexp contains a dereference without null check, and return the line number and path position
val create_cast_exception : IR.Tenv.t -> IBase.Logging.ocaml_pos -> IR.Procname.t option -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t -> exnraise a cast exception
val prop_is_exn : IR.Procname.t -> 'a Prop.t -> boolcheck if a prop is an exception
val prop_get_exn_name : IR.Procname.t -> 'a Prop.t -> IR.Typ.Name.t optionwhen prop is an exception, return the exception name
val lookup_custom_errors : 'a Prop.t -> string optionsearch in prop contains an error state
val exe_function_call : BiabductionSummary.t Absint.InterproceduralAnalysis.t -> callee_attributes:IR.ProcAttributes.t -> callee_pname:IR.Procname.t -> callee_summary:BiabductionSummary.t -> ret_id:IR.Ident.t -> IBase.Location.t -> actuals:(IR.Exp.t * IR.Typ.t) list -> Prop.normal Prop.t -> Paths.Path.t -> (Prop.normal Prop.t * Paths.Path.t) listExecute the function call and return the list of results with return value
Biabduction.Tabulationval remove_constant_string_class : IR.Tenv.t -> 'a Prop.t -> Prop.normal Prop.tRemove constant string or class from a prop
val find_dereference_without_null_check_in_sexp : Predicates.strexp -> (int * IR.PredSymb.path_pos) optionCheck whether a sexp contains a dereference without null check, and return the line number and path position
val create_cast_exception : IR.Tenv.t -> IBase.Logging.ocaml_pos -> IR.Procname.t option -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t -> exnraise a cast exception
val prop_is_exn : IR.Procname.t -> 'a Prop.t -> boolcheck if a prop is an exception
val prop_get_exn_name : IR.Procname.t -> 'a Prop.t -> IR.Typ.Name.t optionwhen prop is an exception, return the exception name
val lookup_custom_errors : 'a Prop.t -> string optionsearch in prop contains an error state
val exe_function_call : BiabductionSummary.t Absint.InterproceduralAnalysis.t -> callee_attributes:IR.ProcAttributes.t -> callee_pname:IR.Procname.t -> callee_summary:BiabductionSummary.t -> ret_id:IR.Ident.t -> IBase.Location.t -> actuals:(IR.Exp.t * IR.Typ.t) list -> Prop.normal Prop.t -> Paths.Path.t -> (Prop.normal Prop.t * Paths.Path.t) listExecute the function call and return the list of results with return value
Biabduction__Attributeval is_pred : Biabduction.Predicates.atom -> boolCheck whether an atom is used to mark an attribute
val add : IR.Tenv.t -> ?footprint:bool -> ?polarity:bool -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.PredSymb.t -> IR.Exp.t list -> Biabduction.Prop.normal Biabduction.Prop.tAdd an attribute associated to the argument expressions
val add_or_replace : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Predicates.atom -> Biabduction.Prop.normal Biabduction.Prop.tReplace an attribute associated to the expression
val add_or_replace_check_changed : IR.Tenv.t -> (IR.PredSymb.t -> IR.PredSymb.t -> unit) -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Predicates.atom -> Biabduction.Prop.normal Biabduction.Prop.tReplace an attribute associated to the expression, and call the given function with new and old attributes if they changed.
val get_all : 'a Biabduction.Prop.t -> Biabduction.Predicates.atom listGet all the attributes of the prop
val get_for_exp : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom listGet the attributes associated to the expression, if any
val get_objc_null : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the objc null attribute associated to the expression, if any
val get_observer : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the observer attribute associated to the expression, if any
val get_resource : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the resource attribute associated to the expression, if any
val get_undef : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the undef attribute associated to the expression, if any
val get_wontleak : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the wontleak attribute associated to the expression, if any
val has_dangling_uninit : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> boolTest for existence of an Adangling DAuninit attribute associated to the exp
val remove : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Predicates.atom -> Biabduction.Prop.normal Biabduction.Prop.tRemove an attribute
val remove_for_attr : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.PredSymb.t -> Biabduction.Prop.normal Biabduction.Prop.tRemove all attributes for the given attr
val remove_resource : IR.Tenv.t -> IR.PredSymb.res_act_kind -> IR.PredSymb.resource -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.tRemove all attributes for the given resource and kind
val map_resource : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> (IR.Exp.t -> IR.PredSymb.res_action -> IR.PredSymb.res_action) -> Biabduction.Prop.normal Biabduction.Prop.tApply f to every resource attribute in the prop
val replace_objc_null : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Exp.t -> IR.Exp.t -> Biabduction.Prop.normal Biabduction.Prop.treplace_objc_null lhs rhs. If rhs has the objc_null attribute, replace the attribute and set the lhs = 0
val nullify_exp_with_objc_null : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Prop.normal Biabduction.Prop.tFor each Var subexp of the argument with an Aobjc_null attribute, remove the attribute and conjoin an equality to zero.
val mark_vars_as_undefined : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> ret_exp:IR.Exp.t -> undefined_actuals_by_ref:IR.Exp.t list -> IR.Procname.t -> IR.Annot.Item.t -> IBase.Location.t -> IR.PredSymb.path_pos -> Biabduction.Prop.normal Biabduction.Prop.tmark Exp.Var's or Exp.Lvar's as undefined
type arith_problem = | Div0 of IR.Exp.t |
| UminusUnsigned of IR.Exp.t * IR.Typ.t |
type for arithmetic problems
val find_arithmetic_problem : IR.Tenv.t -> IR.PredSymb.path_pos -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Exp.t -> arith_problem option * Biabduction.Prop.normal Biabduction.Prop.tLook for an arithmetic problem in exp
val deallocate_stack_vars : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Pvar.t list -> IR.Pvar.t list * Biabduction.Prop.normal Biabduction.Prop.tDeallocate the stack variables in pvars, and replace them by normal variables. Return the list of stack variables whose address was still present after deallocation.
val find_equal_formal_path : IR.Tenv.t -> IR.Exp.t -> 'a Biabduction.Prop.t -> IR.Exp.t optionBiabduction__Attributeval is_pred : Biabduction.Predicates.atom -> boolCheck whether an atom is used to mark an attribute
val add : IR.Tenv.t -> ?footprint:bool -> ?polarity:bool -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.PredSymb.t -> IR.Exp.t list -> Biabduction.Prop.normal Biabduction.Prop.tAdd an attribute associated to the argument expressions
val add_or_replace : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Predicates.atom -> Biabduction.Prop.normal Biabduction.Prop.tReplace an attribute associated to the expression
val add_or_replace_check_changed : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Predicates.atom -> Biabduction.Prop.normal Biabduction.Prop.tReplace an attribute associated to the expression, and call the given function with new and old attributes if they changed.
val get_all : 'a Biabduction.Prop.t -> Biabduction.Predicates.atom listGet all the attributes of the prop
val get_for_exp : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom listGet the attributes associated to the expression, if any
val get_objc_null : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the objc null attribute associated to the expression, if any
val get_observer : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the observer attribute associated to the expression, if any
val get_resource : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the resource attribute associated to the expression, if any
val get_undef : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the undef attribute associated to the expression, if any
val get_wontleak : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the wontleak attribute associated to the expression, if any
val has_dangling_uninit : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> boolTest for existence of an Adangling DAuninit attribute associated to the exp
val remove : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Predicates.atom -> Biabduction.Prop.normal Biabduction.Prop.tRemove an attribute
val remove_for_attr : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.PredSymb.t -> Biabduction.Prop.normal Biabduction.Prop.tRemove all attributes for the given attr
val remove_resource : IR.Tenv.t -> IR.PredSymb.res_act_kind -> IR.PredSymb.resource -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.tRemove all attributes for the given resource and kind
val map_resource : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> (IR.Exp.t -> IR.PredSymb.res_action -> IR.PredSymb.res_action) -> Biabduction.Prop.normal Biabduction.Prop.tApply f to every resource attribute in the prop
val replace_objc_null : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Exp.t -> IR.Exp.t -> Biabduction.Prop.normal Biabduction.Prop.treplace_objc_null lhs rhs. If rhs has the objc_null attribute, replace the attribute and set the lhs = 0
val nullify_exp_with_objc_null : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Prop.normal Biabduction.Prop.tFor each Var subexp of the argument with an Aobjc_null attribute, remove the attribute and conjoin an equality to zero.
val mark_vars_as_undefined : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> ret_exp:IR.Exp.t -> undefined_actuals_by_ref:IR.Exp.t list -> IR.Procname.t -> IR.Annot.Item.t -> IBase.Location.t -> IR.PredSymb.path_pos -> Biabduction.Prop.normal Biabduction.Prop.tmark Exp.Var's or Exp.Lvar's as undefined
type arith_problem = | Div0 of IR.Exp.t |
| UminusUnsigned of IR.Exp.t * IR.Typ.t |
type for arithmetic problems
val find_arithmetic_problem : IR.Tenv.t -> IR.PredSymb.path_pos -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Exp.t -> arith_problem option * Biabduction.Prop.normal Biabduction.Prop.tLook for an arithmetic problem in exp
val deallocate_stack_vars : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Pvar.t list -> IR.Pvar.t list * Biabduction.Prop.normal Biabduction.Prop.tDeallocate the stack variables in pvars, and replace them by normal variables. Return the list of stack variables whose address was still present after deallocation.
val find_equal_formal_path : IR.Tenv.t -> IR.Exp.t -> 'a Biabduction.Prop.t -> IR.Exp.t optionBiabduction__Errdescval vpath_find : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> IR.DecompiledExp.vpath * IR.Typ.t optionfind the dexp, if any, where the given value is stored also return the type of the value if found
val hpred_is_open_resource : IR.Tenv.t -> 'a Biabduction.Prop.t -> Biabduction.Predicates.hpred -> IR.PredSymb.resource optionCheck whether the hpred is a |-> representing a resource in the Racquire state
val find_ident_assignment : IR.Procdesc.Node.t -> IR.Ident.t -> (IR.Procdesc.Node.t * IR.Exp.t) optionFind a program variable assignment to id in the current node or predecessors.
val exp_rv_dexp : IR.Tenv.t -> IR.Procdesc.Node.t -> IR.Exp.t -> IR.DecompiledExp.t optiondescribe rvalue e as a dexp
val explain_allocation_mismatch : IR.PredSymb.res_action -> IR.PredSymb.res_action -> Absint.Localise.error_descProduce a description of a mismatch between an allocation function and a deallocation function
val explain_array_access : IR.Procname.t -> IR.Tenv.t -> Absint.Localise.deref_str -> 'a Biabduction.Prop.t -> IBase.Location.t -> Absint.Localise.error_descProduce a description of the array access performed in the current instruction, if any.
val explain_class_cast_exception : IR.Tenv.t -> IR.Procname.t option -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a class cast exception
val explain_deallocate_stack_var : IR.Pvar.t -> IR.PredSymb.res_action -> Absint.Localise.error_descExplain a deallocate stack variable error
val explain_deallocate_constant_string : string -> IR.PredSymb.res_action -> Absint.Localise.error_descExplain a deallocate constant string error
val explain_dereference : IR.Procname.t -> IR.Tenv.t -> ?use_buckets:bool -> ?is_nullable:bool -> ?is_premature_nil:bool -> Absint.Localise.deref_str -> 'a Biabduction.Prop.t -> IBase.Location.t -> Absint.Localise.error_descProduce a description of which expression is dereferenced in the current instruction, if any.
val explain_dereference_as_caller_expression : IR.Procname.t -> IR.Tenv.t -> ?use_buckets:bool -> Absint.Localise.deref_str -> 'a Biabduction.Prop.t -> 'b Biabduction.Prop.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> IR.Pvar.t list -> Absint.Localise.error_descreturn a description explaining value exp in prop in terms of a source expression using the formal parameters of the call
val explain_divide_by_zero : IR.Tenv.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a division by zero
val explain_condition_always_true_false : IR.Tenv.t -> IR.IntLit.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a condition which is always true or false
val explain_stack_variable_address_escape : IBase.Location.t -> IR.Pvar.t -> IR.DecompiledExp.t option -> Absint.Localise.error_descexplain the escape of a stack variable address from its scope
val explain_unary_minus_applied_to_unsigned_expression : IR.Tenv.t -> IR.Exp.t -> IR.Typ.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain unary minus applied to unsigned expression
val explain_leak : IR.Tenv.t -> Biabduction.Predicates.hpred -> 'a Biabduction.Prop.t -> IR.PredSymb.t option -> string option -> bool * Absint.Localise.error_descProduce a description of a leak by looking at the current state. If the current instruction is a variable nullify, blame the variable. If it is an abstraction, blame any variable nullify at the current node. If there is an alloc attribute, print the function call and line number.
val explain_null_test_after_dereference : IR.Tenv.t -> IR.Exp.t -> IR.Procdesc.Node.t -> int -> IBase.Location.t -> Absint.Localise.error_descexplain a test for NULL of a dereferenced pointer
val warning_err : IBase.Location.t -> ('a, Stdlib.Format.formatter, unit) IStdlib.IStd.format -> 'awarn at the given location
val find_outermost_dereference : IR.Tenv.t -> IR.Procdesc.Node.t -> IR.Exp.t -> IR.DecompiledExp.t optionval access_opt : ?is_nullable:bool -> Biabduction.Predicates.inst -> Absint.Localise.access optionBiabduction__Errdescval vpath_find : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> IR.DecompiledExp.vpath * IR.Typ.t optionfind the dexp, if any, where the given value is stored also return the type of the value if found
val hpred_is_open_resource : IR.Tenv.t -> 'a Biabduction.Prop.t -> Biabduction.Predicates.hpred -> IR.PredSymb.resource optionCheck whether the hpred is a |-> representing a resource in the Racquire state
val find_ident_assignment : IR.Procdesc.Node.t -> IR.Ident.t -> (IR.Procdesc.Node.t * IR.Exp.t) optionFind a program variable assignment to id in the current node or predecessors.
val exp_rv_dexp : IR.Tenv.t -> IR.Procdesc.Node.t -> IR.Exp.t -> IR.DecompiledExp.t optiondescribe rvalue e as a dexp
val explain_array_access : IR.Procname.t -> IR.Tenv.t -> Absint.Localise.deref_str -> 'a Biabduction.Prop.t -> IBase.Location.t -> Absint.Localise.error_descProduce a description of the array access performed in the current instruction, if any.
val explain_class_cast_exception : IR.Tenv.t -> IR.Procname.t option -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a class cast exception
val explain_deallocate_stack_var : IR.Pvar.t -> IR.PredSymb.res_action -> Absint.Localise.error_descExplain a deallocate stack variable error
val explain_deallocate_constant_string : string -> IR.PredSymb.res_action -> Absint.Localise.error_descExplain a deallocate constant string error
val explain_dereference : IR.Procname.t -> IR.Tenv.t -> ?use_buckets:bool -> ?is_nullable:bool -> ?is_premature_nil:bool -> Absint.Localise.deref_str -> 'a Biabduction.Prop.t -> IBase.Location.t -> Absint.Localise.error_descProduce a description of which expression is dereferenced in the current instruction, if any.
val explain_dereference_as_caller_expression : IR.Procname.t -> IR.Tenv.t -> ?use_buckets:bool -> Absint.Localise.deref_str -> 'a Biabduction.Prop.t -> 'b Biabduction.Prop.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> IR.Pvar.t list -> Absint.Localise.error_descreturn a description explaining value exp in prop in terms of a source expression using the formal parameters of the call
val explain_divide_by_zero : IR.Tenv.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a division by zero
val explain_condition_always_true_false : IR.Tenv.t -> IR.IntLit.t -> IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain a condition which is always true or false
val explain_unary_minus_applied_to_unsigned_expression : IR.Tenv.t -> IR.Exp.t -> IR.Typ.t -> IR.Procdesc.Node.t -> IBase.Location.t -> Absint.Localise.error_descexplain unary minus applied to unsigned expression
val explain_leak : IR.Tenv.t -> Biabduction.Predicates.hpred -> 'a Biabduction.Prop.t -> IR.PredSymb.t option -> string option -> bool * Absint.Localise.error_descProduce a description of a leak by looking at the current state. If the current instruction is a variable nullify, blame the variable. If it is an abstraction, blame any variable nullify at the current node. If there is an alloc attribute, print the function call and line number.
val explain_null_test_after_dereference : IR.Tenv.t -> IR.Exp.t -> IR.Procdesc.Node.t -> int -> IBase.Location.t -> Absint.Localise.error_descexplain a test for NULL of a dereferenced pointer
val warning_err : IBase.Location.t -> ('a, Stdlib.Format.formatter, unit) IStdlib.IStd.format -> 'awarn at the given location
val find_outermost_dereference : IR.Tenv.t -> IR.Procdesc.Node.t -> IR.Exp.t -> IR.DecompiledExp.t optionval access_opt : ?is_nullable:bool -> Biabduction.Predicates.inst -> Absint.Localise.access optionBiabduction__Exceptionsexception Abduction_case_not_implemented of IBase.Logging.ocaml_posexception Analysis_stops of Absint.Localise.error_desc * IBase.Logging.ocaml_pos optionexception Array_of_pointsto of IBase.Logging.ocaml_posexception Array_out_of_bounds_l1 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Array_out_of_bounds_l2 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Array_out_of_bounds_l3 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Bad_footprint of IBase.Logging.ocaml_posexception Biabd_use_after_free of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Cannot_star of IBase.Logging.ocaml_posexception Class_cast_exception of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Condition_always_true_false of Absint.Localise.error_desc * bool * IBase.Logging.ocaml_posexception Custom_error of string * IBase.IssueType.severity * Absint.Localise.error_descexception Dangling_pointer_dereference of bool * Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Deallocate_stack_variable of Absint.Localise.error_descexception Deallocate_static_memory of Absint.Localise.error_descexception Deallocation_mismatch of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Divide_by_zero of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Field_not_null_checked of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Empty_vector_access of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Inherently_dangerous_function of Absint.Localise.error_descexception Internal_error of Absint.Localise.error_descexception Leak of bool * bool * Absint.Localise.error_desc * bool * IR.PredSymb.resource * IBase.Logging.ocaml_posexception Missing_fld of IR.Fieldname.t * IBase.Logging.ocaml_posexception Premature_nil_termination of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Null_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Null_test_after_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Parameter_not_null_checked of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Pointer_size_mismatch of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Precondition_not_found of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Precondition_not_met of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Retain_cycle of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Registered_observer_being_deallocated of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Skip_function of Absint.Localise.error_descexception Skip_pointer_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Stack_variable_address_escape of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Symexec_memory_error of IBase.Logging.ocaml_posexception Unary_minus_applied_to_unsigned_expression of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Wrong_argument_number of IBase.Logging.ocaml_posval handle_exception : exn -> boolReturn true if the exception is not serious and should be handled in timeout mode
val print_exception_html : string -> exn -> unitprint a description of the exception to the html output
val recognize_exception : exn -> Absint.IssueToReport.tBiabduction__Exceptionsexception Abduction_case_not_implemented of IBase.Logging.ocaml_posexception Analysis_stops of Absint.Localise.error_desc * IBase.Logging.ocaml_pos optionexception Array_of_pointsto of IBase.Logging.ocaml_posexception Array_out_of_bounds_l1 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Array_out_of_bounds_l2 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Array_out_of_bounds_l3 of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Bad_footprint of IBase.Logging.ocaml_posexception Cannot_star of IBase.Logging.ocaml_posexception Class_cast_exception of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Condition_always_true_false of Absint.Localise.error_desc * bool * IBase.Logging.ocaml_posexception Custom_error of string * IBase.IssueType.severity * Absint.Localise.error_descexception Dangling_pointer_dereference of bool * Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Deallocate_stack_variable of Absint.Localise.error_descexception Deallocate_static_memory of Absint.Localise.error_descexception Divide_by_zero of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Field_not_null_checked of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Empty_vector_access of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Inherently_dangerous_function of Absint.Localise.error_descexception Internal_error of Absint.Localise.error_descexception Leak of bool * bool * Absint.Localise.error_desc * bool * IR.PredSymb.resource * IBase.Logging.ocaml_posexception Missing_fld of IR.Fieldname.t * IBase.Logging.ocaml_posexception Premature_nil_termination of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Null_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Null_test_after_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Parameter_not_null_checked of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Pointer_size_mismatch of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Precondition_not_found of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Precondition_not_met of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Retain_cycle of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Registered_observer_being_deallocated of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Skip_function of Absint.Localise.error_descexception Skip_pointer_dereference of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Symexec_memory_error of IBase.Logging.ocaml_posexception Unary_minus_applied_to_unsigned_expression of Absint.Localise.error_desc * IBase.Logging.ocaml_posexception Wrong_argument_number of IBase.Logging.ocaml_posval handle_exception : exn -> boolReturn true if the exception is not serious and should be handled in timeout mode
val print_exception_html : string -> exn -> unitprint a description of the exception to the html output
val recognize_exception : exn -> Absint.IssueToReport.tBiabduction__Tabulationval remove_constant_string_class : IR.Tenv.t -> 'a Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.tRemove constant string or class from a prop
val check_attr_dealloc_mismatch : IR.PredSymb.t -> IR.PredSymb.t -> unitCheck if the attribute change is a mismatch between a kind of allocation and a different kind of deallocation
val find_dereference_without_null_check_in_sexp : Biabduction.Predicates.strexp -> (int * IR.PredSymb.path_pos) optionCheck whether a sexp contains a dereference without null check, and return the line number and path position
val create_cast_exception : IR.Tenv.t -> IBase.Logging.ocaml_pos -> IR.Procname.t option -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t -> exnraise a cast exception
val prop_is_exn : IR.Procname.t -> 'a Biabduction.Prop.t -> boolcheck if a prop is an exception
val prop_get_exn_name : IR.Procname.t -> 'a Biabduction.Prop.t -> IR.Typ.Name.t optionwhen prop is an exception, return the exception name
val lookup_custom_errors : 'a Biabduction.Prop.t -> string optionsearch in prop contains an error state
val exe_function_call : Biabduction.BiabductionSummary.t Absint.InterproceduralAnalysis.t -> callee_attributes:IR.ProcAttributes.t -> callee_pname:IR.Procname.t -> callee_summary:Biabduction.BiabductionSummary.t -> ret_id:IR.Ident.t -> IBase.Location.t -> actuals:(IR.Exp.t * IR.Typ.t) list -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Paths.Path.t -> (Biabduction.Prop.normal Biabduction.Prop.t * Biabduction.Paths.Path.t) listExecute the function call and return the list of results with return value
Biabduction__Tabulationval remove_constant_string_class : IR.Tenv.t -> 'a Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.tRemove constant string or class from a prop
val find_dereference_without_null_check_in_sexp : Biabduction.Predicates.strexp -> (int * IR.PredSymb.path_pos) optionCheck whether a sexp contains a dereference without null check, and return the line number and path position
val create_cast_exception : IR.Tenv.t -> IBase.Logging.ocaml_pos -> IR.Procname.t option -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t -> exnraise a cast exception
val prop_is_exn : IR.Procname.t -> 'a Biabduction.Prop.t -> boolcheck if a prop is an exception
val prop_get_exn_name : IR.Procname.t -> 'a Biabduction.Prop.t -> IR.Typ.Name.t optionwhen prop is an exception, return the exception name
val lookup_custom_errors : 'a Biabduction.Prop.t -> string optionsearch in prop contains an error state
val exe_function_call : Biabduction.BiabductionSummary.t Absint.InterproceduralAnalysis.t -> callee_attributes:IR.ProcAttributes.t -> callee_pname:IR.Procname.t -> callee_summary:Biabduction.BiabductionSummary.t -> ret_id:IR.Ident.t -> IBase.Location.t -> actuals:(IR.Exp.t * IR.Typ.t) list -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Paths.Path.t -> (Biabduction.Prop.normal Biabduction.Prop.t * Biabduction.Paths.Path.t) listExecute the function call and return the list of results with return value
Checkers.ClassLoadsval analyze_procedure : ClassLoadsDomain.summary Absint.InterproceduralAnalysis.t -> ClassLoadsDomain.summary optionClassLoadsDomain.Eventtype elem_t = ClassLoad.ttype t = private {elem : elem_t; |
loc : IBase.Location.t; |
trace : Absint.CallSite.t list; |
}An elem which occured at loc, after the chain of steps (usually calls) in trace.
Both pp and describe simply call the same function on the trace element.
include Absint.ExplicitTrace.Element with type Element.t := tinclude IStdlib.PrettyPrintable.PrintableOrderedTypeinclude IStdlib.PrettyPrintable.PrintableType with type t := tval pp : IStdlib.PrettyPrintable.F.formatter -> t -> unitval describe : Stdlib.Format.formatter -> t -> unitPretty printer used for trace construction; pp is used for debug output.
val make : elem_t -> IBase.Location.t -> tval map : f:(elem_t -> elem_t) -> t -> tval get_loc : t -> IBase.Location.tStarting location of the trace: this is either loc if trace==[], or the head of trace.
val make_loc_trace : ?nesting:int -> t -> Absint.Errlog.loc_traceval with_callsite : t -> Absint.CallSite.t -> tPush given callsite onto trace, extending the call chain by one.
module FiniteSet : Absint.ExplicitTrace.FiniteSet with type FiniteSet.elt = tA powerset of traces.
Checkers.ClassLoadsDomainmodule ClassLoad : Absint.ExplicitTrace.Element with type Element.t = stringmodule Event : Absint.ExplicitTrace.TraceElem with type elem_t = ClassLoad.tinclude Absint.AbstractDomain.WithBottominclude Absint.AbstractDomain.Sinclude Absint.AbstractDomain.NoJoininclude IStdlib.PrettyPrintable.PrintableTypeval pp : IStdlib.PrettyPrintable.F.formatter -> t -> unitval bottom : tThe bottom value of the domain.
val is_bottom : t -> boolReturn true if this is the bottom value
type summary = tval pp_summary : F.formatter -> summary -> unitval mem_typename : IR.Typ.Name.t -> t -> boolval add_typename : IBase.Location.t -> t -> IR.Typ.Name.t -> tval integrate_summary : IR.Procname.t -> IBase.Location.t -> t -> summary -> tval iter : (Event.t -> unit) -> t -> unitCheckers.ConfigChecksBetweenMarkersmodule Summary : sig ... endval checker : Summary.t Absint.InterproceduralAnalysis.t -> Summary.t optionCheckers.FbGKInteractionval is_config_class : IR.Pvar.t -> boolval is_config_check : IR.Tenv.t -> IR.Procname.t -> boolval is_marker_start : IR.Tenv.t -> IR.Procname.t -> boolval is_marker_end : IR.Tenv.t -> IR.Procname.t -> boolCheckersmodule AddressTaken : sig ... endmodule AnnotationReachability : sig ... endmodule AnnotationReachabilityDomain : sig ... endmodule ClassLoads : sig ... endmodule ClassLoadsDomain : sig ... endmodule Control : sig ... endmodule Dominators : sig ... endmodule FragmentRetainsViewChecker : sig ... endmodule FunctionPointers : sig ... endmodule Impurity : sig ... endmodule ImpurityDomain : sig ... endmodule InefficientKeysetIterator : sig ... endmodule LithoDomain : sig ... endmodule Liveness : sig ... endmodule LoopInvariant : sig ... endmodule Loop_control : sig ... endmodule NullabilityPreanalysis : sig ... endmodule PrintfArgs : sig ... endmodule Purity : sig ... endmodule PurityDomain : sig ... endmodule PurityModels : sig ... endmodule ReachingDefs : sig ... endmodule RequiredProps : sig ... endmodule SelfInBlock : sig ... endmodule SimpleChecker : sig ... endmodule Siof : sig ... endmodule SiofDomain : sig ... endmodule SiofTrace : sig ... endmodule Uninit : sig ... endmodule UninitDomain : sig ... endCheckersmodule AddressTaken : sig ... endmodule AnnotationReachability : sig ... endmodule AnnotationReachabilityDomain : sig ... endmodule ConfigChecksBetweenMarkers : sig ... endmodule Control : sig ... endmodule Dominators : sig ... endmodule FbGKInteraction : sig ... endmodule FragmentRetainsViewChecker : sig ... endmodule FunctionPointers : sig ... endmodule Impurity : sig ... endmodule ImpurityDomain : sig ... endmodule InefficientKeysetIterator : sig ... endmodule LithoDomain : sig ... endmodule Liveness : sig ... endmodule LoopInvariant : sig ... endmodule Loop_control : sig ... endmodule NullabilityPreanalysis : sig ... endmodule PrintfArgs : sig ... endmodule Purity : sig ... endmodule PurityDomain : sig ... endmodule PurityModels : sig ... endmodule ReachingDefs : sig ... endmodule RequiredProps : sig ... endmodule SelfInBlock : sig ... endmodule SimpleChecker : sig ... endmodule Siof : sig ... endmodule SiofDomain : sig ... endmodule SiofTrace : sig ... endmodule Uninit : sig ... endmodule UninitDomain : sig ... endCheckers__ClassLoadsval analyze_procedure : Checkers.ClassLoadsDomain.summary Absint.InterproceduralAnalysis.t -> Checkers.ClassLoadsDomain.summary optionCheckers__ClassLoadsDomain.Eventtype elem_t = ClassLoad.ttype t = private {elem : elem_t; |
loc : IBase.Location.t; |
trace : Absint.CallSite.t list; |
}An elem which occured at loc, after the chain of steps (usually calls) in trace.
Both pp and describe simply call the same function on the trace element.
include Absint.ExplicitTrace.Element with type Element.t := tinclude IStdlib.PrettyPrintable.PrintableOrderedTypeinclude IStdlib.PrettyPrintable.PrintableType with type t := tval pp : IStdlib.PrettyPrintable.F.formatter -> t -> unitval describe : Stdlib.Format.formatter -> t -> unitPretty printer used for trace construction; pp is used for debug output.
val make : elem_t -> IBase.Location.t -> tval map : f:(elem_t -> elem_t) -> t -> tval get_loc : t -> IBase.Location.tStarting location of the trace: this is either loc if trace==[], or the head of trace.
val make_loc_trace : ?nesting:int -> t -> Absint.Errlog.loc_traceval with_callsite : t -> Absint.CallSite.t -> tPush given callsite onto trace, extending the call chain by one.
module FiniteSet : Absint.ExplicitTrace.FiniteSet with type FiniteSet.elt = tA powerset of traces.
Checkers__ClassLoadsDomainmodule ClassLoad : Absint.ExplicitTrace.Element with type Element.t = stringmodule Event : Absint.ExplicitTrace.TraceElem with type elem_t = ClassLoad.tinclude Absint.AbstractDomain.WithBottominclude Absint.AbstractDomain.Sinclude Absint.AbstractDomain.NoJoininclude IStdlib.PrettyPrintable.PrintableTypeval pp : IStdlib.PrettyPrintable.F.formatter -> t -> unitval bottom : tThe bottom value of the domain.
val is_bottom : t -> boolReturn true if this is the bottom value
type summary = tval pp_summary : F.formatter -> summary -> unitval mem_typename : IR.Typ.Name.t -> t -> boolval add_typename : IBase.Location.t -> t -> IR.Typ.Name.t -> tval integrate_summary : IR.Procname.t -> IBase.Location.t -> t -> summary -> tval iter : (Event.t -> unit) -> t -> unitCheckers__ConfigChecksBetweenMarkers.Summaryval pp : Stdlib.Format.formatter -> t -> unitCheckers__ConfigChecksBetweenMarkersmodule Summary : sig ... endval checker : Summary.t Absint.InterproceduralAnalysis.t -> Summary.t optionCheckers__FbGKInteractionval is_config_class : IR.Pvar.t -> boolval is_config_check : IR.Tenv.t -> IR.Procname.t -> boolval is_marker_start : IR.Tenv.t -> IR.Procname.t -> boolval is_marker_end : IR.Tenv.t -> IR.Procname.t -> boolClangFrontend.Ast_expressionsval create_pointer_qual_type : ?quals:IR.Typ.type_quals -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.qual_typeval create_reference_qual_type : ?quals:IR.Typ.type_quals -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.qual_typeval create_char_star_type : ?quals:IR.Typ.type_quals -> unit -> ATDGenerated.Clang_ast_t.qual_typeval make_next_object_exp : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmt -> ATDGenerated.Clang_ast_t.stmt -> ATDGenerated.Clang_ast_t.stmt * ATDGenerated.Clang_ast_t.stmtval create_nil : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmtval create_implicit_cast_expr : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.cast_kind -> ATDGenerated.Clang_ast_t.stmtval make_obj_c_message_expr_info_class : string -> IR.Typ.Name.t -> ATDGenerated.Clang_ast_t.pointer option -> ATDGenerated.Clang_ast_t.obj_c_message_expr_infoval trans_with_conditional : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.expr_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.stmtWe translate an expression with a conditional x <=> x?1:0
val trans_negation_with_conditional : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.expr_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.stmtWe translate the logical negation of an expression with a conditional !x <=> x?0:1
ClangFrontend.Ast_expressionsval create_pointer_qual_type : ?quals:IR.Typ.type_quals -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.qual_typeval create_reference_qual_type : ?quals:IR.Typ.type_quals -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.qual_typeval create_void_type : ATDGenerated.Clang_ast_t.qual_typeval create_char_star_type : ?quals:IR.Typ.type_quals -> unit -> ATDGenerated.Clang_ast_t.qual_typeval make_next_object_exp : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmt -> ATDGenerated.Clang_ast_t.stmt -> ATDGenerated.Clang_ast_t.stmt * ATDGenerated.Clang_ast_t.stmtval create_nil : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmtval create_implicit_cast_expr : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.cast_kind -> ATDGenerated.Clang_ast_t.stmtval make_obj_c_message_expr_info_class : string -> IR.Typ.Name.t -> ATDGenerated.Clang_ast_t.pointer option -> ATDGenerated.Clang_ast_t.obj_c_message_expr_infoval trans_with_conditional : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.expr_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.stmtWe translate an expression with a conditional x <=> x?1:0
val trans_negation_with_conditional : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.expr_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.stmtWe translate the logical negation of an expression with a conditional !x <=> x?0:1
ClangFrontend.CAddImplicitDeallocImplval process : IR.Cfg.t -> IR.Tenv.t -> unitThis models ARC implementation of dealloc, see https://clang.llvm.org/docs/AutomaticReferenceCounting.html#dealloc. Dealloc methods can be added to ObjC classes to free C memory for example, but the deallocation of the ObjC instance variables of the object is done automatically. So here we add this explicitely to Infer: we add calls to dealloc of the ObjC instance variables. Here we assume that every ObjC class has already a dealloc method, because if it doesn't exist we add an empty method in CFrontend_decl.create_and_process_dealloc_objc_impl TODO(T68411500): add calls to dealloc of the superclass.
ClangFrontend.CFrontend_configval compare_clang_lang : clang_lang -> clang_lang -> intval equal_clang_lang : clang_lang -> clang_lang -> booltype translation_unit_context = {lang : clang_lang; |
source_file : IBase.SourceFile.t; |
integer_type_widths : IR.Typ.IntegerWidths.t; |
}type decl_trans_context = [ | `DeclTraversal |
| `Translation |
]val alloc : stringval assert_fail : stringval assert_rtn : stringval biniou_buffer_size : intval builtin_expect : stringval builtin_memset_chk : stringval builtin_object_size : stringval ckcomponent_cl : stringval ckcomponentcontroller_cl : stringval clang_bin : string -> stringScript to run our own clang. The argument is expected to be either "" or "++".
val class_method : stringval fbAssertWithSignalAndLogFunctionHelper : stringval google_LogMessageFatal : stringval google_MakeCheckOpString : stringval handleFailureInFunction : stringval handleFailureInMethod : stringval id_cl : stringval infer : stringval init : stringval is_kind_of_class : stringval malloc : stringval new_str : stringval next_object : stringval nsproxy_cl : stringval nsobject_cl : stringval nsstring_cl : stringval objc_class : stringval objc_object : stringval return_param : stringval self : stringval std_addressof : IR.QualifiedCppName.Match.quals_matcherval string_with_utf8_m : stringval this : stringval replace_with_deref_first_arg_attr : stringval modeled_function_attributes : string listval enum_map : (ATDGenerated.Clang_ast_t.pointer option * IR.Exp.t option) ClangPointers.Map.t IStdlib.IStd.refMap from enum constants pointers to their predecesor and their sil value
val global_translation_unit_decls : ATDGenerated.Clang_ast_t.decl list IStdlib.IStd.refval sil_types_map : IR.Typ.desc Clang_ast_extend.TypePointerMap.t IStdlib.IStd.refMap from type pointers (clang pointers and types created later by frontend) to sil types Populated during frontend execution when new type is found
val procedures_attempted : int IStdlib.IStd.refval procedures_failed : int IStdlib.IStd.refval get_fresh_block_index : unit -> intval reset_block_counter : unit -> unitval reset_global_state : unit -> unitClangFrontend.CFrontend_configval compare_clang_lang : clang_lang -> clang_lang -> intval equal_clang_lang : clang_lang -> clang_lang -> booltype translation_unit_context = {lang : clang_lang; |
source_file : IBase.SourceFile.t; |
integer_type_widths : IR.Typ.IntegerWidths.t; |
}type decl_trans_context = [ | `DeclTraversal |
| `Translation |
]val alloc : stringval dealloc : stringval assert_fail : stringval assert_rtn : stringval biniou_buffer_size : intval builtin_expect : stringval builtin_memset_chk : stringval builtin_object_size : stringval ckcomponent_cl : stringval ckcomponentcontroller_cl : stringval clang_bin : string -> stringScript to run our own clang. The argument is expected to be either "" or "++".
val class_method : stringval fbAssertWithSignalAndLogFunctionHelper : stringval google_LogMessageFatal : stringval google_MakeCheckOpString : stringval handleFailureInFunction : stringval handleFailureInMethod : stringval id_cl : stringval infer : stringval init : stringval is_kind_of_class : stringval malloc : stringval new_str : stringval next_object : stringval nsproxy_cl : stringval nsobject_cl : stringval nsstring_cl : stringval objc_class : stringval objc_object : stringval return_param : stringval self : stringval std_addressof : IR.QualifiedCppName.Match.quals_matcherval string_with_utf8_m : stringval this : stringval replace_with_deref_first_arg_attr : stringval modeled_function_attributes : string listval enum_map : (ATDGenerated.Clang_ast_t.pointer option * IR.Exp.t option) ClangPointers.Map.t IStdlib.IStd.refMap from enum constants pointers to their predecesor and their sil value
val global_translation_unit_decls : ATDGenerated.Clang_ast_t.decl list IStdlib.IStd.refval sil_types_map : IR.Typ.desc Clang_ast_extend.TypePointerMap.t IStdlib.IStd.refMap from type pointers (clang pointers and types created later by frontend) to sil types Populated during frontend execution when new type is found
val procedures_attempted : int IStdlib.IStd.refval procedures_failed : int IStdlib.IStd.refval get_fresh_block_index : unit -> intval reset_block_counter : unit -> unitval reset_global_state : unit -> unitClangFrontendmodule AstToRangeMap : sig ... endmodule Ast_expressions : sig ... endmodule CArithmetic_trans : sig ... endmodule CAst_utils : sig ... endmodule CContext : sig ... endmodule CEnum_decl : sig ... endmodule CField_decl : sig ... endmodule CFrontend : sig ... endmodule CFrontend_config : sig ... endmodule CFrontend_decl : sig ... endmodule CFrontend_errors : sig ... endmodule CGeneral_utils : sig ... endmodule CLocation : sig ... endmodule CMethodProperties : sig ... endmodule CMethodSignature : sig ... endmodule CMethod_trans : sig ... endmodule CModule_type : sig ... endmodule CScope : sig ... endmodule CTrans : sig ... endmodule CTrans_models : sig ... endmodule CTrans_utils : sig ... endmodule CType : sig ... endmodule CType_decl : sig ... endmodule CType_to_sil_type : sig ... endmodule CVar_decl : sig ... endmodule Capture : sig ... endmodule ClangCommand : sig ... endmodule ClangPointers : sig ... endmodule ClangQuotes : sig ... endmodule ClangWrapper : sig ... endmodule Clang_ast_extend : sig ... endmodule ObjcCategory_decl : sig ... endmodule ObjcInterface_decl : sig ... endmodule ObjcMethod_decl : sig ... endmodule ObjcProperty_decl : sig ... endmodule ObjcProtocol_decl : sig ... endmodule ProcessAST : sig ... endmodule SwitchCase : sig ... endClangFrontendmodule AstToRangeMap : sig ... endmodule Ast_expressions : sig ... endmodule CAddImplicitDeallocImpl : sig ... endmodule CArithmetic_trans : sig ... endmodule CAst_utils : sig ... endmodule CContext : sig ... endmodule CEnum_decl : sig ... endmodule CField_decl : sig ... endmodule CFrontend : sig ... endmodule CFrontend_config : sig ... endmodule CFrontend_decl : sig ... endmodule CFrontend_errors : sig ... endmodule CGeneral_utils : sig ... endmodule CLocation : sig ... endmodule CMethodProperties : sig ... endmodule CMethodSignature : sig ... endmodule CMethod_trans : sig ... endmodule CModule_type : sig ... endmodule CScope : sig ... endmodule CTrans : sig ... endmodule CTrans_models : sig ... endmodule CTrans_utils : sig ... endmodule CType : sig ... endmodule CType_decl : sig ... endmodule CType_to_sil_type : sig ... endmodule CVar_decl : sig ... endmodule Capture : sig ... endmodule ClangCommand : sig ... endmodule ClangPointers : sig ... endmodule ClangQuotes : sig ... endmodule ClangWrapper : sig ... endmodule Clang_ast_extend : sig ... endmodule ObjcCategory_decl : sig ... endmodule ObjcInterface_decl : sig ... endmodule ObjcMethod_decl : sig ... endmodule ObjcProperty_decl : sig ... endmodule ObjcProtocol_decl : sig ... endmodule ProcessAST : sig ... endmodule SwitchCase : sig ... endClangFrontend__Ast_expressionsval create_pointer_qual_type : ?quals:IR.Typ.type_quals -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.qual_typeval create_reference_qual_type : ?quals:IR.Typ.type_quals -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.qual_typeval create_char_star_type : ?quals:IR.Typ.type_quals -> unit -> ATDGenerated.Clang_ast_t.qual_typeval make_next_object_exp : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmt -> ATDGenerated.Clang_ast_t.stmt -> ATDGenerated.Clang_ast_t.stmt * ATDGenerated.Clang_ast_t.stmtval create_nil : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmtval create_implicit_cast_expr : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.cast_kind -> ATDGenerated.Clang_ast_t.stmtval make_obj_c_message_expr_info_class : string -> IR.Typ.Name.t -> ATDGenerated.Clang_ast_t.pointer option -> ATDGenerated.Clang_ast_t.obj_c_message_expr_infoval trans_with_conditional : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.expr_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.stmtWe translate an expression with a conditional x <=> x?1:0
val trans_negation_with_conditional : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.expr_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.stmtWe translate the logical negation of an expression with a conditional !x <=> x?0:1
ClangFrontend__Ast_expressionsval create_pointer_qual_type : ?quals:IR.Typ.type_quals -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.qual_typeval create_reference_qual_type : ?quals:IR.Typ.type_quals -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.qual_typeval create_void_type : ATDGenerated.Clang_ast_t.qual_typeval create_char_star_type : ?quals:IR.Typ.type_quals -> unit -> ATDGenerated.Clang_ast_t.qual_typeval make_next_object_exp : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmt -> ATDGenerated.Clang_ast_t.stmt -> ATDGenerated.Clang_ast_t.stmt * ATDGenerated.Clang_ast_t.stmtval create_nil : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmtval create_implicit_cast_expr : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.qual_type -> ATDGenerated.Clang_ast_t.cast_kind -> ATDGenerated.Clang_ast_t.stmtval make_obj_c_message_expr_info_class : string -> IR.Typ.Name.t -> ATDGenerated.Clang_ast_t.pointer option -> ATDGenerated.Clang_ast_t.obj_c_message_expr_infoval trans_with_conditional : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.expr_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.stmtWe translate an expression with a conditional x <=> x?1:0
val trans_negation_with_conditional : ATDGenerated.Clang_ast_t.stmt_info -> ATDGenerated.Clang_ast_t.expr_info -> ATDGenerated.Clang_ast_t.stmt list -> ATDGenerated.Clang_ast_t.stmtWe translate the logical negation of an expression with a conditional !x <=> x?0:1
ClangFrontend__CAddImplicitDeallocImplval process : IR.Cfg.t -> IR.Tenv.t -> unitThis models ARC implementation of dealloc, see https://clang.llvm.org/docs/AutomaticReferenceCounting.html#dealloc. Dealloc methods can be added to ObjC classes to free C memory for example, but the deallocation of the ObjC instance variables of the object is done automatically. So here we add this explicitely to Infer: we add calls to dealloc of the ObjC instance variables. Here we assume that every ObjC class has already a dealloc method, because if it doesn't exist we add an empty method in CFrontend_decl.create_and_process_dealloc_objc_impl TODO(T68411500): add calls to dealloc of the superclass.
ClangFrontend__CFrontend_configval compare_clang_lang : clang_lang -> clang_lang -> intval equal_clang_lang : clang_lang -> clang_lang -> booltype translation_unit_context = {lang : clang_lang; |
source_file : IBase.SourceFile.t; |
integer_type_widths : IR.Typ.IntegerWidths.t; |
}type decl_trans_context = [ | `DeclTraversal |
| `Translation |
]val alloc : stringval assert_fail : stringval assert_rtn : stringval biniou_buffer_size : intval builtin_expect : stringval builtin_memset_chk : stringval builtin_object_size : stringval ckcomponent_cl : stringval ckcomponentcontroller_cl : stringval clang_bin : string -> stringScript to run our own clang. The argument is expected to be either "" or "++".
val class_method : stringval fbAssertWithSignalAndLogFunctionHelper : stringval google_LogMessageFatal : stringval google_MakeCheckOpString : stringval handleFailureInFunction : stringval handleFailureInMethod : stringval id_cl : stringval infer : stringval init : stringval is_kind_of_class : stringval malloc : stringval new_str : stringval next_object : stringval nsproxy_cl : stringval nsobject_cl : stringval nsstring_cl : stringval objc_class : stringval objc_object : stringval return_param : stringval self : stringval std_addressof : IR.QualifiedCppName.Match.quals_matcherval string_with_utf8_m : stringval this : stringval replace_with_deref_first_arg_attr : stringval modeled_function_attributes : string listval enum_map : (ATDGenerated.Clang_ast_t.pointer option * IR.Exp.t option) ClangFrontend.ClangPointers.Map.t IStdlib.IStd.refMap from enum constants pointers to their predecesor and their sil value
val global_translation_unit_decls : ATDGenerated.Clang_ast_t.decl list IStdlib.IStd.refval sil_types_map : IR.Typ.desc ClangFrontend.Clang_ast_extend.TypePointerMap.t IStdlib.IStd.refMap from type pointers (clang pointers and types created later by frontend) to sil types Populated during frontend execution when new type is found
val procedures_attempted : int IStdlib.IStd.refval procedures_failed : int IStdlib.IStd.refval get_fresh_block_index : unit -> intval reset_block_counter : unit -> unitval reset_global_state : unit -> unitClangFrontend__CFrontend_configval compare_clang_lang : clang_lang -> clang_lang -> intval equal_clang_lang : clang_lang -> clang_lang -> booltype translation_unit_context = {lang : clang_lang; |
source_file : IBase.SourceFile.t; |
integer_type_widths : IR.Typ.IntegerWidths.t; |
}type decl_trans_context = [ | `DeclTraversal |
| `Translation |
]val alloc : stringval dealloc : stringval assert_fail : stringval assert_rtn : stringval biniou_buffer_size : intval builtin_expect : stringval builtin_memset_chk : stringval builtin_object_size : stringval ckcomponent_cl : stringval ckcomponentcontroller_cl : stringval clang_bin : string -> stringScript to run our own clang. The argument is expected to be either "" or "++".
val class_method : stringval fbAssertWithSignalAndLogFunctionHelper : stringval google_LogMessageFatal : stringval google_MakeCheckOpString : stringval handleFailureInFunction : stringval handleFailureInMethod : stringval id_cl : stringval infer : stringval init : stringval is_kind_of_class : stringval malloc : stringval new_str : stringval next_object : stringval nsproxy_cl : stringval nsobject_cl : stringval nsstring_cl : stringval objc_class : stringval objc_object : stringval return_param : stringval self : stringval std_addressof : IR.QualifiedCppName.Match.quals_matcherval string_with_utf8_m : stringval this : stringval replace_with_deref_first_arg_attr : stringval modeled_function_attributes : string listval enum_map : (ATDGenerated.Clang_ast_t.pointer option * IR.Exp.t option) ClangFrontend.ClangPointers.Map.t IStdlib.IStd.refMap from enum constants pointers to their predecesor and their sil value
val global_translation_unit_decls : ATDGenerated.Clang_ast_t.decl list IStdlib.IStd.refval sil_types_map : IR.Typ.desc ClangFrontend.Clang_ast_extend.TypePointerMap.t IStdlib.IStd.refMap from type pointers (clang pointers and types created later by frontend) to sil types Populated during frontend execution when new type is found
val procedures_attempted : int IStdlib.IStd.refval procedures_failed : int IStdlib.IStd.refval get_fresh_block_index : unit -> intval reset_block_counter : unit -> unitval reset_global_state : unit -> unitIBase.Checkertype t = type support = | NoSupport | checker does not run at all for this language |
| ExperimentalSupport | checker runs but is not expected to give reasonable results |
| Support | checker is expected to give reasonable results |
per-language support for each checker
type cli_flags = {deprecated : string list; | More command-line flags, similar to |
show_in_help : bool; |
}type kind = type config = {id : string; | Unique identifier. Used to generate web URLs for the documentation as well as the flag to enable this option on the command line. |
kind : kind; | |
support : Language.t -> support; | |
short_documentation : string; | used in man pages and as a short intro on the website |
cli_flags : cli_flags option; | If |
enabled_by_default : bool; | |
activates : t list; | list of checkers that get enabled when this checker is enabled |
}val from_id : string -> t optionIBase.Checkertype t = | AnnotationReachability |
| Biabduction |
| BufferOverrunAnalysis |
| BufferOverrunChecker |
| ConfigChecksBetweenMarkers |
| Cost |
| Eradicate |
| FragmentRetainsView |
| ImmutableCast |
| Impurity |
| InefficientKeysetIterator |
| Linters |
| LithoRequiredProps |
| Liveness |
| LoopHoisting |
| NullsafeDeprecated |
| PrintfArgs |
| Pulse |
| Purity |
| Quandary |
| RacerD |
| ResourceLeakLabExercise |
| SIOF |
| SelfInBlock |
| Starvation |
| TOPL |
| Uninit |
type support = | NoSupport | checker does not run at all for this language |
| ExperimentalSupport | checker runs but is not expected to give reasonable results |
| Support | checker is expected to give reasonable results |
per-language support for each checker
type cli_flags = {deprecated : string list; | More command-line flags, similar to |
show_in_help : bool; |
}type kind = | UserFacing of {
} | can report issues to users | |||||
| UserFacingDeprecated of {
} | can report issues to users but should probably be deleted from infer | |||||
| Internal | Analysis that only serves other analyses. Do not use to mean experimental! Please still document experimental checkers as they will become non-experimental. | |||||
| Exercise | reserved for the "resource leak" lab exercise |
type config = {id : string; | Unique identifier. Used to generate web URLs for the documentation as well as the flag to enable this option on the command line. |
kind : kind; | |
support : Language.t -> support; | |
short_documentation : string; | used in man pages and as a short intro on the website |
cli_flags : cli_flags option; | If |
enabled_by_default : bool; | |
activates : t list; | list of checkers that get enabled when this checker is enabled |
}val from_id : string -> t optionIBase.Configtype os_type = | Unix |
| Win32 |
| Cygwin |
type build_system = | BAnt |
| BBuck |
| BClang |
| BGradle |
| BJava |
| BJavac |
| BMake |
| BMvn |
| BNdk |
| BXcode |
type scheduler = | File |
| Restart |
| SyntacticCallGraph |
val build_system_of_exe_name : string -> build_systemval string_of_build_system : build_system -> stringval env_inside_maven : IStdlib.IStd.Unix.envval anonymous_block_num_sep : stringval anonymous_block_prefix : stringval append_buck_flavors : string listval assign : stringval biabduction_models_dir : stringval biabduction_models_jar : stringval biabduction_models_src_dir : stringval bin_dir : stringval bound_error_allowed_in_procedure_call : boolval clang_exe_aliases : string listval clang_initializer_prefix : stringval clang_inner_destructor_prefix : stringval clang_plugin_path : stringval classpath : string optionval default_failure_name : stringval dotty_frontend_output : stringval etc_dir : stringval fail_on_issue_exit_code : intval fcp_dir : stringval idempotent_getters : boolval initial_analysis_time : floatval ivar_attributes : stringval java_lambda_marker_infix : stringmarker to recognize methods generated by javalib to eliminate lambdas
val lib_dir : stringval load_average : float optionval max_narrows : intval max_widens : intval meet_level : intval nsnotification_center_checker_backend : boolval os_type : os_typeval passthroughs : boolval patterns_modeled_expensive : string * Yojson.Basic.tval patterns_never_returning_null : string * Yojson.Basic.tval patterns_skip_implementation : string * Yojson.Basic.tval patterns_skip_translation : string * Yojson.Basic.tval pp_version : Stdlib.Format.formatter -> unit -> unitval property_attributes : stringval relative_path_backtrack : intval report : boolval report_condition_always_true_in_clang : boolval report_custom_error : boolval report_force_relative_path : boolval report_nullable_inconsistency : boolval save_compact_summaries : boolval smt_output : boolval source_file_extentions : string listval sourcepath : string optionval sources : string listval specs_files_suffix : stringval trace_absarray : boolval unsafe_unret : stringval incremental_analysis : boolval weak : stringval whitelisted_cpp_classes : string listval whitelisted_cpp_methods : string listval wrappers_dir : stringval abs_struct : intval abs_val : intval allow_leak : boolval annotation_reachability_cxx : Yojson.Basic.tval annotation_reachability_cxx_sources : Yojson.Basic.tval annotation_reachability_custom_pairs : Yojson.Basic.tval anon_args : string listval array_level : intval biabduction_models_mode : boolval bo_debug : intval bo_field_depth_limit : int optionval bo_service_handler_request : boolval bootclasspath : string optionval buck : boolval buck_blacklist : string listval buck_build_args : string listval buck_build_args_no_inline : string listval buck_cache_mode : boolval buck_merge_all_deps : boolval buck_mode : BuckMode.t optionval buck_out_gen : stringval buck_targets_blacklist : string listval call_graph_schedule : boolval capture : boolval capture_blacklist : string optionval censor_report : ((bool * Str.regexp) * (bool * Str.regexp) * string) listval changed_files_index : string optionval check_version : string optionval clang_biniou_file : string optionval clang_compound_literal_init_limit : intval clang_extra_flags : string listval clang_blacklisted_flags : string listval clang_blacklisted_flags_with_arg : string listval clang_ignore_regex : string optionval clang_isystem_to_override_regex : Str.regexp optionval clang_idirafter_to_override_regex : Str.regexp optionval clang_libcxx_include_to_override_regex : string optionval class_loads_roots : IStdlib.IStd.String.Set.tval command : ATDGenerated.InferCommand.tval compute_analytics : boolval continue_analysis : boolval continue_capture : boolval costs_current : string optionval cost_issues_tests : string optionval costs_previous : string optionval cxx : boolval cxx_scope_guards : Yojson.Basic.tval deduplicate : boolval debug_exceptions : boolval debug_level_analysis : intval debug_level_capture : intval debug_level_linters : intval debug_level_test_determinator : intval debug_mode : boolval default_linters : boolval dependency_mode : boolval developer_mode : boolval differential_filter_files : string optionval differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] listval dotty_cfg_libs : boolval dump_duplicate_symbols : boolval eradicate_condition_redundant : boolval eradicate_field_over_annotated : boolval eradicate_return_over_annotated : boolval eradicate_verbose : boolval fail_on_bug : boolval fcp_apple_clang : string optionval fcp_syntax_only : boolval file_renamings : string optionval filter_paths : boolval filtering : boolval force_delete_results_dir : boolval force_integration : build_system optionval from_json_report : stringval from_json_costs_report : stringval frontend_stats : boolval frontend_tests : boolval function_pointer_specialization : boolval generated_classes : string optionval genrule_mode : boolval get_linter_doc_url : linter_id:string -> string optionval help_checker : Checker.t listval help_issue_type : IssueType.t listval hoisting_report_only_expensive : boolval html : boolval icfg_dotty_outfile : string optionval infer_is_clang : boolval infer_is_javac : boolval implicit_sdk_root : string optionval inclusive_cost : boolval inferconfig_file : string optionval inferconfig_dir : string optionval iphoneos_target_sdk_version : string optionval iphoneos_target_sdk_version_path_regex : iphoneos_target_sdk_version_path_regex listval is_checker_enabled : Checker.t -> boolval issues_tests : string optionval issues_tests_fields : IssuesTestField.t listval iterations : intval java_debug_source_file_info : string optionval java_jar_compiler : string optionval java_version : int optionval javac_classes_out : stringval job_id : string optionval jobs : intval join_cond : intval keep_going : boolval linter : string optionval linters_def_file : string listval linters_def_folder : string listval linters_developer_mode : boolval linters_ignore_clang_failures : boolval linters_validate_syntax_only : boolval list_checkers : boolval list_issue_types : boolval liveness_dangerous_classes : Yojson.Basic.tval max_nesting : int optionval merge : boolval method_decls_info : string optionval ml_buckets : [ `MLeak_all | `MLeak_arc | `MLeak_cf | `MLeak_cpp | `MLeak_no_arc | `MLeak_unknown ] listval modified_lines : string optionval monitor_prop_size : boolval nelseg : boolval no_translate_libs : boolval nullable_annotation : string optionval nullsafe_disable_field_not_initialized_in_nonstrict_classes : boolval nullsafe_optimistic_third_party_params_in_non_strict : boolval nullsafe_third_party_signatures : string optionval nullsafe_third_party_location_for_messaging_only : string optionval nullsafe_strict_containers : boolval oom_threshold : int optionval only_cheap_debug : boolval only_footprint : boolval print_active_checkers : boolval print_builtins : boolval print_logs : boolval print_types : boolval print_using_diff : boolval procedures : boolval procedures_attributes : boolval procedures_definedness : boolval procedures_filter : string optionval procedures_name : boolval procedures_source_file : boolval procedures_summary : boolval process_clang_ast : boolval clang_frontend_action_string : stringval profiler_samples : string optionval progress_bar : [ `MultiLine | `Plain | `Quiet ]val project_root : stringval pudge : boolval pulse_cut_to_one_path_procedures_pattern : Str.regexp optionval pulse_recency_limit : intval pulse_intraprocedural_only : boolval pulse_max_disjuncts : intval pulse_model_alloc_pattern : Str.regexp optionval pulse_model_release_pattern : Str.regexp optionval pulse_model_transfer_ownership_namespace : (string * string) listval pulse_model_transfer_ownership : string listval pulse_widen_threshold : intval pure_by_default : boolval quandary_endpoints : Yojson.Basic.tval quandary_sanitizers : Yojson.Basic.tval quandary_sinks : Yojson.Basic.tval quandary_sources : Yojson.Basic.tval quiet : boolval racerd_guardedby : boolval reactive_mode : boolval reanalyze : boolval report_blacklist_files_containing : string listval report_console_limit : int optionval report_current : string optionval report_formatter : [ `No_formatter | `Phabricator_formatter ]val report_path_regex_blacklist : string listval report_path_regex_whitelist : string listval report_previous : string optionval report_suppress_errors : string listval reports_include_ml_loc : boolval rest : string listval results_dir : stringval scheduler : schedulerval scuba_logging : boolval scuba_normals : string IStdlib.IStd.String.Map.tval scuba_tags : string list IStdlib.IStd.String.Map.tval seconds_per_iteration : float optionval select : int optionval show_buckets : boolval siof_check_iostreams : boolval siof_safe_methods : string listval skip_analysis_in_path : string listval skip_analysis_in_path_skips_compilation : boolval skip_duplicated_types : boolval skip_translation_headers : string listval sledge_timers : boolval source_files : boolval source_files_cfg : boolval source_files_filter : string optionval source_files_freshly_captured : boolval source_files_procedure_names : boolval source_files_type_environment : boolval source_preview : boolval sqlite_cache_size : intval sqlite_page_size : intval sqlite_lock_timeout : intval sqlite_vfs : string optionval sqlite_write_daemon : boolval starvation_skip_analysis : Yojson.Basic.tval starvation_strict_mode : boolval starvation_whole_program : boolval subtype_multirange : boolval summaries_caches_max_size : intval symops_per_iteration : int optionval test_determinator : boolval export_changed_functions : boolval test_filtering : boolval testing_mode : boolval threadsafe_aliases : Yojson.Basic.tval topl_properties : string listval trace_error : boolval trace_events : boolval trace_join : boolval trace_ondemand : boolval trace_rearrange : boolval trace_topl : boolval tv_commit : string optionval tv_limit : intval tv_limit_filtered : intval type_size : boolval uninit_interproc : boolval unsafe_malloc : boolval worklist_mode : intval write_dotty : boolval write_html : boolval write_html_whitelist_regex : string listval write_website : string optionval xcode_developer_dir : string optionval xcpretty : boolval dynamic_dispatch : boolval toplevel_results_dir : stringIn some integrations, eg Buck, infer subprocesses started by the build system (started by the toplevel infer process) will have their own results directory; this points to the results directory of the toplevel infer process, which can be useful for, eg, storing debug info. In other cases this is equal to results_dir.
val is_in_custom_symbols : string -> string -> boolDoes named symbol match any prefix in the named custom symbol list?
val execution_id : IStdlib.IStd.Int64.tval clang_compilation_dbs : [ `Escaped of string | `Raw of string ] list IStdlib.IStd.refIBase.Configtype os_type = | Unix |
| Win32 |
| Cygwin |
type build_system = | BAnt |
| BBuck |
| BClang |
| BGradle |
| BJava |
| BJavac |
| BMake |
| BMvn |
| BNdk |
| BXcode |
type scheduler = | File |
| Restart |
| SyntacticCallGraph |
val build_system_of_exe_name : string -> build_systemval string_of_build_system : build_system -> stringval env_inside_maven : IStdlib.IStd.Unix.envval anonymous_block_num_sep : stringval anonymous_block_prefix : stringval append_buck_flavors : string listval assign : stringval biabduction_models_dir : stringval biabduction_models_jar : stringval biabduction_models_src_dir : stringval bin_dir : stringval bound_error_allowed_in_procedure_call : boolval clang_exe_aliases : string listval clang_initializer_prefix : stringval clang_inner_destructor_prefix : stringval clang_plugin_path : stringval classpath : string optionval default_failure_name : stringval dotty_frontend_output : stringval etc_dir : stringval fail_on_issue_exit_code : intval fcp_dir : stringval idempotent_getters : boolval initial_analysis_time : floatval ivar_attributes : stringval java_lambda_marker_infix : stringmarker to recognize methods generated by javalib to eliminate lambdas
val lib_dir : stringval load_average : float optionval max_narrows : intval max_widens : intval meet_level : intval nsnotification_center_checker_backend : boolval os_type : os_typeval passthroughs : boolval patterns_modeled_expensive : string * Yojson.Basic.tval patterns_never_returning_null : string * Yojson.Basic.tval patterns_skip_implementation : string * Yojson.Basic.tval patterns_skip_translation : string * Yojson.Basic.tval pp_version : Stdlib.Format.formatter -> unit -> unitval property_attributes : stringval relative_path_backtrack : intval report : boolval report_condition_always_true_in_clang : boolval report_custom_error : boolval report_force_relative_path : boolval report_nullable_inconsistency : boolval save_compact_summaries : boolval smt_output : boolval source_file_extentions : string listval sourcepath : string optionval sources : string listval specs_files_suffix : stringval trace_absarray : boolval unsafe_unret : stringval incremental_analysis : boolval weak : stringval whitelisted_cpp_classes : string listval whitelisted_cpp_methods : string listval wrappers_dir : stringval abs_struct : intval abs_val : intval allow_leak : boolval annotation_reachability_cxx : Yojson.Basic.tval annotation_reachability_cxx_sources : Yojson.Basic.tval annotation_reachability_custom_pairs : Yojson.Basic.tval anon_args : string listval array_level : intval biabduction_models_mode : boolval bo_debug : intval bo_field_depth_limit : int optionval bo_service_handler_request : boolval bootclasspath : string optionval buck : boolval buck_blacklist : string listval buck_build_args : string listval buck_build_args_no_inline : string listval buck_cache_mode : boolval buck_merge_all_deps : boolval buck_mode : BuckMode.t optionval buck_out_gen : stringval buck_targets_blacklist : string listval call_graph_schedule : boolval capture : boolval capture_blacklist : string optionval censor_report : ((bool * Str.regexp) * (bool * Str.regexp) * string) listval changed_files_index : string optionval check_version : string optionval clang_biniou_file : string optionval clang_compound_literal_init_limit : intval clang_extra_flags : string listval clang_blacklisted_flags : string listval clang_blacklisted_flags_with_arg : string listval clang_ignore_regex : string optionval clang_isystem_to_override_regex : Str.regexp optionval clang_idirafter_to_override_regex : Str.regexp optionval clang_libcxx_include_to_override_regex : string optionval command : ATDGenerated.InferCommand.tval compute_analytics : boolval continue_analysis : boolval continue_capture : boolval costs_current : string optionval cost_issues_tests : string optionval costs_previous : string optionval cxx : boolval cxx_scope_guards : Yojson.Basic.tval deduplicate : boolval debug_exceptions : boolval debug_level_analysis : intval debug_level_capture : intval debug_level_linters : intval debug_level_test_determinator : intval debug_mode : boolval default_linters : boolval dependency_mode : boolval developer_mode : boolval differential_filter_files : string optionval differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] listval dotty_cfg_libs : boolval dump_duplicate_symbols : boolval eradicate_condition_redundant : boolval eradicate_field_over_annotated : boolval eradicate_return_over_annotated : boolval eradicate_verbose : boolval fail_on_bug : boolval fcp_apple_clang : string optionval fcp_syntax_only : boolval file_renamings : string optionval filter_paths : boolval filtering : boolval force_delete_results_dir : boolval force_integration : build_system optionval from_json_report : stringval from_json_costs_report : stringval frontend_stats : boolval frontend_tests : boolval function_pointer_specialization : boolval generated_classes : string optionval genrule_mode : boolval get_linter_doc_url : linter_id:string -> string optionval help_checker : Checker.t listval help_issue_type : IssueType.t listval hoisting_report_only_expensive : boolval html : boolval icfg_dotty_outfile : string optionval infer_is_clang : boolval infer_is_javac : boolval implicit_sdk_root : string optionval inclusive_cost : boolval inferconfig_file : string optionval inferconfig_dir : string optionval iphoneos_target_sdk_version : string optionval iphoneos_target_sdk_version_path_regex : iphoneos_target_sdk_version_path_regex listval is_checker_enabled : Checker.t -> boolval issues_tests : string optionval issues_tests_fields : IssuesTestField.t listval iterations : intval java_debug_source_file_info : string optionval java_jar_compiler : string optionval java_version : int optionval javac_classes_out : stringval job_id : string optionval jobs : intval join_cond : intval keep_going : boolval linter : string optionval linters_def_file : string listval linters_def_folder : string listval linters_developer_mode : boolval linters_ignore_clang_failures : boolval linters_validate_syntax_only : boolval list_checkers : boolval list_issue_types : boolval liveness_dangerous_classes : Yojson.Basic.tval max_nesting : int optionval merge : boolval method_decls_info : string optionval ml_buckets : [ `MLeak_all | `MLeak_arc | `MLeak_cf | `MLeak_cpp | `MLeak_no_arc | `MLeak_unknown ] listval modified_lines : string optionval monitor_prop_size : boolval nelseg : boolval no_translate_libs : boolval nullable_annotation : string optionval nullsafe_disable_field_not_initialized_in_nonstrict_classes : boolval nullsafe_optimistic_third_party_params_in_non_strict : boolval nullsafe_third_party_signatures : string optionval nullsafe_third_party_location_for_messaging_only : string optionval nullsafe_strict_containers : boolval oom_threshold : int optionval only_cheap_debug : boolval only_footprint : boolval pmd_xml : boolval print_active_checkers : boolval print_builtins : boolval print_logs : boolval print_types : boolval print_using_diff : boolval procedures : boolval procedures_attributes : boolval procedures_definedness : boolval procedures_filter : string optionval procedures_name : boolval procedures_source_file : boolval procedures_summary : boolval process_clang_ast : boolval clang_frontend_action_string : stringval profiler_samples : string optionval progress_bar : [ `MultiLine | `Plain | `Quiet ]val project_root : stringval pudge : boolval pulse_cut_to_one_path_procedures_pattern : Str.regexp optionval pulse_recency_limit : intval pulse_intraprocedural_only : boolval pulse_max_disjuncts : intval pulse_model_abort : string listval pulse_model_alloc_pattern : Str.regexp optionval pulse_model_release_pattern : Str.regexp optionval pulse_model_transfer_ownership_namespace : (string * string) listval pulse_model_transfer_ownership : string listval pulse_widen_threshold : intval pure_by_default : boolval quandary_endpoints : Yojson.Basic.tval quandary_sanitizers : Yojson.Basic.tval quandary_sinks : Yojson.Basic.tval quandary_sources : Yojson.Basic.tval quiet : boolval racerd_guardedby : boolval reactive_mode : boolval reanalyze : boolval report_blacklist_files_containing : string listval report_console_limit : int optionval report_current : string optionval report_formatter : [ `No_formatter | `Phabricator_formatter ]val report_path_regex_blacklist : string listval report_path_regex_whitelist : string listval report_previous : string optionval report_suppress_errors : string listval reports_include_ml_loc : boolval rest : string listval results_dir : stringval scheduler : schedulerval scuba_logging : boolval scuba_normals : string IStdlib.IStd.String.Map.tval scuba_tags : string list IStdlib.IStd.String.Map.tval seconds_per_iteration : float optionval select : int optionval show_buckets : boolval siof_check_iostreams : boolval siof_safe_methods : string listval skip_analysis_in_path : string listval skip_analysis_in_path_skips_compilation : boolval skip_duplicated_types : boolval skip_translation_headers : string listval sledge_timers : boolval source_files : boolval source_files_cfg : boolval source_files_filter : string optionval source_files_freshly_captured : boolval source_files_procedure_names : boolval source_files_type_environment : boolval source_preview : boolval sqlite_cache_size : intval sqlite_page_size : intval sqlite_lock_timeout : intval sqlite_vfs : string optionval sqlite_write_daemon : boolval starvation_skip_analysis : Yojson.Basic.tval starvation_strict_mode : boolval starvation_whole_program : boolval subtype_multirange : boolval summaries_caches_max_size : intval symops_per_iteration : int optionval test_determinator : boolval export_changed_functions : boolval test_filtering : boolval testing_mode : boolval threadsafe_aliases : Yojson.Basic.tval topl_properties : string listval trace_error : boolval trace_events : boolval trace_join : boolval trace_ondemand : boolval trace_rearrange : boolval trace_topl : boolval tv_commit : string optionval tv_limit : intval tv_limit_filtered : intval type_size : boolval uninit_interproc : boolval unsafe_malloc : boolval worklist_mode : intval write_dotty : boolval write_html : boolval write_html_whitelist_regex : string listval write_website : string optionval xcode_developer_dir : string optionval xcpretty : boolval dynamic_dispatch : boolval toplevel_results_dir : stringIn some integrations, eg Buck, infer subprocesses started by the build system (started by the toplevel infer process) will have their own results directory; this points to the results directory of the toplevel infer process, which can be useful for, eg, storing debug info. In other cases this is equal to results_dir.
val is_in_custom_symbols : string -> string -> boolDoes named symbol match any prefix in the named custom symbol list?
val execution_id : IStdlib.IStd.Int64.tval clang_compilation_dbs : [ `Escaped of string | `Raw of string ] list IStdlib.IStd.refIBase.IssueTypetype visibility = | User | always add to error log |
| Developer | only add to error log in some debug modes |
| Silent | never add to error log |
visibility of the issue type
val compare_visibility : visibility -> visibility -> intval equal_visibility : visibility -> visibility -> boolval string_of_visibility : visibility -> stringval string_of_severity : severity -> stringtype t = private {unique_id : string; | |
checker : Checker.t; | |
visibility : visibility; | |
user_documentation : string option; | |
mutable default_severity : severity; | used for documentation but can be overriden at report time |
mutable enabled : bool; | |
mutable hum : string; | |
mutable doc_url : string option; | |
mutable linters_def_file : string option; |
}val pp : Stdlib.Format.formatter -> t -> unitpretty print a localised string
val find_from_string : id:string -> t optionreturn the issue type if it was previously registered
val register_from_string : ?enabled:bool -> ?hum:string -> ?doc_url:string -> ?linters_def_file:string -> id:string -> ?visibility:visibility -> ?user_documentation:string -> severity -> Checker.t -> tCreate a new issue and register it in the list of all issues. NOTE: if the issue with the same string id is already registered, overrides `hum`, `doc_url`, and `linters_def_file`, but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic AL issues from the config, when we don't know all params yet. Thus, the human-readable description can be updated when we encounter the definition of the issue type, eg in AL.
val checker_can_report : Checker.t -> t -> boolWhether the issue was registered as coming from the given checker. Important to call this before reporting to keep documentation accurate.
val set_enabled : t -> bool -> unitval abduction_case_not_implemented : tval array_of_pointsto : tval array_out_of_bounds_l1 : tval array_out_of_bounds_l2 : tval array_out_of_bounds_l3 : tval assert_failure : tval bad_footprint : tval biabduction_analysis_stops : tval biabd_condition_always_false : tval biabd_condition_always_true : tval biabd_registered_observer_being_deallocated : tval biabd_stack_variable_address_escape : tval biabd_use_after_free : tval buffer_overrun_l1 : tval buffer_overrun_l2 : tval buffer_overrun_l3 : tval buffer_overrun_l4 : tval buffer_overrun_l5 : tval buffer_overrun_r2 : tval buffer_overrun_s2 : tval buffer_overrun_t1 : tTainted values is used in array accesses, causing buffer over/underruns
val buffer_overrun_u5 : tval cannot_star : tval captured_strong_self : tval checkers_allocates_memory : tWarning name when a performance critical method directly or indirectly calls a method allocating memory
val checkers_annotation_reachability_error : tval checkers_calls_expensive_method : tWarning name when a performance critical method directly or indirectly calls a method annotatd as expensive
val checkers_expensive_overrides_unexpensive : tWarning name for the subtyping rule: method not annotated as expensive cannot be overridden by a method annotated as expensive
val checkers_fragment_retain_view : tval checkers_immutable_cast : tval checkers_printf_args : tval class_cast_exception : tval class_load : tval complexity_increase : kind:CostKind.t -> is_on_ui_thread:bool -> tval component_factory_function : tval component_file_cyclomatic_complexity : tval component_file_line_count : tval component_initializer_with_side_effects : tval component_with_multiple_factory_methods : tval component_with_unconventional_superclass : tval condition_always_false : tval condition_always_true : tval constant_address_dereference : tval create_intent_from_uri : tval cross_site_scripting : tval dangling_pointer_dereference : tval dangling_pointer_dereference_maybe : tval dead_store : tval deadlock : tval deallocate_stack_variable : tval deallocate_static_memory : tval deallocation_mismatch : tval divide_by_zero : tval do_not_report : tan issue type that should never be reported
val empty_vector_access : tval eradicate_condition_redundant : tval eradicate_field_not_initialized : tval eradicate_field_not_nullable : tval eradicate_field_over_annotated : tval eradicate_inconsistent_subclass_parameter_annotation : tval eradicate_inconsistent_subclass_return_annotation : tval eradicate_redundant_nested_class_annotation : tval eradicate_bad_nested_class_annotation : tval eradicate_nullable_dereference : tval eradicate_parameter_not_nullable : tval eradicate_return_not_nullable : tval eradicate_return_over_annotated : tval eradicate_unvetted_third_party_in_nullsafe : tval eradicate_unchecked_usage_in_nullsafe : tval eradicate_meta_class_can_be_nullsafe : tval eradicate_meta_class_needs_improvement : tval eradicate_meta_class_is_nullsafe : tval exposed_insecure_intent_handling : tval failure_exe : tval field_not_null_checked : tval guardedby_violation_racerd : tval impure_function : tval inefficient_keyset_iterator : tval inferbo_alloc_is_big : tval inferbo_alloc_is_negative : tval inferbo_alloc_is_zero : tval inferbo_alloc_may_be_big : tval inferbo_alloc_may_be_negative : tval inferbo_alloc_may_be_tainted : tval infinite_cost_call : kind:CostKind.t -> tval inherently_dangerous_function : tval insecure_intent_handling : tval integer_overflow_l1 : tval integer_overflow_l2 : tval integer_overflow_l5 : tval integer_overflow_r2 : tval integer_overflow_u5 : tval interface_not_thread_safe : tval internal_error : tval invariant_call : tval javascript_injection : tval lab_resource_leak : tval leak_after_array_abstraction : tval leak_in_footprint : tval leak_unknown_origin : tval lockless_violation : tval lock_consistency_violation : tval logging_private_data : tval expensive_loop_invariant_call : tval memory_leak : tval missing_fld : tval missing_required_prop : tval mixed_self_weakself : tval multiple_weakself : tval mutable_local_variable_in_component_file : tval null_dereference : tval null_test_after_dereference : tval nullptr_dereference : tval parameter_not_null_checked : tval pointer_size_mismatch : tval precondition_not_found : tval precondition_not_met : tval premature_nil_termination : tval pulse_memory_leak : tval pure_function : tval quandary_taint_error : tval resource_leak : tval retain_cycle : tval skip_function : tval skip_pointer_dereference : tval shell_injection : tval shell_injection_risk : tval sql_injection : tval sql_injection_risk : tval stack_variable_address_escape : tval starvation : tval static_initialization_order_fiasco : tval strict_mode_violation : tval strong_self_not_checked : tval symexec_memory_error : tval thread_safety_violation : tval topl_error : tval unary_minus_applied_to_unsigned_expression : tval uninitialized_value : tval unreachable_code_after : tval use_after_delete : tval use_after_free : tval use_after_lifetime : tval untrusted_buffer_access : tval untrusted_deserialization : tval untrusted_deserialization_risk : tval untrusted_file : tval untrusted_file_risk : tval untrusted_heap_allocation : tval untrusted_intent_creation : tval untrusted_url_risk : tval untrusted_environment_change_risk : tval untrusted_variable_length_array : tval user_controlled_sql_risk : tval vector_invalidation : tval weak_self_in_noescape_block : tval wrong_argument_number : tval unreachable_cost_call : kind:CostKind.t -> tIBase.IssueTypetype visibility = | User | always add to error log |
| Developer | only add to error log in some debug modes |
| Silent | never add to error log |
visibility of the issue type
val compare_visibility : visibility -> visibility -> intval equal_visibility : visibility -> visibility -> boolval string_of_visibility : visibility -> stringval string_of_severity : severity -> stringtype t = private {unique_id : string; | |
checker : Checker.t; | |
visibility : visibility; | |
user_documentation : string option; | |
mutable default_severity : severity; | used for documentation but can be overriden at report time |
mutable enabled : bool; | |
mutable hum : string; | |
mutable doc_url : string option; | |
mutable linters_def_file : string option; |
}val pp : Stdlib.Format.formatter -> t -> unitpretty print a localised string
val find_from_string : id:string -> t optionreturn the issue type if it was previously registered
val register_from_string : ?enabled:bool -> ?is_cost_issue:bool -> ?hum:string -> ?doc_url:string -> ?linters_def_file:string -> id:string -> ?visibility:visibility -> ?user_documentation:string -> severity -> Checker.t -> tCreate a new issue and register it in the list of all issues. NOTE: if the issue with the same string id is already registered, overrides `hum`, `doc_url`, and `linters_def_file`, but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic AL issues from the config, when we don't know all params yet. Thus, the human-readable description can be updated when we encounter the definition of the issue type, eg in AL.
val checker_can_report : Checker.t -> t -> boolWhether the issue was registered as coming from the given checker. Important to call this before reporting to keep documentation accurate.
val set_enabled : t -> bool -> unitval abduction_case_not_implemented : tval array_of_pointsto : tval array_out_of_bounds_l1 : tval array_out_of_bounds_l2 : tval array_out_of_bounds_l3 : tval assert_failure : tval bad_footprint : tval biabduction_analysis_stops : tval biabd_condition_always_false : tval biabd_condition_always_true : tval buffer_overrun_l1 : tval buffer_overrun_l2 : tval buffer_overrun_l3 : tval buffer_overrun_l4 : tval buffer_overrun_l5 : tval buffer_overrun_r2 : tval buffer_overrun_s2 : tval buffer_overrun_t1 : tTainted values is used in array accesses, causing buffer over/underruns
val buffer_overrun_u5 : tval cannot_star : tval captured_strong_self : tval checkers_allocates_memory : tWarning name when a performance critical method directly or indirectly calls a method allocating memory
val checkers_annotation_reachability_error : tval checkers_calls_expensive_method : tWarning name when a performance critical method directly or indirectly calls a method annotatd as expensive
val checkers_expensive_overrides_unexpensive : tWarning name for the subtyping rule: method not annotated as expensive cannot be overridden by a method annotated as expensive
val checkers_fragment_retain_view : tval checkers_immutable_cast : tval checkers_printf_args : tval class_cast_exception : tval complexity_increase : kind:CostKind.t -> is_on_ui_thread:bool -> tval component_factory_function : tval component_file_cyclomatic_complexity : tval component_file_line_count : tval component_initializer_with_side_effects : tval component_with_multiple_factory_methods : tval component_with_unconventional_superclass : tval condition_always_false : tval condition_always_true : tval config_checks_between_markers : tval constant_address_dereference : tval create_intent_from_uri : tval cross_site_scripting : tval dangling_pointer_dereference : tval dangling_pointer_dereference_maybe : tval dead_store : tval deadlock : tval deallocate_stack_variable : tval deallocate_static_memory : tval divide_by_zero : tval do_not_report : tan issue type that should never be reported
val empty_vector_access : tval eradicate_condition_redundant : tval eradicate_field_not_initialized : tval eradicate_field_not_nullable : tval eradicate_field_over_annotated : tval eradicate_inconsistent_subclass_parameter_annotation : tval eradicate_inconsistent_subclass_return_annotation : tval eradicate_redundant_nested_class_annotation : tval eradicate_bad_nested_class_annotation : tval eradicate_nullable_dereference : tval eradicate_parameter_not_nullable : tval eradicate_return_not_nullable : tval eradicate_return_over_annotated : tval eradicate_unvetted_third_party_in_nullsafe : tval eradicate_unchecked_usage_in_nullsafe : tval eradicate_meta_class_can_be_nullsafe : tval eradicate_meta_class_needs_improvement : tval eradicate_meta_class_is_nullsafe : tval exposed_insecure_intent_handling : tval failure_exe : tval field_not_null_checked : tval guardedby_violation_racerd : tval impure_function : tval inefficient_keyset_iterator : tval inferbo_alloc_is_big : tval inferbo_alloc_is_negative : tval inferbo_alloc_is_zero : tval inferbo_alloc_may_be_big : tval inferbo_alloc_may_be_negative : tval inferbo_alloc_may_be_tainted : tval infinite_cost_call : kind:CostKind.t -> tval inherently_dangerous_function : tval insecure_intent_handling : tval integer_overflow_l1 : tval integer_overflow_l2 : tval integer_overflow_l5 : tval integer_overflow_r2 : tval integer_overflow_u5 : tval interface_not_thread_safe : tval internal_error : tval invariant_call : tval javascript_injection : tval lab_resource_leak : tval leak_after_array_abstraction : tval leak_in_footprint : tval leak_unknown_origin : tval lockless_violation : tval lock_consistency_violation : tval logging_private_data : tval expensive_loop_invariant_call : tval memory_leak : tval missing_fld : tval missing_required_prop : tval mixed_self_weakself : tval multiple_weakself : tval mutable_local_variable_in_component_file : tval null_dereference : tval null_test_after_dereference : tval nullptr_dereference : tval parameter_not_null_checked : tval pointer_size_mismatch : tval precondition_not_found : tval precondition_not_met : tval premature_nil_termination : tval pulse_memory_leak : tval pure_function : tval quandary_taint_error : tval resource_leak : tval retain_cycle : tval skip_function : tval skip_pointer_dereference : tval shell_injection : tval shell_injection_risk : tval sql_injection : tval sql_injection_risk : tval stack_variable_address_escape : tval starvation : tval static_initialization_order_fiasco : tval strict_mode_violation : tval strong_self_not_checked : tval symexec_memory_error : tval thread_safety_violation : tval topl_error : tval unary_minus_applied_to_unsigned_expression : tval uninitialized_value : tval unreachable_code_after : tval use_after_delete : tval use_after_free : tval use_after_lifetime : tval untrusted_buffer_access : tval untrusted_deserialization : tval untrusted_deserialization_risk : tval untrusted_file : tval untrusted_file_risk : tval untrusted_heap_allocation : tval untrusted_intent_creation : tval untrusted_url_risk : tval untrusted_environment_change_risk : tval untrusted_variable_length_array : tval user_controlled_sql_risk : tval vector_invalidation : tval weak_self_in_noescape_block : tval wrong_argument_number : tval unreachable_cost_call : kind:CostKind.t -> tIBase.ResultsDirEntryNametype id = | BuckDependencies | list of Buck directories with infer-out/ directories |
| CaptureDB | the capture database |
| ChangedFunctions | results of the clang test determinator |
| Debug | directory containing debug data |
| Differential | contains the results of |
| DuplicateFunctions | list of duplicated functions |
| JavaClassnamesCache | used when capturing Java jar dependencies |
| JavaGlobalTypeEnvironment | internal |
| LintDotty | directory of linters' dotty debug output for CTL evaluation |
| LintIssues | directory of linters' issues |
| Logs | log file |
| NullsafeFileIssues | file-wide issues of the nullsafe analysis |
| PerfEvents | file containing events for performance profiling |
| ProcnamesLocks | directory of per- |
| RacerDIssues | directory of issues reported by the RacerD analysis |
| ReportCostsJson | reports of the costs analysis |
| ReportHtml | directory of the HTML report |
| ReportJson | the main product of the analysis: |
| ReportText | a human-readable textual version of |
| RetainCycles | directory of retain cycles dotty files |
| RunState | internal data about the last infer run |
| Specs | directory containing summaries as .specs files |
| StarvationIssues | directory of issues reported by the starvation analysis |
| Temporary | directory containing temp files |
| TestDeterminatorReport | the report produced by the test determinator capture mode |
| TestDeterminatorTempResults | a directory |
val get_path : results_dir:string -> id -> stringthe absolute path for the given entry
val get_issues_directories : unit -> id listall the entries that correspond to directories containing temporary issue logs for certain analyses
val to_delete_before_incremental_capture_and_analysis : results_dir:string -> string listutility for ResultsDir.scrub_for_incremental, you probably want to use that instead
val to_delete_before_caching_capture : results_dir:string -> string listutility for ResultsDir.scrub_for_caching, you probably want to use that instead
IBase.ResultsDirEntryNametype id = | BuckDependencies | list of Buck directories with infer-out/ directories |
| CaptureDB | the capture database |
| ChangedFunctions | results of the clang test determinator |
| Debug | directory containing debug data |
| Differential | contains the results of |
| DuplicateFunctions | list of duplicated functions |
| JavaClassnamesCache | used when capturing Java jar dependencies |
| JavaGlobalTypeEnvironment | internal |
| LintDotty | directory of linters' dotty debug output for CTL evaluation |
| LintIssues | directory of linters' issues |
| Logs | log file |
| NullsafeFileIssues | file-wide issues of the nullsafe analysis |
| PerfEvents | file containing events for performance profiling |
| ProcnamesLocks | directory of per- |
| RacerDIssues | directory of issues reported by the RacerD analysis |
| ReportCostsJson | reports of the costs analysis |
| ReportHtml | directory of the HTML report |
| ReportJson | the main product of the analysis: |
| ReportText | a human-readable textual version of |
| ReportXML | a PMD-style XML version of |
| RetainCycles | directory of retain cycles dotty files |
| RunState | internal data about the last infer run |
| Specs | directory containing summaries as .specs files |
| StarvationIssues | directory of issues reported by the starvation analysis |
| Temporary | directory containing temp files |
| TestDeterminatorReport | the report produced by the test determinator capture mode |
| TestDeterminatorTempResults | a directory |
val get_path : results_dir:string -> id -> stringthe absolute path for the given entry
val get_issues_directories : unit -> id listall the entries that correspond to directories containing temporary issue logs for certain analyses
val to_delete_before_incremental_capture_and_analysis : results_dir:string -> string listutility for ResultsDir.scrub_for_incremental, you probably want to use that instead
val to_delete_before_caching_capture : results_dir:string -> string listutility for ResultsDir.scrub_for_caching, you probably want to use that instead
IBase__Checkertype t = | AnnotationReachability |
| Biabduction |
| BufferOverrunAnalysis |
| BufferOverrunChecker |
| ClassLoads |
| Cost |
| Eradicate |
| FragmentRetainsView |
| ImmutableCast |
| Impurity |
| InefficientKeysetIterator |
| Linters |
| LithoRequiredProps |
| Liveness |
| LoopHoisting |
| NullsafeDeprecated |
| PrintfArgs |
| Pulse |
| Purity |
| Quandary |
| RacerD |
| ResourceLeakLabExercise |
| SIOF |
| SelfInBlock |
| Starvation |
| TOPL |
| Uninit |
type support = | NoSupport | checker does not run at all for this language |
| ExperimentalSupport | checker runs but is not expected to give reasonable results |
| Support | checker is expected to give reasonable results |
per-language support for each checker
type cli_flags = {deprecated : string list; | More command-line flags, similar to |
show_in_help : bool; |
}type kind = | UserFacing of {
} | can report issues to users | |||||
| UserFacingDeprecated of {
} | can report issues to users but should probably be deleted from infer | |||||
| Internal | Analysis that only serves other analyses. Do not use to mean experimental! Please still document experimental checkers as they will become non-experimental. | |||||
| Exercise | reserved for the "resource leak" lab exercise |
type config = {id : string; | Unique identifier. Used to generate web URLs for the documentation as well as the flag to enable this option on the command line. |
kind : kind; | |
support : IBase.Language.t -> support; | |
short_documentation : string; | used in man pages and as a short intro on the website |
cli_flags : cli_flags option; | If |
enabled_by_default : bool; | |
activates : t list; | list of checkers that get enabled when this checker is enabled |
}val from_id : string -> t optionIBase__Checkertype t = | AnnotationReachability |
| Biabduction |
| BufferOverrunAnalysis |
| BufferOverrunChecker |
| ConfigChecksBetweenMarkers |
| Cost |
| Eradicate |
| FragmentRetainsView |
| ImmutableCast |
| Impurity |
| InefficientKeysetIterator |
| Linters |
| LithoRequiredProps |
| Liveness |
| LoopHoisting |
| NullsafeDeprecated |
| PrintfArgs |
| Pulse |
| Purity |
| Quandary |
| RacerD |
| ResourceLeakLabExercise |
| SIOF |
| SelfInBlock |
| Starvation |
| TOPL |
| Uninit |
type support = | NoSupport | checker does not run at all for this language |
| ExperimentalSupport | checker runs but is not expected to give reasonable results |
| Support | checker is expected to give reasonable results |
per-language support for each checker
type cli_flags = {deprecated : string list; | More command-line flags, similar to |
show_in_help : bool; |
}type kind = | UserFacing of {
} | can report issues to users | |||||
| UserFacingDeprecated of {
} | can report issues to users but should probably be deleted from infer | |||||
| Internal | Analysis that only serves other analyses. Do not use to mean experimental! Please still document experimental checkers as they will become non-experimental. | |||||
| Exercise | reserved for the "resource leak" lab exercise |
type config = {id : string; | Unique identifier. Used to generate web URLs for the documentation as well as the flag to enable this option on the command line. |
kind : kind; | |
support : IBase.Language.t -> support; | |
short_documentation : string; | used in man pages and as a short intro on the website |
cli_flags : cli_flags option; | If |
enabled_by_default : bool; | |
activates : t list; | list of checkers that get enabled when this checker is enabled |
}val from_id : string -> t optionIBase__Configtype os_type = | Unix |
| Win32 |
| Cygwin |
type build_system = | BAnt |
| BBuck |
| BClang |
| BGradle |
| BJava |
| BJavac |
| BMake |
| BMvn |
| BNdk |
| BXcode |
type scheduler = | File |
| Restart |
| SyntacticCallGraph |
val build_system_of_exe_name : string -> build_systemval string_of_build_system : build_system -> stringval env_inside_maven : IStdlib.IStd.Unix.envval anonymous_block_num_sep : stringval anonymous_block_prefix : stringval append_buck_flavors : string listval assign : stringval biabduction_models_dir : stringval biabduction_models_jar : stringval biabduction_models_src_dir : stringval bin_dir : stringval bound_error_allowed_in_procedure_call : boolval clang_exe_aliases : string listval clang_initializer_prefix : stringval clang_inner_destructor_prefix : stringval clang_plugin_path : stringval classpath : string optionval default_failure_name : stringval dotty_frontend_output : stringval etc_dir : stringval fail_on_issue_exit_code : intval fcp_dir : stringval idempotent_getters : boolval initial_analysis_time : floatval ivar_attributes : stringval java_lambda_marker_infix : stringmarker to recognize methods generated by javalib to eliminate lambdas
val lib_dir : stringval load_average : float optionval max_narrows : intval max_widens : intval meet_level : intval nsnotification_center_checker_backend : boolval os_type : os_typeval passthroughs : boolval patterns_modeled_expensive : string * Yojson.Basic.tval patterns_never_returning_null : string * Yojson.Basic.tval patterns_skip_implementation : string * Yojson.Basic.tval patterns_skip_translation : string * Yojson.Basic.tval pp_version : Stdlib.Format.formatter -> unit -> unitval property_attributes : stringval relative_path_backtrack : intval report : boolval report_condition_always_true_in_clang : boolval report_custom_error : boolval report_force_relative_path : boolval report_nullable_inconsistency : boolval save_compact_summaries : boolval smt_output : boolval source_file_extentions : string listval sourcepath : string optionval sources : string listval specs_files_suffix : stringval trace_absarray : boolval unsafe_unret : stringval incremental_analysis : boolval weak : stringval whitelisted_cpp_classes : string listval whitelisted_cpp_methods : string listval wrappers_dir : stringval abs_struct : intval abs_val : intval allow_leak : boolval annotation_reachability_cxx : Yojson.Basic.tval annotation_reachability_cxx_sources : Yojson.Basic.tval annotation_reachability_custom_pairs : Yojson.Basic.tval anon_args : string listval array_level : intval biabduction_models_mode : boolval bo_debug : intval bo_field_depth_limit : int optionval bo_service_handler_request : boolval bootclasspath : string optionval buck : boolval buck_blacklist : string listval buck_build_args : string listval buck_build_args_no_inline : string listval buck_cache_mode : boolval buck_merge_all_deps : boolval buck_mode : IBase.BuckMode.t optionval buck_out_gen : stringval buck_targets_blacklist : string listval call_graph_schedule : boolval capture : boolval capture_blacklist : string optionval censor_report : ((bool * Str.regexp) * (bool * Str.regexp) * string) listval changed_files_index : string optionval check_version : string optionval clang_biniou_file : string optionval clang_compound_literal_init_limit : intval clang_extra_flags : string listval clang_blacklisted_flags : string listval clang_blacklisted_flags_with_arg : string listval clang_ignore_regex : string optionval clang_isystem_to_override_regex : Str.regexp optionval clang_idirafter_to_override_regex : Str.regexp optionval clang_libcxx_include_to_override_regex : string optionval class_loads_roots : IStdlib.IStd.String.Set.tval command : ATDGenerated.InferCommand.tval compute_analytics : boolval continue_analysis : boolval continue_capture : boolval costs_current : string optionval cost_issues_tests : string optionval costs_previous : string optionval cxx : boolval cxx_scope_guards : Yojson.Basic.tval deduplicate : boolval debug_exceptions : boolval debug_level_analysis : intval debug_level_capture : intval debug_level_linters : intval debug_level_test_determinator : intval debug_mode : boolval default_linters : boolval dependency_mode : boolval developer_mode : boolval differential_filter_files : string optionval differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] listval dotty_cfg_libs : boolval dump_duplicate_symbols : boolval eradicate_condition_redundant : boolval eradicate_field_over_annotated : boolval eradicate_return_over_annotated : boolval eradicate_verbose : boolval fail_on_bug : boolval fcp_apple_clang : string optionval fcp_syntax_only : boolval file_renamings : string optionval filter_paths : boolval filtering : boolval force_delete_results_dir : boolval force_integration : build_system optionval from_json_report : stringval from_json_costs_report : stringval frontend_stats : boolval frontend_tests : boolval function_pointer_specialization : boolval generated_classes : string optionval genrule_mode : boolval get_linter_doc_url : linter_id:string -> string optionval help_checker : IBase.Checker.t listval help_issue_type : IBase.IssueType.t listval hoisting_report_only_expensive : boolval html : boolval icfg_dotty_outfile : string optionval infer_is_clang : boolval infer_is_javac : boolval implicit_sdk_root : string optionval inclusive_cost : boolval inferconfig_file : string optionval inferconfig_dir : string optionval iphoneos_target_sdk_version : string optionval iphoneos_target_sdk_version_path_regex : iphoneos_target_sdk_version_path_regex listval is_checker_enabled : IBase.Checker.t -> boolval issues_tests : string optionval issues_tests_fields : IBase.IssuesTestField.t listval iterations : intval java_debug_source_file_info : string optionval java_jar_compiler : string optionval java_version : int optionval javac_classes_out : stringval job_id : string optionval jobs : intval join_cond : intval keep_going : boolval linter : string optionval linters_def_file : string listval linters_def_folder : string listval linters_developer_mode : boolval linters_ignore_clang_failures : boolval linters_validate_syntax_only : boolval list_checkers : boolval list_issue_types : boolval liveness_dangerous_classes : Yojson.Basic.tval max_nesting : int optionval merge : boolval method_decls_info : string optionval ml_buckets : [ `MLeak_all | `MLeak_arc | `MLeak_cf | `MLeak_cpp | `MLeak_no_arc | `MLeak_unknown ] listval modified_lines : string optionval monitor_prop_size : boolval nelseg : boolval no_translate_libs : boolval nullable_annotation : string optionval nullsafe_disable_field_not_initialized_in_nonstrict_classes : boolval nullsafe_optimistic_third_party_params_in_non_strict : boolval nullsafe_third_party_signatures : string optionval nullsafe_third_party_location_for_messaging_only : string optionval nullsafe_strict_containers : boolval oom_threshold : int optionval only_cheap_debug : boolval only_footprint : boolval print_active_checkers : boolval print_builtins : boolval print_logs : boolval print_types : boolval print_using_diff : boolval procedures : boolval procedures_attributes : boolval procedures_definedness : boolval procedures_filter : string optionval procedures_name : boolval procedures_source_file : boolval procedures_summary : boolval process_clang_ast : boolval clang_frontend_action_string : stringval profiler_samples : string optionval progress_bar : [ `MultiLine | `Plain | `Quiet ]val project_root : stringval pudge : boolval pulse_cut_to_one_path_procedures_pattern : Str.regexp optionval pulse_recency_limit : intval pulse_intraprocedural_only : boolval pulse_max_disjuncts : intval pulse_model_alloc_pattern : Str.regexp optionval pulse_model_release_pattern : Str.regexp optionval pulse_model_transfer_ownership_namespace : (string * string) listval pulse_model_transfer_ownership : string listval pulse_widen_threshold : intval pure_by_default : boolval quandary_endpoints : Yojson.Basic.tval quandary_sanitizers : Yojson.Basic.tval quandary_sinks : Yojson.Basic.tval quandary_sources : Yojson.Basic.tval quiet : boolval racerd_guardedby : boolval reactive_mode : boolval reanalyze : boolval report_blacklist_files_containing : string listval report_console_limit : int optionval report_current : string optionval report_formatter : [ `No_formatter | `Phabricator_formatter ]val report_path_regex_blacklist : string listval report_path_regex_whitelist : string listval report_previous : string optionval report_suppress_errors : string listval reports_include_ml_loc : boolval rest : string listval results_dir : stringval scheduler : schedulerval scuba_logging : boolval scuba_normals : string IStdlib.IStd.String.Map.tval scuba_tags : string list IStdlib.IStd.String.Map.tval seconds_per_iteration : float optionval select : int optionval show_buckets : boolval siof_check_iostreams : boolval siof_safe_methods : string listval skip_analysis_in_path : string listval skip_analysis_in_path_skips_compilation : boolval skip_duplicated_types : boolval skip_translation_headers : string listval sledge_timers : boolval source_files : boolval source_files_cfg : boolval source_files_filter : string optionval source_files_freshly_captured : boolval source_files_procedure_names : boolval source_files_type_environment : boolval source_preview : boolval sqlite_cache_size : intval sqlite_page_size : intval sqlite_lock_timeout : intval sqlite_vfs : string optionval sqlite_write_daemon : boolval starvation_skip_analysis : Yojson.Basic.tval starvation_strict_mode : boolval starvation_whole_program : boolval subtype_multirange : boolval summaries_caches_max_size : intval symops_per_iteration : int optionval test_determinator : boolval export_changed_functions : boolval test_filtering : boolval testing_mode : boolval threadsafe_aliases : Yojson.Basic.tval topl_properties : string listval trace_error : boolval trace_events : boolval trace_join : boolval trace_ondemand : boolval trace_rearrange : boolval trace_topl : boolval tv_commit : string optionval tv_limit : intval tv_limit_filtered : intval type_size : boolval uninit_interproc : boolval unsafe_malloc : boolval worklist_mode : intval write_dotty : boolval write_html : boolval write_html_whitelist_regex : string listval write_website : string optionval xcode_developer_dir : string optionval xcpretty : boolval dynamic_dispatch : boolval toplevel_results_dir : stringIn some integrations, eg Buck, infer subprocesses started by the build system (started by the toplevel infer process) will have their own results directory; this points to the results directory of the toplevel infer process, which can be useful for, eg, storing debug info. In other cases this is equal to results_dir.
val is_in_custom_symbols : string -> string -> boolDoes named symbol match any prefix in the named custom symbol list?
val execution_id : IStdlib.IStd.Int64.tval clang_compilation_dbs : [ `Escaped of string | `Raw of string ] list IStdlib.IStd.refIBase__Configtype os_type = | Unix |
| Win32 |
| Cygwin |
type build_system = | BAnt |
| BBuck |
| BClang |
| BGradle |
| BJava |
| BJavac |
| BMake |
| BMvn |
| BNdk |
| BXcode |
type scheduler = | File |
| Restart |
| SyntacticCallGraph |
val build_system_of_exe_name : string -> build_systemval string_of_build_system : build_system -> stringval env_inside_maven : IStdlib.IStd.Unix.envval anonymous_block_num_sep : stringval anonymous_block_prefix : stringval append_buck_flavors : string listval assign : stringval biabduction_models_dir : stringval biabduction_models_jar : stringval biabduction_models_src_dir : stringval bin_dir : stringval bound_error_allowed_in_procedure_call : boolval clang_exe_aliases : string listval clang_initializer_prefix : stringval clang_inner_destructor_prefix : stringval clang_plugin_path : stringval classpath : string optionval default_failure_name : stringval dotty_frontend_output : stringval etc_dir : stringval fail_on_issue_exit_code : intval fcp_dir : stringval idempotent_getters : boolval initial_analysis_time : floatval ivar_attributes : stringval java_lambda_marker_infix : stringmarker to recognize methods generated by javalib to eliminate lambdas
val lib_dir : stringval load_average : float optionval max_narrows : intval max_widens : intval meet_level : intval nsnotification_center_checker_backend : boolval os_type : os_typeval passthroughs : boolval patterns_modeled_expensive : string * Yojson.Basic.tval patterns_never_returning_null : string * Yojson.Basic.tval patterns_skip_implementation : string * Yojson.Basic.tval patterns_skip_translation : string * Yojson.Basic.tval pp_version : Stdlib.Format.formatter -> unit -> unitval property_attributes : stringval relative_path_backtrack : intval report : boolval report_condition_always_true_in_clang : boolval report_custom_error : boolval report_force_relative_path : boolval report_nullable_inconsistency : boolval save_compact_summaries : boolval smt_output : boolval source_file_extentions : string listval sourcepath : string optionval sources : string listval specs_files_suffix : stringval trace_absarray : boolval unsafe_unret : stringval incremental_analysis : boolval weak : stringval whitelisted_cpp_classes : string listval whitelisted_cpp_methods : string listval wrappers_dir : stringval abs_struct : intval abs_val : intval allow_leak : boolval annotation_reachability_cxx : Yojson.Basic.tval annotation_reachability_cxx_sources : Yojson.Basic.tval annotation_reachability_custom_pairs : Yojson.Basic.tval anon_args : string listval array_level : intval biabduction_models_mode : boolval bo_debug : intval bo_field_depth_limit : int optionval bo_service_handler_request : boolval bootclasspath : string optionval buck : boolval buck_blacklist : string listval buck_build_args : string listval buck_build_args_no_inline : string listval buck_cache_mode : boolval buck_merge_all_deps : boolval buck_mode : IBase.BuckMode.t optionval buck_out_gen : stringval buck_targets_blacklist : string listval call_graph_schedule : boolval capture : boolval capture_blacklist : string optionval censor_report : ((bool * Str.regexp) * (bool * Str.regexp) * string) listval changed_files_index : string optionval check_version : string optionval clang_biniou_file : string optionval clang_compound_literal_init_limit : intval clang_extra_flags : string listval clang_blacklisted_flags : string listval clang_blacklisted_flags_with_arg : string listval clang_ignore_regex : string optionval clang_isystem_to_override_regex : Str.regexp optionval clang_idirafter_to_override_regex : Str.regexp optionval clang_libcxx_include_to_override_regex : string optionval command : ATDGenerated.InferCommand.tval compute_analytics : boolval continue_analysis : boolval continue_capture : boolval costs_current : string optionval cost_issues_tests : string optionval costs_previous : string optionval cxx : boolval cxx_scope_guards : Yojson.Basic.tval deduplicate : boolval debug_exceptions : boolval debug_level_analysis : intval debug_level_capture : intval debug_level_linters : intval debug_level_test_determinator : intval debug_mode : boolval default_linters : boolval dependency_mode : boolval developer_mode : boolval differential_filter_files : string optionval differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] listval dotty_cfg_libs : boolval dump_duplicate_symbols : boolval eradicate_condition_redundant : boolval eradicate_field_over_annotated : boolval eradicate_return_over_annotated : boolval eradicate_verbose : boolval fail_on_bug : boolval fcp_apple_clang : string optionval fcp_syntax_only : boolval file_renamings : string optionval filter_paths : boolval filtering : boolval force_delete_results_dir : boolval force_integration : build_system optionval from_json_report : stringval from_json_costs_report : stringval frontend_stats : boolval frontend_tests : boolval function_pointer_specialization : boolval generated_classes : string optionval genrule_mode : boolval get_linter_doc_url : linter_id:string -> string optionval help_checker : IBase.Checker.t listval help_issue_type : IBase.IssueType.t listval hoisting_report_only_expensive : boolval html : boolval icfg_dotty_outfile : string optionval infer_is_clang : boolval infer_is_javac : boolval implicit_sdk_root : string optionval inclusive_cost : boolval inferconfig_file : string optionval inferconfig_dir : string optionval iphoneos_target_sdk_version : string optionval iphoneos_target_sdk_version_path_regex : iphoneos_target_sdk_version_path_regex listval is_checker_enabled : IBase.Checker.t -> boolval issues_tests : string optionval issues_tests_fields : IBase.IssuesTestField.t listval iterations : intval java_debug_source_file_info : string optionval java_jar_compiler : string optionval java_version : int optionval javac_classes_out : stringval job_id : string optionval jobs : intval join_cond : intval keep_going : boolval linter : string optionval linters_def_file : string listval linters_def_folder : string listval linters_developer_mode : boolval linters_ignore_clang_failures : boolval linters_validate_syntax_only : boolval list_checkers : boolval list_issue_types : boolval liveness_dangerous_classes : Yojson.Basic.tval max_nesting : int optionval merge : boolval method_decls_info : string optionval ml_buckets : [ `MLeak_all | `MLeak_arc | `MLeak_cf | `MLeak_cpp | `MLeak_no_arc | `MLeak_unknown ] listval modified_lines : string optionval monitor_prop_size : boolval nelseg : boolval no_translate_libs : boolval nullable_annotation : string optionval nullsafe_disable_field_not_initialized_in_nonstrict_classes : boolval nullsafe_optimistic_third_party_params_in_non_strict : boolval nullsafe_third_party_signatures : string optionval nullsafe_third_party_location_for_messaging_only : string optionval nullsafe_strict_containers : boolval oom_threshold : int optionval only_cheap_debug : boolval only_footprint : boolval pmd_xml : boolval print_active_checkers : boolval print_builtins : boolval print_logs : boolval print_types : boolval print_using_diff : boolval procedures : boolval procedures_attributes : boolval procedures_definedness : boolval procedures_filter : string optionval procedures_name : boolval procedures_source_file : boolval procedures_summary : boolval process_clang_ast : boolval clang_frontend_action_string : stringval profiler_samples : string optionval progress_bar : [ `MultiLine | `Plain | `Quiet ]val project_root : stringval pudge : boolval pulse_cut_to_one_path_procedures_pattern : Str.regexp optionval pulse_recency_limit : intval pulse_intraprocedural_only : boolval pulse_max_disjuncts : intval pulse_model_abort : string listval pulse_model_alloc_pattern : Str.regexp optionval pulse_model_release_pattern : Str.regexp optionval pulse_model_transfer_ownership_namespace : (string * string) listval pulse_model_transfer_ownership : string listval pulse_widen_threshold : intval pure_by_default : boolval quandary_endpoints : Yojson.Basic.tval quandary_sanitizers : Yojson.Basic.tval quandary_sinks : Yojson.Basic.tval quandary_sources : Yojson.Basic.tval quiet : boolval racerd_guardedby : boolval reactive_mode : boolval reanalyze : boolval report_blacklist_files_containing : string listval report_console_limit : int optionval report_current : string optionval report_formatter : [ `No_formatter | `Phabricator_formatter ]val report_path_regex_blacklist : string listval report_path_regex_whitelist : string listval report_previous : string optionval report_suppress_errors : string listval reports_include_ml_loc : boolval rest : string listval results_dir : stringval scheduler : schedulerval scuba_logging : boolval scuba_normals : string IStdlib.IStd.String.Map.tval scuba_tags : string list IStdlib.IStd.String.Map.tval seconds_per_iteration : float optionval select : int optionval show_buckets : boolval siof_check_iostreams : boolval siof_safe_methods : string listval skip_analysis_in_path : string listval skip_analysis_in_path_skips_compilation : boolval skip_duplicated_types : boolval skip_translation_headers : string listval sledge_timers : boolval source_files : boolval source_files_cfg : boolval source_files_filter : string optionval source_files_freshly_captured : boolval source_files_procedure_names : boolval source_files_type_environment : boolval source_preview : boolval sqlite_cache_size : intval sqlite_page_size : intval sqlite_lock_timeout : intval sqlite_vfs : string optionval sqlite_write_daemon : boolval starvation_skip_analysis : Yojson.Basic.tval starvation_strict_mode : boolval starvation_whole_program : boolval subtype_multirange : boolval summaries_caches_max_size : intval symops_per_iteration : int optionval test_determinator : boolval export_changed_functions : boolval test_filtering : boolval testing_mode : boolval threadsafe_aliases : Yojson.Basic.tval topl_properties : string listval trace_error : boolval trace_events : boolval trace_join : boolval trace_ondemand : boolval trace_rearrange : boolval trace_topl : boolval tv_commit : string optionval tv_limit : intval tv_limit_filtered : intval type_size : boolval uninit_interproc : boolval unsafe_malloc : boolval worklist_mode : intval write_dotty : boolval write_html : boolval write_html_whitelist_regex : string listval write_website : string optionval xcode_developer_dir : string optionval xcpretty : boolval dynamic_dispatch : boolval toplevel_results_dir : stringIn some integrations, eg Buck, infer subprocesses started by the build system (started by the toplevel infer process) will have their own results directory; this points to the results directory of the toplevel infer process, which can be useful for, eg, storing debug info. In other cases this is equal to results_dir.
val is_in_custom_symbols : string -> string -> boolDoes named symbol match any prefix in the named custom symbol list?
val execution_id : IStdlib.IStd.Int64.tval clang_compilation_dbs : [ `Escaped of string | `Raw of string ] list IStdlib.IStd.refIBase__IssueTypetype visibility = | User | always add to error log |
| Developer | only add to error log in some debug modes |
| Silent | never add to error log |
visibility of the issue type
val compare_visibility : visibility -> visibility -> intval equal_visibility : visibility -> visibility -> boolval string_of_visibility : visibility -> stringval string_of_severity : severity -> stringtype t = private {unique_id : string; | |
checker : IBase.Checker.t; | |
visibility : visibility; | |
user_documentation : string option; | |
mutable default_severity : severity; | used for documentation but can be overriden at report time |
mutable enabled : bool; | |
mutable hum : string; | |
mutable doc_url : string option; | |
mutable linters_def_file : string option; |
}val pp : Stdlib.Format.formatter -> t -> unitpretty print a localised string
val find_from_string : id:string -> t optionreturn the issue type if it was previously registered
val register_from_string : ?enabled:bool -> ?hum:string -> ?doc_url:string -> ?linters_def_file:string -> id:string -> ?visibility:visibility -> ?user_documentation:string -> severity -> IBase.Checker.t -> tCreate a new issue and register it in the list of all issues. NOTE: if the issue with the same string id is already registered, overrides `hum`, `doc_url`, and `linters_def_file`, but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic AL issues from the config, when we don't know all params yet. Thus, the human-readable description can be updated when we encounter the definition of the issue type, eg in AL.
val checker_can_report : IBase.Checker.t -> t -> boolWhether the issue was registered as coming from the given checker. Important to call this before reporting to keep documentation accurate.
val set_enabled : t -> bool -> unitval abduction_case_not_implemented : tval array_of_pointsto : tval array_out_of_bounds_l1 : tval array_out_of_bounds_l2 : tval array_out_of_bounds_l3 : tval assert_failure : tval bad_footprint : tval biabduction_analysis_stops : tval biabd_condition_always_false : tval biabd_condition_always_true : tval biabd_registered_observer_being_deallocated : tval biabd_stack_variable_address_escape : tval biabd_use_after_free : tval buffer_overrun_l1 : tval buffer_overrun_l2 : tval buffer_overrun_l3 : tval buffer_overrun_l4 : tval buffer_overrun_l5 : tval buffer_overrun_r2 : tval buffer_overrun_s2 : tval buffer_overrun_t1 : tTainted values is used in array accesses, causing buffer over/underruns
val buffer_overrun_u5 : tval cannot_star : tval captured_strong_self : tval checkers_allocates_memory : tWarning name when a performance critical method directly or indirectly calls a method allocating memory
val checkers_annotation_reachability_error : tval checkers_calls_expensive_method : tWarning name when a performance critical method directly or indirectly calls a method annotatd as expensive
val checkers_expensive_overrides_unexpensive : tWarning name for the subtyping rule: method not annotated as expensive cannot be overridden by a method annotated as expensive
val checkers_fragment_retain_view : tval checkers_immutable_cast : tval checkers_printf_args : tval class_cast_exception : tval class_load : tval complexity_increase : kind:IBase.CostKind.t -> is_on_ui_thread:bool -> tval component_factory_function : tval component_file_cyclomatic_complexity : tval component_file_line_count : tval component_initializer_with_side_effects : tval component_with_multiple_factory_methods : tval component_with_unconventional_superclass : tval condition_always_false : tval condition_always_true : tval constant_address_dereference : tval create_intent_from_uri : tval cross_site_scripting : tval dangling_pointer_dereference : tval dangling_pointer_dereference_maybe : tval dead_store : tval deadlock : tval deallocate_stack_variable : tval deallocate_static_memory : tval deallocation_mismatch : tval divide_by_zero : tval do_not_report : tan issue type that should never be reported
val empty_vector_access : tval eradicate_condition_redundant : tval eradicate_field_not_initialized : tval eradicate_field_not_nullable : tval eradicate_field_over_annotated : tval eradicate_inconsistent_subclass_parameter_annotation : tval eradicate_inconsistent_subclass_return_annotation : tval eradicate_redundant_nested_class_annotation : tval eradicate_bad_nested_class_annotation : tval eradicate_nullable_dereference : tval eradicate_parameter_not_nullable : tval eradicate_return_not_nullable : tval eradicate_return_over_annotated : tval eradicate_unvetted_third_party_in_nullsafe : tval eradicate_unchecked_usage_in_nullsafe : tval eradicate_meta_class_can_be_nullsafe : tval eradicate_meta_class_needs_improvement : tval eradicate_meta_class_is_nullsafe : tval exposed_insecure_intent_handling : tval failure_exe : tval field_not_null_checked : tval guardedby_violation_racerd : tval impure_function : tval inefficient_keyset_iterator : tval inferbo_alloc_is_big : tval inferbo_alloc_is_negative : tval inferbo_alloc_is_zero : tval inferbo_alloc_may_be_big : tval inferbo_alloc_may_be_negative : tval inferbo_alloc_may_be_tainted : tval infinite_cost_call : kind:IBase.CostKind.t -> tval inherently_dangerous_function : tval insecure_intent_handling : tval integer_overflow_l1 : tval integer_overflow_l2 : tval integer_overflow_l5 : tval integer_overflow_r2 : tval integer_overflow_u5 : tval interface_not_thread_safe : tval internal_error : tval invariant_call : tval javascript_injection : tval lab_resource_leak : tval leak_after_array_abstraction : tval leak_in_footprint : tval leak_unknown_origin : tval lockless_violation : tval lock_consistency_violation : tval logging_private_data : tval expensive_loop_invariant_call : tval memory_leak : tval missing_fld : tval missing_required_prop : tval mixed_self_weakself : tval multiple_weakself : tval mutable_local_variable_in_component_file : tval null_dereference : tval null_test_after_dereference : tval nullptr_dereference : tval parameter_not_null_checked : tval pointer_size_mismatch : tval precondition_not_found : tval precondition_not_met : tval premature_nil_termination : tval pulse_memory_leak : tval pure_function : tval quandary_taint_error : tval resource_leak : tval retain_cycle : tval skip_function : tval skip_pointer_dereference : tval shell_injection : tval shell_injection_risk : tval sql_injection : tval sql_injection_risk : tval stack_variable_address_escape : tval starvation : tval static_initialization_order_fiasco : tval strict_mode_violation : tval strong_self_not_checked : tval symexec_memory_error : tval thread_safety_violation : tval topl_error : tval unary_minus_applied_to_unsigned_expression : tval uninitialized_value : tval unreachable_code_after : tval use_after_delete : tval use_after_free : tval use_after_lifetime : tval untrusted_buffer_access : tval untrusted_deserialization : tval untrusted_deserialization_risk : tval untrusted_file : tval untrusted_file_risk : tval untrusted_heap_allocation : tval untrusted_intent_creation : tval untrusted_url_risk : tval untrusted_environment_change_risk : tval untrusted_variable_length_array : tval user_controlled_sql_risk : tval vector_invalidation : tval weak_self_in_noescape_block : tval wrong_argument_number : tval unreachable_cost_call : kind:IBase.CostKind.t -> tIBase__IssueTypetype visibility = | User | always add to error log |
| Developer | only add to error log in some debug modes |
| Silent | never add to error log |
visibility of the issue type
val compare_visibility : visibility -> visibility -> intval equal_visibility : visibility -> visibility -> boolval string_of_visibility : visibility -> stringval string_of_severity : severity -> stringtype t = private {unique_id : string; | |
checker : IBase.Checker.t; | |
visibility : visibility; | |
user_documentation : string option; | |
mutable default_severity : severity; | used for documentation but can be overriden at report time |
mutable enabled : bool; | |
mutable hum : string; | |
mutable doc_url : string option; | |
mutable linters_def_file : string option; |
}val pp : Stdlib.Format.formatter -> t -> unitpretty print a localised string
val find_from_string : id:string -> t optionreturn the issue type if it was previously registered
val register_from_string : ?enabled:bool -> ?is_cost_issue:bool -> ?hum:string -> ?doc_url:string -> ?linters_def_file:string -> id:string -> ?visibility:visibility -> ?user_documentation:string -> severity -> IBase.Checker.t -> tCreate a new issue and register it in the list of all issues. NOTE: if the issue with the same string id is already registered, overrides `hum`, `doc_url`, and `linters_def_file`, but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic AL issues from the config, when we don't know all params yet. Thus, the human-readable description can be updated when we encounter the definition of the issue type, eg in AL.
val checker_can_report : IBase.Checker.t -> t -> boolWhether the issue was registered as coming from the given checker. Important to call this before reporting to keep documentation accurate.
val set_enabled : t -> bool -> unitval abduction_case_not_implemented : tval array_of_pointsto : tval array_out_of_bounds_l1 : tval array_out_of_bounds_l2 : tval array_out_of_bounds_l3 : tval assert_failure : tval bad_footprint : tval biabduction_analysis_stops : tval biabd_condition_always_false : tval biabd_condition_always_true : tval buffer_overrun_l1 : tval buffer_overrun_l2 : tval buffer_overrun_l3 : tval buffer_overrun_l4 : tval buffer_overrun_l5 : tval buffer_overrun_r2 : tval buffer_overrun_s2 : tval buffer_overrun_t1 : tTainted values is used in array accesses, causing buffer over/underruns
val buffer_overrun_u5 : tval cannot_star : tval captured_strong_self : tval checkers_allocates_memory : tWarning name when a performance critical method directly or indirectly calls a method allocating memory
val checkers_annotation_reachability_error : tval checkers_calls_expensive_method : tWarning name when a performance critical method directly or indirectly calls a method annotatd as expensive
val checkers_expensive_overrides_unexpensive : tWarning name for the subtyping rule: method not annotated as expensive cannot be overridden by a method annotated as expensive
val checkers_fragment_retain_view : tval checkers_immutable_cast : tval checkers_printf_args : tval class_cast_exception : tval complexity_increase : kind:IBase.CostKind.t -> is_on_ui_thread:bool -> tval component_factory_function : tval component_file_cyclomatic_complexity : tval component_file_line_count : tval component_initializer_with_side_effects : tval component_with_multiple_factory_methods : tval component_with_unconventional_superclass : tval condition_always_false : tval condition_always_true : tval config_checks_between_markers : tval constant_address_dereference : tval create_intent_from_uri : tval cross_site_scripting : tval dangling_pointer_dereference : tval dangling_pointer_dereference_maybe : tval dead_store : tval deadlock : tval deallocate_stack_variable : tval deallocate_static_memory : tval divide_by_zero : tval do_not_report : tan issue type that should never be reported
val empty_vector_access : tval eradicate_condition_redundant : tval eradicate_field_not_initialized : tval eradicate_field_not_nullable : tval eradicate_field_over_annotated : tval eradicate_inconsistent_subclass_parameter_annotation : tval eradicate_inconsistent_subclass_return_annotation : tval eradicate_redundant_nested_class_annotation : tval eradicate_bad_nested_class_annotation : tval eradicate_nullable_dereference : tval eradicate_parameter_not_nullable : tval eradicate_return_not_nullable : tval eradicate_return_over_annotated : tval eradicate_unvetted_third_party_in_nullsafe : tval eradicate_unchecked_usage_in_nullsafe : tval eradicate_meta_class_can_be_nullsafe : tval eradicate_meta_class_needs_improvement : tval eradicate_meta_class_is_nullsafe : tval exposed_insecure_intent_handling : tval failure_exe : tval field_not_null_checked : tval guardedby_violation_racerd : tval impure_function : tval inefficient_keyset_iterator : tval inferbo_alloc_is_big : tval inferbo_alloc_is_negative : tval inferbo_alloc_is_zero : tval inferbo_alloc_may_be_big : tval inferbo_alloc_may_be_negative : tval inferbo_alloc_may_be_tainted : tval infinite_cost_call : kind:IBase.CostKind.t -> tval inherently_dangerous_function : tval insecure_intent_handling : tval integer_overflow_l1 : tval integer_overflow_l2 : tval integer_overflow_l5 : tval integer_overflow_r2 : tval integer_overflow_u5 : tval interface_not_thread_safe : tval internal_error : tval invariant_call : tval javascript_injection : tval lab_resource_leak : tval leak_after_array_abstraction : tval leak_in_footprint : tval leak_unknown_origin : tval lockless_violation : tval lock_consistency_violation : tval logging_private_data : tval expensive_loop_invariant_call : tval memory_leak : tval missing_fld : tval missing_required_prop : tval mixed_self_weakself : tval multiple_weakself : tval mutable_local_variable_in_component_file : tval null_dereference : tval null_test_after_dereference : tval nullptr_dereference : tval parameter_not_null_checked : tval pointer_size_mismatch : tval precondition_not_found : tval precondition_not_met : tval premature_nil_termination : tval pulse_memory_leak : tval pure_function : tval quandary_taint_error : tval resource_leak : tval retain_cycle : tval skip_function : tval skip_pointer_dereference : tval shell_injection : tval shell_injection_risk : tval sql_injection : tval sql_injection_risk : tval stack_variable_address_escape : tval starvation : tval static_initialization_order_fiasco : tval strict_mode_violation : tval strong_self_not_checked : tval symexec_memory_error : tval thread_safety_violation : tval topl_error : tval unary_minus_applied_to_unsigned_expression : tval uninitialized_value : tval unreachable_code_after : tval use_after_delete : tval use_after_free : tval use_after_lifetime : tval untrusted_buffer_access : tval untrusted_deserialization : tval untrusted_deserialization_risk : tval untrusted_file : tval untrusted_file_risk : tval untrusted_heap_allocation : tval untrusted_intent_creation : tval untrusted_url_risk : tval untrusted_environment_change_risk : tval untrusted_variable_length_array : tval user_controlled_sql_risk : tval vector_invalidation : tval weak_self_in_noescape_block : tval wrong_argument_number : tval unreachable_cost_call : kind:IBase.CostKind.t -> tIBase__ResultsDirEntryNametype id = | BuckDependencies | list of Buck directories with infer-out/ directories |
| CaptureDB | the capture database |
| ChangedFunctions | results of the clang test determinator |
| Debug | directory containing debug data |
| Differential | contains the results of |
| DuplicateFunctions | list of duplicated functions |
| JavaClassnamesCache | used when capturing Java jar dependencies |
| JavaGlobalTypeEnvironment | internal |
| LintDotty | directory of linters' dotty debug output for CTL evaluation |
| LintIssues | directory of linters' issues |
| Logs | log file |
| NullsafeFileIssues | file-wide issues of the nullsafe analysis |
| PerfEvents | file containing events for performance profiling |
| ProcnamesLocks | directory of per- |
| RacerDIssues | directory of issues reported by the RacerD analysis |
| ReportCostsJson | reports of the costs analysis |
| ReportHtml | directory of the HTML report |
| ReportJson | the main product of the analysis: |
| ReportText | a human-readable textual version of |
| RetainCycles | directory of retain cycles dotty files |
| RunState | internal data about the last infer run |
| Specs | directory containing summaries as .specs files |
| StarvationIssues | directory of issues reported by the starvation analysis |
| Temporary | directory containing temp files |
| TestDeterminatorReport | the report produced by the test determinator capture mode |
| TestDeterminatorTempResults | a directory |
val get_path : results_dir:string -> id -> stringthe absolute path for the given entry
val get_issues_directories : unit -> id listall the entries that correspond to directories containing temporary issue logs for certain analyses
val to_delete_before_incremental_capture_and_analysis : results_dir:string -> string listutility for ResultsDir.scrub_for_incremental, you probably want to use that instead
IBase__ResultsDirEntryNametype id = | BuckDependencies | list of Buck directories with infer-out/ directories |
| CaptureDB | the capture database |
| ChangedFunctions | results of the clang test determinator |
| Debug | directory containing debug data |
| Differential | contains the results of |
| DuplicateFunctions | list of duplicated functions |
| JavaClassnamesCache | used when capturing Java jar dependencies |
| JavaGlobalTypeEnvironment | internal |
| LintDotty | directory of linters' dotty debug output for CTL evaluation |
| LintIssues | directory of linters' issues |
| Logs | log file |
| NullsafeFileIssues | file-wide issues of the nullsafe analysis |
| PerfEvents | file containing events for performance profiling |
| ProcnamesLocks | directory of per- |
| RacerDIssues | directory of issues reported by the RacerD analysis |
| ReportCostsJson | reports of the costs analysis |
| ReportHtml | directory of the HTML report |
| ReportJson | the main product of the analysis: |
| ReportText | a human-readable textual version of |
| ReportXML | a PMD-style XML version of |
| RetainCycles | directory of retain cycles dotty files |
| RunState | internal data about the last infer run |
| Specs | directory containing summaries as .specs files |
| StarvationIssues | directory of issues reported by the starvation analysis |
| Temporary | directory containing temp files |
| TestDeterminatorReport | the report produced by the test determinator capture mode |
| TestDeterminatorTempResults | a directory |
val get_path : results_dir:string -> id -> stringthe absolute path for the given entry
val get_issues_directories : unit -> id listall the entries that correspond to directories containing temporary issue logs for certain analyses
val to_delete_before_incremental_capture_and_analysis : results_dir:string -> string listutility for ResultsDir.scrub_for_incremental, you probably want to use that instead
IR.Procnamemodule Java : sig ... endType of java procedure names.
module Parameter : sig ... endmodule ObjC_Cpp : sig ... endmodule C : sig ... endmodule Block : sig ... endtype t = | Java of Java.t |
| C of C.t |
| Linters_dummy_method |
| Block of Block.t |
| ObjC_Cpp of ObjC_Cpp.t |
| WithBlockParameters of t * Block.block_name list |
Type of procedure names. WithBlockParameters is used for creating an instantiation of a method that contains block parameters and it's called with concrete blocks. For example: foo(Block block) {block();} bar() {foo(my_block)} is executed as foo_my_block() {my_block(); } where foo_my_block is created with WithBlockParameters (foo, my_block)
val block_name_of_procname : t -> Block.block_nameval equal : t -> t -> boolval get_class_type_name : t -> Typ.Name.t optionval get_class_name : t -> string optionval get_parameters : t -> Parameter.t listval replace_parameters : Parameter.t list -> t -> tval parameter_of_name : t -> Typ.Name.t -> Parameter.tval is_java_access_method : t -> boolval is_java_class_initializer : t -> boolval is_java_anonymous_inner_class_method : t -> boolval is_java_autogen_method : t -> boolval is_objc_method : t -> boolmodule Hash : IStdlib.IStd.Caml.Hashtbl.S with type Hash.key = tHash tables with proc names as keys.
module LRUHash : IStdlib.LRUHashtbl.S with type key = tmodule HashQueue : IStdlib.IStd.Hash_queue.S with type HashQueue.key = tmodule Map : IStdlib.PrettyPrintable.PPMap with type PPMap.key = tMaps from proc names.
module Set : IStdlib.PrettyPrintable.PPSet with type PPSet.elt = tSets of proc names.
module SQLite : sig ... endmodule SQLiteList : IBase.SqliteUtils.Data with type t = t listmodule UnitCache : sig ... endOne-sized cache for one procedure at a time. Returns getter and setter.
val make_java : class_name:Typ.Name.t -> return_type:Java.java_type option -> method_name:string -> parameters:Java.java_type list -> kind:Java.kind -> unit -> tCreate a Java procedure name.
val make_objc_dealloc : Typ.Name.t -> tCreate a Objective-C dealloc name. This is a destructor for an Objective-C class. This procname is given by the class name, since it is always an instance method with the name "dealloc"
val empty_block : tEmpty block name.
val get_language : t -> IBase.Language.tReturn the language of the procedure.
val get_method : t -> stringReturn the method/function of a procname.
val is_objc_block : t -> boolReturn whether the procname is a block procname.
val is_c_method : t -> boolReturn true this is an Objective-C/C++ method name.
val is_clang : t -> boolReturn true if this is a C, C++, or Objective-C procedure name
val is_constructor : t -> boolCheck if this is a constructor.
val is_java : t -> boolCheck if this is a Java procedure name.
val with_block_parameters : t -> Block.block_name list -> tCreate a procedure name instantiated with block parameters from a base procedure name and a list of block procedure names (the arguments).
val objc_cpp_replace_method_name : t -> string -> tval is_infer_undefined : t -> boolCheck if this is a special Infer undefined procedure.
val get_global_name_of_initializer : t -> string optionReturn the name of the global for which this procedure is the initializer if this is an initializer, None otherwise.
val pp : Stdlib.Format.formatter -> t -> unitPretty print a proc name for the user to see.
val to_string : t -> stringConvert a proc name into a string for the user to see.
val describe : Stdlib.Format.formatter -> t -> unitto use in user messages
val replace_class : t -> Typ.Name.t -> tReplace the class name component of a procedure name. In case of Java, replace package and class name.
val is_method_in_objc_protocol : t -> boolval pp_simplified_string : ?withclass:bool -> F.formatter -> t -> unitPretty print a proc name as an easy string for the user to see in an IDE.
val to_simplified_string : ?withclass:bool -> t -> stringConvert a proc name into an easy string for the user to see in an IDE.
val from_string_c_fun : string -> tConvert a string to a c function name.
val hashable_name : t -> stringConvert the procedure name in a format suitable for computing the bug hash.
val to_unique_id : t -> stringConvert a proc name into a unique identifier.
val to_filename : t -> stringConvert a proc name to a filename.
val get_qualifiers : t -> QualifiedCppName.tget qualifiers of C/objc/C++ method/function
IR.Procnamemodule Java : sig ... endType of java procedure names.
module Parameter : sig ... endmodule ObjC_Cpp : sig ... endmodule C : sig ... endmodule Block : sig ... endtype t = | Java of Java.t |
| C of C.t |
| Linters_dummy_method |
| Block of Block.t |
| ObjC_Cpp of ObjC_Cpp.t |
| WithBlockParameters of t * Block.block_name list |
Type of procedure names. WithBlockParameters is used for creating an instantiation of a method that contains block parameters and it's called with concrete blocks. For example: foo(Block block) {block();} bar() {foo(my_block)} is executed as foo_my_block() {my_block(); } where foo_my_block is created with WithBlockParameters (foo, my_block)
val block_name_of_procname : t -> Block.block_nameval equal : t -> t -> boolval get_class_type_name : t -> Typ.Name.t optionval get_class_name : t -> string optionval get_parameters : t -> Parameter.t listval replace_parameters : Parameter.t list -> t -> tval parameter_of_name : t -> Typ.Name.t -> Parameter.tval is_java_access_method : t -> boolval is_java_class_initializer : t -> boolval is_java_anonymous_inner_class_method : t -> boolval is_java_autogen_method : t -> boolval is_objc_method : t -> boolmodule Hash : IStdlib.IStd.Caml.Hashtbl.S with type Hash.key = tHash tables with proc names as keys.
module LRUHash : IStdlib.LRUHashtbl.S with type key = tmodule HashQueue : IStdlib.IStd.Hash_queue.S with type HashQueue.key = tmodule Map : IStdlib.PrettyPrintable.PPMap with type PPMap.key = tMaps from proc names.
module Set : IStdlib.PrettyPrintable.PPSet with type PPSet.elt = tSets of proc names.
module SQLite : sig ... endmodule SQLiteList : IBase.SqliteUtils.Data with type t = t listmodule UnitCache : sig ... endOne-sized cache for one procedure at a time. Returns getter and setter.
val make_java : class_name:Typ.Name.t -> return_type:Java.java_type option -> method_name:string -> parameters:Java.java_type list -> kind:Java.kind -> unit -> tCreate a Java procedure name.
val make_objc_dealloc : Typ.Name.t -> tCreate a Objective-C dealloc name. This is a destructor for an Objective-C class. This procname is given by the class name, since it is always an instance method with the name "dealloc"
val empty_block : tEmpty block name.
val get_language : t -> IBase.Language.tReturn the language of the procedure.
val get_method : t -> stringReturn the method/function of a procname.
val is_objc_block : t -> boolReturn whether the procname is a block procname.
val is_objc_dealloc : t -> boolReturn whether the dealloc method of an Objective-C class.
val is_c_method : t -> boolReturn true this is an Objective-C/C++ method name.
val is_clang : t -> boolReturn true if this is a C, C++, or Objective-C procedure name
val is_constructor : t -> boolCheck if this is a constructor.
val is_java : t -> boolCheck if this is a Java procedure name.
val with_block_parameters : t -> Block.block_name list -> tCreate a procedure name instantiated with block parameters from a base procedure name and a list of block procedure names (the arguments).
val objc_cpp_replace_method_name : t -> string -> tval is_infer_undefined : t -> boolCheck if this is a special Infer undefined procedure.
val get_global_name_of_initializer : t -> string optionReturn the name of the global for which this procedure is the initializer if this is an initializer, None otherwise.
val pp : Stdlib.Format.formatter -> t -> unitPretty print a proc name for the user to see.
val to_string : t -> stringConvert a proc name into a string for the user to see.
val describe : Stdlib.Format.formatter -> t -> unitto use in user messages
val replace_class : t -> Typ.Name.t -> tReplace the class name component of a procedure name. In case of Java, replace package and class name.
val is_method_in_objc_protocol : t -> boolval pp_simplified_string : ?withclass:bool -> F.formatter -> t -> unitPretty print a proc name as an easy string for the user to see in an IDE.
val to_simplified_string : ?withclass:bool -> t -> stringConvert a proc name into an easy string for the user to see in an IDE.
val from_string_c_fun : string -> tConvert a string to a c function name.
val hashable_name : t -> stringConvert the procedure name in a format suitable for computing the bug hash.
val to_unique_id : t -> stringConvert a proc name into a unique identifier.
val to_filename : t -> stringConvert a proc name to a filename.
val get_qualifiers : t -> QualifiedCppName.tget qualifiers of C/objc/C++ method/function
IR__Procnamemodule Java : sig ... endType of java procedure names.
module Parameter : sig ... endmodule ObjC_Cpp : sig ... endmodule C : sig ... endmodule Block : sig ... endtype t = | Java of Java.t |
| C of C.t |
| Linters_dummy_method |
| Block of Block.t |
| ObjC_Cpp of ObjC_Cpp.t |
| WithBlockParameters of t * Block.block_name list |
Type of procedure names. WithBlockParameters is used for creating an instantiation of a method that contains block parameters and it's called with concrete blocks. For example: foo(Block block) {block();} bar() {foo(my_block)} is executed as foo_my_block() {my_block(); } where foo_my_block is created with WithBlockParameters (foo, my_block)
val block_name_of_procname : t -> Block.block_nameval equal : t -> t -> boolval get_class_type_name : t -> IR.Typ.Name.t optionval get_class_name : t -> string optionval get_parameters : t -> Parameter.t listval replace_parameters : Parameter.t list -> t -> tval parameter_of_name : t -> IR.Typ.Name.t -> Parameter.tval is_java_access_method : t -> boolval is_java_class_initializer : t -> boolval is_java_anonymous_inner_class_method : t -> boolval is_java_autogen_method : t -> boolval is_objc_method : t -> boolmodule Hash : IStdlib.IStd.Caml.Hashtbl.S with type Hash.key = tHash tables with proc names as keys.
module LRUHash : IStdlib.LRUHashtbl.S with type key = tmodule HashQueue : IStdlib.IStd.Hash_queue.S with type HashQueue.key = tmodule Map : IStdlib.PrettyPrintable.PPMap with type PPMap.key = tMaps from proc names.
module Set : IStdlib.PrettyPrintable.PPSet with type PPSet.elt = tSets of proc names.
module SQLite : sig ... endmodule SQLiteList : IBase.SqliteUtils.Data with type t = t listmodule UnitCache : sig ... endOne-sized cache for one procedure at a time. Returns getter and setter.
val make_java : class_name:IR.Typ.Name.t -> return_type:Java.java_type option -> method_name:string -> parameters:Java.java_type list -> kind:Java.kind -> unit -> tCreate a Java procedure name.
val make_objc_dealloc : IR.Typ.Name.t -> tCreate a Objective-C dealloc name. This is a destructor for an Objective-C class. This procname is given by the class name, since it is always an instance method with the name "dealloc"
val empty_block : tEmpty block name.
val get_language : t -> IBase.Language.tReturn the language of the procedure.
val get_method : t -> stringReturn the method/function of a procname.
val is_objc_block : t -> boolReturn whether the procname is a block procname.
val is_c_method : t -> boolReturn true this is an Objective-C/C++ method name.
val is_clang : t -> boolReturn true if this is a C, C++, or Objective-C procedure name
val is_constructor : t -> boolCheck if this is a constructor.
val is_java : t -> boolCheck if this is a Java procedure name.
val with_block_parameters : t -> Block.block_name list -> tCreate a procedure name instantiated with block parameters from a base procedure name and a list of block procedure names (the arguments).
val objc_cpp_replace_method_name : t -> string -> tval is_infer_undefined : t -> boolCheck if this is a special Infer undefined procedure.
val get_global_name_of_initializer : t -> string optionReturn the name of the global for which this procedure is the initializer if this is an initializer, None otherwise.
val pp : Stdlib.Format.formatter -> t -> unitPretty print a proc name for the user to see.
val to_string : t -> stringConvert a proc name into a string for the user to see.
val describe : Stdlib.Format.formatter -> t -> unitto use in user messages
val replace_class : t -> IR.Typ.Name.t -> tReplace the class name component of a procedure name. In case of Java, replace package and class name.
val is_method_in_objc_protocol : t -> boolval pp_simplified_string : ?withclass:bool -> F.formatter -> t -> unitPretty print a proc name as an easy string for the user to see in an IDE.
val to_simplified_string : ?withclass:bool -> t -> stringConvert a proc name into an easy string for the user to see in an IDE.
val from_string_c_fun : string -> tConvert a string to a c function name.
val hashable_name : t -> stringConvert the procedure name in a format suitable for computing the bug hash.
val to_unique_id : t -> stringConvert a proc name into a unique identifier.
val to_filename : t -> stringConvert a proc name to a filename.
val get_qualifiers : t -> IR.QualifiedCppName.tget qualifiers of C/objc/C++ method/function
IR__Procnamemodule Java : sig ... endType of java procedure names.
module Parameter : sig ... endmodule ObjC_Cpp : sig ... endmodule C : sig ... endmodule Block : sig ... endtype t = | Java of Java.t |
| C of C.t |
| Linters_dummy_method |
| Block of Block.t |
| ObjC_Cpp of ObjC_Cpp.t |
| WithBlockParameters of t * Block.block_name list |
Type of procedure names. WithBlockParameters is used for creating an instantiation of a method that contains block parameters and it's called with concrete blocks. For example: foo(Block block) {block();} bar() {foo(my_block)} is executed as foo_my_block() {my_block(); } where foo_my_block is created with WithBlockParameters (foo, my_block)
val block_name_of_procname : t -> Block.block_nameval equal : t -> t -> boolval get_class_type_name : t -> IR.Typ.Name.t optionval get_class_name : t -> string optionval get_parameters : t -> Parameter.t listval replace_parameters : Parameter.t list -> t -> tval parameter_of_name : t -> IR.Typ.Name.t -> Parameter.tval is_java_access_method : t -> boolval is_java_class_initializer : t -> boolval is_java_anonymous_inner_class_method : t -> boolval is_java_autogen_method : t -> boolval is_objc_method : t -> boolmodule Hash : IStdlib.IStd.Caml.Hashtbl.S with type Hash.key = tHash tables with proc names as keys.
module LRUHash : IStdlib.LRUHashtbl.S with type key = tmodule HashQueue : IStdlib.IStd.Hash_queue.S with type HashQueue.key = tmodule Map : IStdlib.PrettyPrintable.PPMap with type PPMap.key = tMaps from proc names.
module Set : IStdlib.PrettyPrintable.PPSet with type PPSet.elt = tSets of proc names.
module SQLite : sig ... endmodule SQLiteList : IBase.SqliteUtils.Data with type t = t listmodule UnitCache : sig ... endOne-sized cache for one procedure at a time. Returns getter and setter.
val make_java : class_name:IR.Typ.Name.t -> return_type:Java.java_type option -> method_name:string -> parameters:Java.java_type list -> kind:Java.kind -> unit -> tCreate a Java procedure name.
val make_objc_dealloc : IR.Typ.Name.t -> tCreate a Objective-C dealloc name. This is a destructor for an Objective-C class. This procname is given by the class name, since it is always an instance method with the name "dealloc"
val empty_block : tEmpty block name.
val get_language : t -> IBase.Language.tReturn the language of the procedure.
val get_method : t -> stringReturn the method/function of a procname.
val is_objc_block : t -> boolReturn whether the procname is a block procname.
val is_objc_dealloc : t -> boolReturn whether the dealloc method of an Objective-C class.
val is_c_method : t -> boolReturn true this is an Objective-C/C++ method name.
val is_clang : t -> boolReturn true if this is a C, C++, or Objective-C procedure name
val is_constructor : t -> boolCheck if this is a constructor.
val is_java : t -> boolCheck if this is a Java procedure name.
val with_block_parameters : t -> Block.block_name list -> tCreate a procedure name instantiated with block parameters from a base procedure name and a list of block procedure names (the arguments).
val objc_cpp_replace_method_name : t -> string -> tval is_infer_undefined : t -> boolCheck if this is a special Infer undefined procedure.
val get_global_name_of_initializer : t -> string optionReturn the name of the global for which this procedure is the initializer if this is an initializer, None otherwise.
val pp : Stdlib.Format.formatter -> t -> unitPretty print a proc name for the user to see.
val to_string : t -> stringConvert a proc name into a string for the user to see.
val describe : Stdlib.Format.formatter -> t -> unitto use in user messages
val replace_class : t -> IR.Typ.Name.t -> tReplace the class name component of a procedure name. In case of Java, replace package and class name.
val is_method_in_objc_protocol : t -> boolval pp_simplified_string : ?withclass:bool -> F.formatter -> t -> unitPretty print a proc name as an easy string for the user to see in an IDE.
val to_simplified_string : ?withclass:bool -> t -> stringConvert a proc name into an easy string for the user to see in an IDE.
val from_string_c_fun : string -> tConvert a string to a c function name.
val hashable_name : t -> stringConvert the procedure name in a format suitable for computing the bug hash.
val to_unique_id : t -> stringConvert a proc name into a unique identifier.
val to_filename : t -> stringConvert a proc name to a filename.
val get_qualifiers : t -> IR.QualifiedCppName.tget qualifiers of C/objc/C++ method/function
Integration.Helpval show_checkers : IBase.Checker.t list -> unitshow information about the given checkers
val show_issue_types : IBase.IssueType.t list -> unitshow information about the given issue_types
Integration.Helpval show_checkers : IBase.Checker.t list -> unitshow information about the given checkers
val show_issue_types : IBase.IssueType.t list -> unitshow information about the given issue_types
Integration.XMLReportIntegrationmodule Ant : sig ... endmodule Buck : sig ... endmodule BuckFlavors : sig ... endmodule BuckGenrule : sig ... endmodule CaptureCompilationDatabase : sig ... endmodule Clang : sig ... endmodule CompilationDatabase : sig ... endmodule CostIssuesTest : sig ... endmodule Differential : sig ... endmodule DifferentialFilters : sig ... endmodule Driver : sig ... endmodule Gradle : sig ... endmodule Help : sig ... endmodule IssuesTest : sig ... endmodule Javac : sig ... endmodule JsonReports : sig ... endmodule Maven : sig ... endmodule NdkBuild : sig ... endmodule ReportDiff : sig ... endmodule TextReport : sig ... endmodule TraceBugs : sig ... endmodule XcodeBuild : sig ... endIntegrationmodule Ant : sig ... endmodule Buck : sig ... endmodule BuckFlavors : sig ... endmodule BuckGenrule : sig ... endmodule CaptureCompilationDatabase : sig ... endmodule Clang : sig ... endmodule CompilationDatabase : sig ... endmodule CostIssuesTest : sig ... endmodule Differential : sig ... endmodule DifferentialFilters : sig ... endmodule Driver : sig ... endmodule Gradle : sig ... endmodule Help : sig ... endmodule IssuesTest : sig ... endmodule Javac : sig ... endmodule JsonReports : sig ... endmodule Maven : sig ... endmodule NdkBuild : sig ... endmodule ReportDiff : sig ... endmodule TextReport : sig ... endmodule TraceBugs : sig ... endmodule XMLReport : sig ... endmodule XcodeBuild : sig ... endIntegration__Helpval show_checkers : IBase.Checker.t list -> unitshow information about the given checkers
val show_issue_types : IBase.IssueType.t list -> unitshow information about the given issue_types
Integration__Helpval show_checkers : IBase.Checker.t list -> unitshow information about the given checkers
val show_issue_types : IBase.IssueType.t list -> unitshow information about the given issue_types