diff --git a/website/docs/all-issue-types.md b/website/docs/all-issue-types.md
index a28011b9c..a24c599f7 100644
--- a/website/docs/all-issue-types.md
+++ b/website/docs/all-issue-types.md
@@ -219,37 +219,11 @@ This error is reported when the argument types to a `printf` method do not match
Action: fix the mismatch between format string and argument types.
-## COMPONENT_FACTORY_FUNCTION
-
-Reported as "Component Factory Function" by [linters](/docs/next/checker-linters).
-
-
-## COMPONENT_FILE_CYCLOMATIC_COMPLEXITY
-
-Reported as "Component File Cyclomatic Complexity" by [linters](/docs/next/checker-linters).
-
-
-## COMPONENT_FILE_LINE_COUNT
-
-Reported as "Component File Line Count" by [linters](/docs/next/checker-linters).
-
-
-## COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS
-
-Reported as "Component Initializer With Side Effects" by [linters](/docs/next/checker-linters).
-
-
## COMPONENT_WITH_MULTIPLE_FACTORY_METHODS
Reported as "Component With Multiple Factory Methods" by [linters](/docs/next/checker-linters).
-## COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS
-
-Reported as "Component With Unconventional Superclass" by [linters](/docs/next/checker-linters).
-
-[Doc in ComponentKit page](http://componentkit.org/docs/never-subclass-components)
-
## CONDITION_ALWAYS_FALSE
Reported as "Condition Always False" by [bufferoverrun](/docs/next/checker-bufferoverrun).
@@ -1326,11 +1300,6 @@ is not called with `nil`. When an argument will never be `nil`, you can add the
annotation `nonnull` to the argument's type, to tell Infer (and the type
system), that the argument won't be `nil`. This will silence the warning.
-## POINTER_SIZE_MISMATCH
-
-Reported as "Pointer Size Mismatch" by [biabduction](/docs/next/checker-biabduction).
-
-
## POINTER_TO_CONST_OBJC_CLASS
Reported as "Pointer To Const Objc Class" by [linters](/docs/next/checker-linters).
@@ -1403,16 +1372,6 @@ void set_impure(int x, int y) {
Reported as "Taint Error" by [quandary](/docs/next/checker-quandary).
Generic taint error when nothing else fits.
-## REGISTERED_OBSERVER_BEING_DEALLOCATED
-
-Reported as "Registered Observer Being Deallocated" by [linters](/docs/next/checker-linters).
-
-Objects register with a notification center to receive notifications. This check
-warns you when an object is registered as observer of a NSNotificationCenter but
-it is never unregistered. This is problematic as if the object is not
-unregistered the notification center can still send notification even after the
-object has been deallocated. In that case we would get a crash.
-
## RESOURCE_LEAK
Reported as "Resource Leak" by [biabduction](/docs/next/checker-biabduction).
@@ -1736,11 +1695,6 @@ Environment variable or file data flowing to shell.
Reported as "Shell Injection Risk" by [quandary](/docs/next/checker-quandary).
Code injection if the caller of the endpoint doesn't sanitize on its end.
-## SKIP_POINTER_DEREFERENCE
-
-Reported as "Skip Pointer Dereference" by [biabduction](/docs/next/checker-biabduction).
-
-
## SQL_INJECTION
Reported as "Sql Injection" by [quandary](/docs/next/checker-quandary).
@@ -1981,36 +1935,6 @@ These annotations can be found at `com.facebook.infer.annotation.*`.
Reported as "Topl Error" by [topl](/docs/next/checker-topl).
Experimental.
-## UNARY_MINUS_APPLIED_TO_UNSIGNED_EXPRESSION
-
-Reported as "Unary Minus Applied To Unsigned Expression" by [biabduction](/docs/next/checker-biabduction).
-
-
-## UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK
-
-Reported as "Unavailable Api In Supported Ios Sdk" by [linters](/docs/next/checker-linters).
-
-This checks warns you when you are using an API (constant, method call, etc.)
-that is only defined in a version higher than the version that you support. To
-enable this check, pass to Infer the option
-`--iphoneos-target-sdk-version version`. Calling an undefined API will lead to a
-crash in the app. To fix this, you can choose a different API or use it inside
-an if, as in:
-
-```objectivec
-if ([UIFont respondsToSelector:@selector(systemFontOfSize:weight:)]) {
- font = [UIFont systemFontOfSize:size weight:0];
-}
-```
-
-or
-
-```objectivec
-if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_9_0) {
- font = [UIFont systemFontOfSize:size weight:0];
-}
-```
-
## UNINITIALIZED_VALUE
Reported as "Uninitialized Value" by [uninit](/docs/next/checker-uninit).
diff --git a/website/docs/checker-biabduction.md b/website/docs/checker-biabduction.md
index 2fefba249..f544e215a 100644
--- a/website/docs/checker-biabduction.md
+++ b/website/docs/checker-biabduction.md
@@ -23,9 +23,6 @@ The following issue types are reported by this checker:
- [IVAR_NOT_NULL_CHECKED](/docs/next/all-issue-types#ivar_not_null_checked)
- [NULL_DEREFERENCE](/docs/next/all-issue-types#null_dereference)
- [PARAMETER_NOT_NULL_CHECKED](/docs/next/all-issue-types#parameter_not_null_checked)
-- [POINTER_SIZE_MISMATCH](/docs/next/all-issue-types#pointer_size_mismatch)
- [PREMATURE_NIL_TERMINATION_ARGUMENT](/docs/next/all-issue-types#premature_nil_termination_argument)
- [RESOURCE_LEAK](/docs/next/all-issue-types#resource_leak)
- [RETAIN_CYCLE](/docs/next/all-issue-types#retain_cycle)
-- [SKIP_POINTER_DEREFERENCE](/docs/next/all-issue-types#skip_pointer_dereference)
-- [UNARY_MINUS_APPLIED_TO_UNSIGNED_EXPRESSION](/docs/next/all-issue-types#unary_minus_applied_to_unsigned_expression)
diff --git a/website/docs/checker-config-checks-between-markers.md b/website/docs/checker-config-checks-between-markers.md
index d56eff8b3..a59004cb5 100644
--- a/website/docs/checker-config-checks-between-markers.md
+++ b/website/docs/checker-config-checks-between-markers.md
@@ -8,7 +8,7 @@ description: "[EXPERIMENTAL] Collects config checks between marker start and end
Activate with `--config-checks-between-markers`.
Supported languages:
-- C/C++/ObjC: No
+- C/C++/ObjC: Experimental
- Java: Experimental
This checker is currently only useful for certain Facebook code.
diff --git a/website/docs/checker-linters.md b/website/docs/checker-linters.md
index 46bad0ff3..cc852c203 100644
--- a/website/docs/checker-linters.md
+++ b/website/docs/checker-linters.md
@@ -709,18 +709,11 @@ developing new linters in Infer. Read about them in the [`infer capture` manual]
The following issue types are reported by this checker:
- [ASSIGN_POINTER_WARNING](/docs/next/all-issue-types#assign_pointer_warning)
- [BAD_POINTER_COMPARISON](/docs/next/all-issue-types#bad_pointer_comparison)
-- [COMPONENT_FACTORY_FUNCTION](/docs/next/all-issue-types#component_factory_function)
-- [COMPONENT_FILE_CYCLOMATIC_COMPLEXITY](/docs/next/all-issue-types#component_file_cyclomatic_complexity)
-- [COMPONENT_FILE_LINE_COUNT](/docs/next/all-issue-types#component_file_line_count)
-- [COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS](/docs/next/all-issue-types#component_initializer_with_side_effects)
- [COMPONENT_WITH_MULTIPLE_FACTORY_METHODS](/docs/next/all-issue-types#component_with_multiple_factory_methods)
-- [COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS](/docs/next/all-issue-types#component_with_unconventional_superclass)
- [CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK](/docs/next/all-issue-types#cxx_reference_captured_in_objc_block)
- [DIRECT_ATOMIC_PROPERTY_ACCESS](/docs/next/all-issue-types#direct_atomic_property_access)
- [DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER](/docs/next/all-issue-types#discouraged_weak_property_custom_setter)
- [GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL](/docs/next/all-issue-types#global_variable_initialized_with_function_or_method_call)
- [MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE](/docs/next/all-issue-types#mutable_local_variable_in_component_file)
- [POINTER_TO_CONST_OBJC_CLASS](/docs/next/all-issue-types#pointer_to_const_objc_class)
-- [REGISTERED_OBSERVER_BEING_DEALLOCATED](/docs/next/all-issue-types#registered_observer_being_deallocated)
- [STRONG_DELEGATE_WARNING](/docs/next/all-issue-types#strong_delegate_warning)
-- [UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK](/docs/next/all-issue-types#unavailable_api_in_supported_ios_sdk)
diff --git a/website/static/man/next/infer-analyze.1.html b/website/static/man/next/infer-analyze.1.html
index 66073ba0d..74d1a33a5 100644
--- a/website/static/man/next/infer-analyze.1.html
+++ b/website/static/man/next/infer-analyze.1.html
@@ -1,5 +1,5 @@
-
-
+
+
@@ -8,17 +8,16 @@
infer-analyze -
analyze the files captured by infer
-
SYNOPSIS
-
+
SYNOPSIS
infer
analyze[options]
infer[options]
-
DESCRIPTION
-
+
DESCRIPTION
Analyze the
files captured in the project results directory and
report.
-
OPTIONS
-
+
OPTIONS
@@ -74,12 +69,12 @@ report.
Activates: checker
annotation-reachability: Given a pair of source and sink
-annotation, e.g. ’@PerformanceCritical’ and
-’@Expensive’, this checker will warn whenever
+annotation, e.g. ‘@PerformanceCritical‘ and
+‘@Expensive‘, this checker will warn whenever
some method annotated with
-’@PerformanceCritical’ calls, directly or
+‘@PerformanceCritical‘ calls, directly or
indirectly, another method annotated with
-’@Expensive’ (Conversely:
+‘@Expensive‘ (Conversely:
--no-annotation-reachability)
@@ -153,7 +148,7 @@ given the same before. Not compatible with
Activates: checker cost:
Computes the time complexity of functions and methods. Can
be used to detect changes in runtime complexity with
-’infer reportdiff’. (Conversely:
+‘infer reportdiff‘. (Conversely:
--no-cost)
Activates: checker eradicate:
-The eradicate ’@Nullable’ checker for Java
+The eradicate ‘@Nullable‘ checker for Java
annotations. (Conversely: --no-eradicate)
--eradicate-only
@@ -273,9 +268,9 @@ internal options in the INTERNAL OPTIONS section
Activates: checker
immutable-cast: Detection of object cast from immutable
types to mutable types. For instance, it will detect casts
-from ’ImmutableList’ to ’List’,
-’ImmutableMap’ to ’Map’, and
-’ImmutableSet’ to ’Set’.
+from ‘ImmutableList‘ to ‘List‘,
+‘ImmutableMap‘ to ‘Map‘, and
+‘ImmutableSet‘ to ‘Set‘.
(Conversely: --no-immutable-cast)
@@ -344,7 +339,7 @@ disable all other checkers (Conversely:
Activates: checker
litho-required-props: Checks that all non-optional
-’@Prop’s have been specified when constructing
+‘@Prop‘s have been specified when constructing
Litho components. (Conversely:
--no-litho-required-props)
@@ -403,11 +398,11 @@ stdout and stderr (Conversely: --no-print-logs)
--printf-args
Activates: checker printf-args:
-Detect mismatches between the Java ’printf’
+Detect mismatches between the Java ‘printf‘
format strings and the argument types For example, this
checker will warn about the type error in
-’printf("Hello %d",
-"world")’ (Conversely:
+‘printf("Hello %d",
+"world")‘ (Conversely:
--no-printf-args)
--printf-args-only
@@ -555,7 +550,7 @@ files in the specified directory
Deactivates: checker
self-in-block: An Objective-C-specific analysis to detect
-when a block captures ’self’. (Conversely:
+when a block captures ‘self‘. (Conversely:
--self-in-block)
@@ -635,9 +630,8 @@ Warns when values are used before having been initialized.
disable all other checkers (Conversely:
--no-uninit-only)
-
BUCK OPTIONS
-
+
BUCK OPTIONS
@@ -647,9 +641,8 @@ disable all other checkers (Conversely:
results directories specified in the dependency file.
(Conversely: --no-merge)
-
BUFFER OVERRUN OPTIONS
-
+
BUFFER OVERRUN OPTIONS
@@ -665,9 +658,8 @@ checker (0-4)
Limit of field depth of
abstract location in buffer-overrun checker
-
CLANG OPTIONS
-
+
CLANG OPTIONS
@@ -700,9 +692,10 @@ Example:
".*::Trusted::.*" ] }
}
}
-}
-This will cause us to create a new ISOLATED_REACHING_CONNECT
-
+}
+
+
This will cause
+us to create a new ISOLATED_REACHING_CONNECT
issue for every function whose source path starts with
"isolated/"
that may reach the function named "connect",
@@ -759,9 +752,8 @@ to be checked in C++:
malloc(3) never returns null. (Conversely:
--no-unsafe-malloc)
-
JAVA OPTIONS
-
+
JAVA OPTIONS
@@ -790,9 +782,8 @@ packages.
The version of Java being used.
Set it to your Java version if mvn is failing.
-
QUANDARY CHECKER OPTIONS
-
+
QUANDARY CHECKER OPTIONS
@@ -820,9 +811,8 @@ Quandary
Specify custom sources for
Quandary
-
RACERD CHECKER OPTIONS
-
+
RACERD CHECKER OPTIONS
@@ -845,9 +835,8 @@ nothing. (Conversely:
Specify custom annotations that
should be considered aliases of @ThreadSafe
-
SIOF CHECKER OPTIONS
-
+
SIOF CHECKER OPTIONS
@@ -868,9 +857,8 @@ recent libstdc++ then it is safe to turn this option on.
"foo<int>::bar()", etc. (can be specified
multiple times)
-
ENVIRONMENT
-
+
ENVIRONMENT
@@ -880,9 +868,8 @@ multiple times)
See the ENVIRONMENT section in
the manual of infer(1).
Capture the
@@ -84,9 +80,8 @@ source files, translate them into infer's intermediate
representation, and store the result of the translation in
the results directory.
-
OPTIONS
-
+
OPTIONS
@@ -233,25 +228,24 @@ database operations, in milliseconds.
SQLite page size in bytes, must
be a power of two between 512 and 65536.
-
-
--
+
--
-
Stop argument processing, use remaining arguments as a
-build command
+
Stop argument
+processing, use remaining arguments as a build command
-
BUCK OPTIONS
-
+
BUCK OPTIONS
@@ -326,14 +320,14 @@ matched by the specified regular expression. Only valid for
+string
Pass values as command-line
-arguments to invocations of ’buck build’.
+arguments to invocations of ‘buck build‘.
Only valid for --buck-clang.
--Xbuck-no-inline+string
Pass values as command-line
-arguments to invocations of ’buck build’,
+arguments to invocations of ‘buck build‘,
don't inline any args starting with '@'. Only valid for
--buck-clang.
@@ -343,9 +337,8 @@ don't inline any args starting with '@'. Only valid for
Specify the path to Xcode
developer directory, to use for Buck clang targets
-
CLANG LINTERS OPTIONS
-
+
CLANG LINTERS OPTIONS
@@ -362,21 +355,6 @@ See --debug-level for accepted values.
linters for the analysis. (Conversely:
--default-linters)
-
-
--iphoneos-target-sdk-version
-string
-
-
Specify the target SDK version
-to use for iphoneos
-
-
-
--iphoneos-target-sdk-version-path-regex
-+string
-
-
To pass a specific target SDK
-version to use for iphoneos in a particular path, with the
-format path:version (can be specified multiple times)
-
--linterstring
@@ -430,9 +408,8 @@ files even if some compilation fails. (Conversely:
AL files, then emit possible errors in JSON format to stdout
(Conversely: --no-linters-validate-syntax-only)
-
CLANG OPTIONS
-
+
CLANG OPTIONS
@@ -478,13 +455,6 @@ commands (can be specified multiple times)
commands where all entries are escaped for the shell, eg
coming from Xcode (can be specified multiple times)
-
--compute-analytics
-
-
Activates: Emit analytics as
-info-level issues, like component kit line count and
-component kit file cyclomatic complexity (Conversely:
---no-compute-analytics)
-
--no-cxx
Deactivates: Analyze C++
@@ -527,13 +497,12 @@ arguments to invocations of clang
Activates: Infer will use
xcpretty together with xcodebuild to analyze an iOS app.
xcpretty just needs to be in the path, infer command is
-still just ’infer -- <xcodebuild
-command>’. (Conversely:
+still just ‘infer -- <xcodebuild
+command>‘. (Conversely:
--no-xcpretty)
-
JAVA OPTIONS
-
+
JAVA OPTIONS
@@ -575,9 +544,8 @@ used to generate the bytecode
The version of Java being used.
Set it to your Java version if mvn is failing.
-
ENVIRONMENT
-
+
ENVIRONMENT
@@ -587,9 +555,8 @@ Set it to your Java version if mvn is failing.
See the ENVIRONMENT section in
the manual of infer(1).
infer-compile -
compile project from within the infer environment
-
SYNOPSIS
-
+
SYNOPSIS
infer
compile --[compile command]
-
DESCRIPTION
-
+
DESCRIPTION
Intercepts
@@ -59,9 +55,8 @@ simply execute these compilation commands and do not perform
any translation of the source files. This can be useful to
configure build systems or for debugging purposes.
-
OPTIONS
-
+
OPTIONS
@@ -130,9 +125,8 @@ undefined, and to pager otherwise.
Show this manual with all
internal options in the INTERNAL OPTIONS section
-
ENVIRONMENT
-
+
ENVIRONMENT
@@ -142,9 +136,8 @@ internal options in the INTERNAL OPTIONS section
See the ENVIRONMENT section in
the manual of infer(1).
If
@@ -70,9 +66,8 @@ the list of bugs on the console and explore symbolic program
traces emitted by infer to explain a report. Can also
generate an HTML report from a JSON report.
-
OPTIONS
-
+
OPTIONS
@@ -99,9 +94,8 @@ internal options in the INTERNAL OPTIONS section
Write results and internal
files in the specified directory
-
EXPLORE BUGS
-
+
EXPLORE BUGS
@@ -128,9 +122,8 @@ omitted, prompt for input.
excerpts around trace elements (Conversely:
--source-preview)
-
EXPLORE PROCEDURES
-
+
EXPLORE PROCEDURES
@@ -189,9 +182,8 @@ found in the output of --procedures (Conversely:
of each procedure in the output of --procedures
(Conversely: --no-procedures-summary)
-
EXPLORE SOURCE FILES
-
+
EXPLORE SOURCE FILES
@@ -241,9 +233,8 @@ environment of each source file in the output of
--source-files (Conversely:
--no-source-files-type-environment)
-
ENVIRONMENT
-
+
ENVIRONMENT
@@ -253,9 +244,8 @@ environment of each source file in the output of
See the ENVIRONMENT section in
the manual of infer(1).
infer-report -
compute and manipulate infer results
-
SYNOPSIS
-
+
SYNOPSIS
infer
report[options] [file.specs...]
-
DESCRIPTION
-
+
DESCRIPTION
Read, convert,
@@ -61,9 +57,8 @@ is printed to standard output unless option -q is used.
file are passed on the command line, process all the .specs
in the results directory.
-
OPTIONS
-
+
OPTIONS
@@ -79,18 +74,18 @@ are specified, they are applied in the order in which they
are specified. Each filter is applied to each issue
detected, and only issues which are accepted by all filters
are reported. Each filter is of the form:
-’<issue_type_regex>:<filename_regex>:<reason_string>’.
+‘<issue_type_regex>:<filename_regex>:<reason_string>‘.
The first two components are OCaml Str regular expressions,
-with an optional ’!’ character prefix. If a
-regex has a ’!’ prefix, the polarity is
+with an optional ‘!‘ character prefix. If a
+regex has a ‘!‘ prefix, the polarity is
inverted, and the filter becomes a "blacklist"
instead of a "whitelist". Each filter is
interpreted as an implication: an issue matches if it does
-not match the ’issue_type_regex’ or if it does
-match the ’filename_regex’. The filenames that
+not match the ‘issue_type_regex‘ or if it does
+match the ‘filename_regex‘. The filenames that
are tested by the regex are relative to the
-’--project-root’ directory. The
-’<reason_string>’ is a non-empty string
+‘--project-root‘ directory. The
+‘<reason_string>‘ is a non-empty string
used to explain why the issue was filtered.
--cost-issues-tests
@@ -165,8 +160,11 @@ have run. In particular, note that disabling issue types
does not make the corresponding checker not run.
Available issue types are as
-follows:
-ARRAY_OUT_OF_BOUNDS_L1 (disabled by default),
+follows:
+
+
+
ARRAY_OUT_OF_BOUNDS_L1
+(disabled by default),
ARRAY_OUT_OF_BOUNDS_L2 (disabled by default),
ARRAY_OUT_OF_BOUNDS_L3 (disabled by default),
ASSIGN_POINTER_WARNING (enabled by default),
@@ -195,16 +193,8 @@ 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),
-COMPONENT_FACTORY_FUNCTION (enabled by default),
-COMPONENT_FILE_CYCLOMATIC_COMPLEXITY (enabled by default),
-
-COMPONENT_FILE_LINE_COUNT (disabled by default),
-COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS (enabled by
-default),
COMPONENT_WITH_MULTIPLE_FACTORY_METHODS (enabled by
default),
-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),
@@ -302,7 +292,6 @@ Missing_fld (enabled by default),
NULLPTR_DEREFERENCE (disabled by default),
NULL_DEREFERENCE (enabled by default),
PARAMETER_NOT_NULL_CHECKED (enabled by default),
-POINTER_SIZE_MISMATCH (enabled by default),
POINTER_TO_CONST_OBJC_CLASS (enabled by default),
PRECONDITION_NOT_FOUND (enabled by default),
PRECONDITION_NOT_MET (enabled by default),
@@ -310,14 +299,11 @@ PREMATURE_NIL_TERMINATION_ARGUMENT (enabled by default),
PURE_FUNCTION (enabled by default),
QUANDARY_TAINT_ERROR (enabled by default),
-REGISTERED_OBSERVER_BEING_DEALLOCATED (enabled by default),
-
RESOURCE_LEAK (enabled by default),
RETAIN_CYCLE (enabled by default),
SHELL_INJECTION (enabled by default),
SHELL_INJECTION_RISK (enabled by default),
SKIP_FUNCTION (disabled by default),
-SKIP_POINTER_DEREFERENCE (disabled by default),
SQL_INJECTION (enabled by default),
SQL_INJECTION_RISK (enabled by default),
STACK_VARIABLE_ADDRESS_ESCAPE (enabled by default),
@@ -330,10 +316,6 @@ STRONG_SELF_NOT_CHECKED (enabled by default),
Symexec_memory_error (enabled by default),
THREAD_SAFETY_VIOLATION (enabled by default),
TOPL_ERROR (enabled by default),
-UNARY_MINUS_APPLIED_TO_UNSIGNED_EXPRESSION (disabled by
-default),
-UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK (enabled by default),
-
UNINITIALIZED_VALUE (enabled by default),
UNREACHABLE_CODE (enabled by default),
UNTRUSTED_BUFFER_ACCESS (disabled by default),
@@ -493,9 +475,8 @@ files in the specified directory
Calling
@@ -65,14 +60,13 @@ to performing the following sequence of commands:
capture [options]
infer analyze[options]
-
OPTIONS
-
+
OPTIONS
-
--censor-report
-+string
+
--censor-report
++string
Specify a filter for issues to
be censored by adding a 'censored_reason' field in the json
@@ -83,18 +77,18 @@ are specified, they are applied in the order in which they
are specified. Each filter is applied to each issue
detected, and only issues which are accepted by all filters
are reported. Each filter is of the form:
-’<issue_type_regex>:<filename_regex>:<reason_string>’.
+‘<issue_type_regex>:<filename_regex>:<reason_string>‘.
The first two components are OCaml Str regular expressions,
-with an optional ’!’ character prefix. If a
-regex has a ’!’ prefix, the polarity is
+with an optional ‘!‘ character prefix. If a
+regex has a ‘!‘ prefix, the polarity is
inverted, and the filter becomes a "blacklist"
instead of a "whitelist". Each filter is
interpreted as an implication: an issue matches if it does
-not match the ’issue_type_regex’ or if it does
-match the ’filename_regex’. The filenames that
+not match the ‘issue_type_regex‘ or if it does
+match the ‘filename_regex‘. The filenames that
are tested by the regex are relative to the
-’--project-root’ directory. The
-’<reason_string>’ is a non-empty string
+‘--project-root‘ directory. The
+‘<reason_string>‘ is a non-empty string
used to explain why the issue was filtered.
--debug,-g
@@ -289,25 +283,24 @@ exit
Print version information in
json format and exit
-
-
--
+
--
-
Stop argument processing, use remaining arguments as a
-build command
+
Stop argument
+processing, use remaining arguments as a build command
-
BUCK OPTIONS
-
+
BUCK OPTIONS
@@ -326,22 +319,8 @@ not Java.
matched by the specified regular expression. Only valid for
--buck-compilation-database.
-
CLANG OPTIONS
-
-
-
-
-
-
--compute-analytics
-
-
Activates: Emit analytics as
-info-level issues, like component kit line count and
-component kit file cyclomatic complexity (Conversely:
---no-compute-analytics)
-
-
JAVA OPTIONS
-
+
JAVA OPTIONS
@@ -352,9 +331,8 @@ component kit file cyclomatic complexity (Conversely:
by the specified OCaml regular expression (only supported by
the javac integration for now).
-
ENVIRONMENT
-
+
ENVIRONMENT
@@ -364,9 +342,8 @@ the javac integration for now).
See the ENVIRONMENT section in
the manual of infer(1).
Infer is a
@@ -80,9 +76,8 @@ specified via the -- option or one of the
infer behaves as infer-run(1). Otherwise,
infer behaves as infer-analyze(1).
-
OPTIONS
-
+
OPTIONS
Every infer
@@ -122,12 +117,12 @@ reserved for internal use).
Activates: checker
annotation-reachability: Given a pair of source and sink
-annotation, e.g. ’@PerformanceCritical’ and
-’@Expensive’, this checker will warn whenever
+annotation, e.g. ‘@PerformanceCritical‘ and
+‘@Expensive‘, this checker will warn whenever
some method annotated with
-’@PerformanceCritical’ calls, directly or
+‘@PerformanceCritical‘ calls, directly or
indirectly, another method annotated with
-’@Expensive’ (Conversely:
+‘@Expensive‘ (Conversely:
--no-annotation-reachability)
See also
@@ -172,9 +167,10 @@ Example:
".*::Trusted::.*" ] }
}
}
-}
-This will cause us to create a new ISOLATED_REACHING_CONNECT
-
+}
+
+
This will cause
+us to create a new ISOLATED_REACHING_CONNECT
issue for every function whose source path starts with
"isolated/"
that may reach the function named "connect",
@@ -348,18 +344,18 @@ are specified, they are applied in the order in which they
are specified. Each filter is applied to each issue
detected, and only issues which are accepted by all filters
are reported. Each filter is of the form:
-’<issue_type_regex>:<filename_regex>:<reason_string>’.
+‘<issue_type_regex>:<filename_regex>:<reason_string>‘.
The first two components are OCaml Str regular expressions,
-with an optional ’!’ character prefix. If a
-regex has a ’!’ prefix, the polarity is
+with an optional ‘!‘ character prefix. If a
+regex has a ‘!‘ prefix, the polarity is
inverted, and the filter becomes a "blacklist"
instead of a "whitelist". Each filter is
interpreted as an implication: an issue matches if it does
-not match the ’issue_type_regex’ or if it does
-match the ’filename_regex’. The filenames that
+not match the ‘issue_type_regex‘ or if it does
+match the ‘filename_regex‘. The filenames that
are tested by the regex are relative to the
-’--project-root’ directory. The
-’<reason_string>’ is a non-empty string
+‘--project-root‘ directory. The
+‘<reason_string>‘ is a non-empty string
used to explain why the issue was filtered.
See also infer-report(1)
@@ -417,15 +413,6 @@ coming from Xcode (can be specified multiple times)
See also
infer-capture(1).
---compute-analytics
-
-
Activates: Emit analytics as
-info-level issues, like component kit line count and
-component kit file cyclomatic complexity (Conversely:
---no-compute-analytics)
-
-
See also
-infer-capture(1) and infer-run(1).
--config-checks-between-markers
Activates: checker
@@ -470,7 +457,7 @@ given the same before. Not compatible with
Activates: checker cost:
Computes the time complexity of functions and methods. Can
be used to detect changes in runtime complexity with
-’infer reportdiff’. (Conversely:
+‘infer reportdiff‘. (Conversely:
--no-cost)
See also
@@ -643,8 +630,11 @@ have run. In particular, note that disabling issue types
does not make the corresponding checker not run.
Available issue types are as
-follows:
-ARRAY_OUT_OF_BOUNDS_L1 (disabled by default),
+follows:
+
+
+
ARRAY_OUT_OF_BOUNDS_L1
+(disabled by default),
ARRAY_OUT_OF_BOUNDS_L2 (disabled by default),
ARRAY_OUT_OF_BOUNDS_L3 (disabled by default),
ASSIGN_POINTER_WARNING (enabled by default),
@@ -673,16 +663,8 @@ 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),
-COMPONENT_FACTORY_FUNCTION (enabled by default),
-COMPONENT_FILE_CYCLOMATIC_COMPLEXITY (enabled by default),
-
-COMPONENT_FILE_LINE_COUNT (disabled by default),
-COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS (enabled by
-default),
COMPONENT_WITH_MULTIPLE_FACTORY_METHODS (enabled by
default),
-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),
@@ -780,7 +762,6 @@ Missing_fld (enabled by default),
NULLPTR_DEREFERENCE (disabled by default),
NULL_DEREFERENCE (enabled by default),
PARAMETER_NOT_NULL_CHECKED (enabled by default),
-POINTER_SIZE_MISMATCH (enabled by default),
POINTER_TO_CONST_OBJC_CLASS (enabled by default),
PRECONDITION_NOT_FOUND (enabled by default),
PRECONDITION_NOT_MET (enabled by default),
@@ -788,14 +769,11 @@ PREMATURE_NIL_TERMINATION_ARGUMENT (enabled by default),
PURE_FUNCTION (enabled by default),
QUANDARY_TAINT_ERROR (enabled by default),
-REGISTERED_OBSERVER_BEING_DEALLOCATED (enabled by default),
-
RESOURCE_LEAK (enabled by default),
RETAIN_CYCLE (enabled by default),
SHELL_INJECTION (enabled by default),
SHELL_INJECTION_RISK (enabled by default),
SKIP_FUNCTION (disabled by default),
-SKIP_POINTER_DEREFERENCE (disabled by default),
SQL_INJECTION (enabled by default),
SQL_INJECTION_RISK (enabled by default),
STACK_VARIABLE_ADDRESS_ESCAPE (enabled by default),
@@ -808,10 +786,6 @@ STRONG_SELF_NOT_CHECKED (enabled by default),
Symexec_memory_error (enabled by default),
THREAD_SAFETY_VIOLATION (enabled by default),
TOPL_ERROR (enabled by default),
-UNARY_MINUS_APPLIED_TO_UNSIGNED_EXPRESSION (disabled by
-default),
-UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK (enabled by default),
-
UNINITIALIZED_VALUE (enabled by default),
UNREACHABLE_CODE (enabled by default),
UNTRUSTED_BUFFER_ACCESS (disabled by default),
@@ -830,8 +804,10 @@ USE_AFTER_FREE (enabled by default),
USE_AFTER_LIFETIME (enabled by default),
VECTOR_INVALIDATION (enabled by default),
WEAK_SELF_IN_NO_ESCAPE_BLOCK (enabled by default),
-Wrong_argument_number (enabled by default).
-See also infer-report(1).
+Wrong_argument_number (enabled by default).
+
+
See also
+infer-report(1).
--dump-duplicate-symbols
Activates: Dump all symbols
@@ -854,7 +830,7 @@ or off.
--eradicate
Activates: checker eradicate:
-The eradicate ’@Nullable’ checker for Java
+The eradicate ‘@Nullable‘ checker for Java
annotations. (Conversely: --no-eradicate)
See also
@@ -1049,9 +1025,9 @@ report. (Conversely: --no-html)
Activates: checker
immutable-cast: Detection of object cast from immutable
types to mutable types. For instance, it will detect casts
-from ’ImmutableList’ to ’List’,
-’ImmutableMap’ to ’Map’, and
-’ImmutableSet’ to ’Set’.
+from ‘ImmutableList‘ to ‘List‘,
+‘ImmutableMap‘ to ‘Map‘, and
+‘ImmutableSet‘ to ‘Set‘.
(Conversely: --no-immutable-cast)
See also
@@ -1100,22 +1076,6 @@ inefficient-keyset-iterator and disable all other checkers
See also
infer-analyze(1).
---iphoneos-target-sdk-versionstring
-
-
Specify the target SDK version
-to use for iphoneos
-
-
See also
-infer-capture(1).
---iphoneos-target-sdk-version-path-regex
-+string
-
-
To pass a specific target SDK
-version to use for iphoneos in a particular path, with the
-format path:version (can be specified multiple times)
-
-
See also
-infer-capture(1).
--issues-testsfile
Write a list of issues in a
@@ -1261,7 +1221,7 @@ issue types that infer might report. (Conversely:
Activates: checker
litho-required-props: Checks that all non-optional
-’@Prop’s have been specified when constructing
+‘@Prop‘s have been specified when constructing
Litho components. (Conversely:
--no-litho-required-props)
@@ -1351,8 +1311,10 @@ unknown_origin }
Specify the memory leak buckets
to be checked in C++:
-
- cpp from C++ code
-See also infer-analyze(1).
+
- cpp from C++ code
+
+
See also
+infer-analyze(1).
--perf-profiler-data-filefile
DEPRECATED: Specify the file
@@ -1388,11 +1350,11 @@ infer-run(1).
--printf-args
Activates: checker printf-args:
-Detect mismatches between the Java ’printf’
+Detect mismatches between the Java ‘printf‘
format strings and the argument types For example, this
checker will warn about the type error in
-’printf("Hello %d",
-"world")’ (Conversely:
+‘printf("Hello %d",
+"world")‘ (Conversely:
--no-printf-args)
See also
@@ -1757,7 +1719,7 @@ omitted, prompt for input.
Deactivates: checker
self-in-block: An Objective-C-specific analysis to detect
-when a block captures ’self’. (Conversely:
+when a block captures ‘self‘. (Conversely:
--self-in-block)
See also
@@ -2019,7 +1981,7 @@ Infer directory to generate its website at
--Xbuck +string
Pass values as command-line
-arguments to invocations of ’buck build’.
+arguments to invocations of ‘buck build‘.
Only valid for --buck-clang.
See also
@@ -2027,7 +1989,7 @@ Only valid for --buck-clang.
--Xbuck-no-inline +string
Pass values as command-line
-arguments to invocations of ’buck build’,
+arguments to invocations of ‘buck build‘,
don't inline any args starting with '@'. Only valid for
--buck-clang.
@@ -2052,35 +2014,34 @@ developer directory, to use for Buck clang targets
Activates: Infer will use
xcpretty together with xcodebuild to analyze an iOS app.
xcpretty just needs to be in the path, infer command is
-still just ’infer -- <xcodebuild
-command>’. (Conversely:
+still just ‘infer -- <xcodebuild
+command>‘. (Conversely:
--no-xcpretty)
See also
infer-capture(1).
-
-
--
+
--
-
Stop argument processing, use remaining arguments as a
-build command
+
Stop argument
+processing, use remaining arguments as a build command
See also
infer-capture(1) and infer-run(1).
-
ENVIRONMENT
-
+
ENVIRONMENT
Extra arguments
@@ -2088,9 +2049,9 @@ may be passed to all infer commands using the
INFER_ARGS environment variable (see the
OPTIONS section). INFER_ARGS is expected to
contain a string of ^-separated options. For instance,
-calling ’INFER_ARGS=--debug^--print-logs infer’
-is equivalent to calling ’infer --debug
---print-logs’.
+calling ‘INFER_ARGS=--debug^--print-logs infer‘
+is equivalent to calling ‘infer --debug
+--print-logs‘.
INFERCONFIG:
@@ -2103,9 +2064,8 @@ commands will exit with an error code in some cases when
otherwise a simple warning would be emitted on stderr, for
instance if a deprecated form of an option is used.
-
FILES
-
+
FILES
@@ -2137,9 +2097,8 @@ then its parent, etc., stopping at the first
["@gen","/* no infer */"]
}
-
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ASTLanguage/ALVar/index.html b/website/static/odoc/next/infer/ASTLanguage/ALVar/index.html
index c8d1dc7e7..405d6d180 100644
--- a/website/static/odoc/next/infer/ASTLanguage/ALVar/index.html
+++ b/website/static/odoc/next/infer/ASTLanguage/ALVar/index.html
@@ -1,2 +1,2 @@
-ALVar (infer.ASTLanguage.ALVar)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ASTLanguage/CPredicates/index.html b/website/static/odoc/next/infer/ASTLanguage/CPredicates/index.html
index 640f1d46e..83ac26f17 100644
--- a/website/static/odoc/next/infer/ASTLanguage/CPredicates/index.html
+++ b/website/static/odoc/next/infer/ASTLanguage/CPredicates/index.html
@@ -2,4 +2,4 @@
CPredicates (infer.ASTLanguage.CPredicates)
is_init_integra_constant_expr an is true iff it is an initializer and an integral constant expression, or in C++11, whether the initializer is a constant expression.
Checks if the current node is an ObjCCategoryDecl or ObjCCategoryImplDecl node whose class inherits from a class whose name matches the provided REGEXP
Checks if the current node is a subnode of an ObjCInterfaceDecl or ObjCImplementationDecl node which inherits from a class whose name matches the provided REGEXP
Checks if the current node is a subnode of an ObjCCategoryDecl or ObjCCategoryImplDecl node whose class inherits from a class whose name matches the provided REGEXP
Checks if the current node is an ObjCMethodDecl node and is overriding a method in the superclass.
A method is said to override any method in the class base classes, its protocols, or its categories' protocols, that has the same selector and is of the same kind (class or instance). A method in an implementation is not considered as overriding the same method in the interface or its categories.
Checks if the current node is an ObjCMethodDecl node and is exposed in an interface.
A method is said to be exposed if it's overriding a method or it's declared in a matching interface. For example, a method defined in a class implementation is exposed if it's declared in the class interface or interface extension, but not if it's declared in a category on the class. If the current node is a subnode of an ObjCInterfaceDecl, ObjCCategoryDecl, or ObjCProtocolDecl, this predicate returns false.
declaration_ref_has_name an n is true iff node an is a DeclRefExpr with name containing string n. The optional parameter kind allow to distinguish between special kind of decl_ref_exprs like is_enum_constant.
True iff the current node is a CXXMethodDecl node and is overriding a method whose fully-qualified name (with class and namespace) matches the given regexp (if given, otherwise any overriding method satisfies).
Checks if the current node is an ObjCCategoryDecl or ObjCCategoryImplDecl node whose class inherits from a class whose name matches the provided REGEXP
Checks if the current node is a subnode of an ObjCInterfaceDecl or ObjCImplementationDecl node which inherits from a class whose name matches the provided REGEXP
Checks if the current node is a subnode of an ObjCCategoryDecl or ObjCCategoryImplDecl node whose class inherits from a class whose name matches the provided REGEXP
Checks if the current node is an ObjCMethodDecl node and is overriding a method in the superclass.
A method is said to override any method in the class base classes, its protocols, or its categories' protocols, that has the same selector and is of the same kind (class or instance). A method in an implementation is not considered as overriding the same method in the interface or its categories.
Checks if the current node is an ObjCMethodDecl node and is exposed in an interface.
A method is said to be exposed if it's overriding a method or it's declared in a matching interface. For example, a method defined in a class implementation is exposed if it's declared in the class interface or interface extension, but not if it's declared in a category on the class. If the current node is a subnode of an ObjCInterfaceDecl, ObjCCategoryDecl, or ObjCProtocolDecl, this predicate returns false.
declaration_ref_has_name an n is true iff node an is a DeclRefExpr with name containing string n. The optional parameter kind allow to distinguish between special kind of decl_ref_exprs like is_enum_constant.
True iff the current node is a CXXMethodDecl node and is overriding a method whose fully-qualified name (with class and namespace) matches the given regexp (if given, otherwise any overriding method satisfies).
true is a declaration has an Unavailable attribute
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ASTLanguage/ComponentKit/index.html b/website/static/odoc/next/infer/ASTLanguage/ComponentKit/index.html
index 2d8d130bf..49107d092 100644
--- a/website/static/odoc/next/infer/ASTLanguage/ComponentKit/index.html
+++ b/website/static/odoc/next/infer/ASTLanguage/ComponentKit/index.html
@@ -1,2 +1,2 @@
-ComponentKit (infer.ASTLanguage.ComponentKit)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ASTLanguage__ALUtils/index.html b/website/static/odoc/next/infer/ASTLanguage__ALUtils/index.html
index cd864d883..e0359a5ce 100644
--- a/website/static/odoc/next/infer/ASTLanguage__ALUtils/index.html
+++ b/website/static/odoc/next/infer/ASTLanguage__ALUtils/index.html
@@ -1,2 +1,2 @@
-ASTLanguage__ALUtils (infer.ASTLanguage__ALUtils)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ASTLanguage__ALVar/index.html b/website/static/odoc/next/infer/ASTLanguage__ALVar/index.html
index 7f0e68676..5565cdc52 100644
--- a/website/static/odoc/next/infer/ASTLanguage__ALVar/index.html
+++ b/website/static/odoc/next/infer/ASTLanguage__ALVar/index.html
@@ -1,2 +1,2 @@
-ASTLanguage__ALVar (infer.ASTLanguage__ALVar)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ASTLanguage__CPredicates/index.html b/website/static/odoc/next/infer/ASTLanguage__CPredicates/index.html
index 8da63d519..5036a34b2 100644
--- a/website/static/odoc/next/infer/ASTLanguage__CPredicates/index.html
+++ b/website/static/odoc/next/infer/ASTLanguage__CPredicates/index.html
@@ -2,4 +2,4 @@
ASTLanguage__CPredicates (infer.ASTLanguage__CPredicates)
is_init_integra_constant_expr an is true iff it is an initializer and an integral constant expression, or in C++11, whether the initializer is a constant expression.
Checks if the current node is an ObjCCategoryDecl or ObjCCategoryImplDecl node whose class inherits from a class whose name matches the provided REGEXP
Checks if the current node is a subnode of an ObjCInterfaceDecl or ObjCImplementationDecl node which inherits from a class whose name matches the provided REGEXP
Checks if the current node is a subnode of an ObjCCategoryDecl or ObjCCategoryImplDecl node whose class inherits from a class whose name matches the provided REGEXP
Checks if the current node is an ObjCMethodDecl node and is overriding a method in the superclass.
A method is said to override any method in the class base classes, its protocols, or its categories' protocols, that has the same selector and is of the same kind (class or instance). A method in an implementation is not considered as overriding the same method in the interface or its categories.
Checks if the current node is an ObjCMethodDecl node and is exposed in an interface.
A method is said to be exposed if it's overriding a method or it's declared in a matching interface. For example, a method defined in a class implementation is exposed if it's declared in the class interface or interface extension, but not if it's declared in a category on the class. If the current node is a subnode of an ObjCInterfaceDecl, ObjCCategoryDecl, or ObjCProtocolDecl, this predicate returns false.
declaration_ref_has_name an n is true iff node an is a DeclRefExpr with name containing string n. The optional parameter kind allow to distinguish between special kind of decl_ref_exprs like is_enum_constant.
True iff the current node is a CXXMethodDecl node and is overriding a method whose fully-qualified name (with class and namespace) matches the given regexp (if given, otherwise any overriding method satisfies).
Checks if the current node is an ObjCCategoryDecl or ObjCCategoryImplDecl node whose class inherits from a class whose name matches the provided REGEXP
Checks if the current node is a subnode of an ObjCInterfaceDecl or ObjCImplementationDecl node which inherits from a class whose name matches the provided REGEXP
Checks if the current node is a subnode of an ObjCCategoryDecl or ObjCCategoryImplDecl node whose class inherits from a class whose name matches the provided REGEXP
Checks if the current node is an ObjCMethodDecl node and is overriding a method in the superclass.
A method is said to override any method in the class base classes, its protocols, or its categories' protocols, that has the same selector and is of the same kind (class or instance). A method in an implementation is not considered as overriding the same method in the interface or its categories.
Checks if the current node is an ObjCMethodDecl node and is exposed in an interface.
A method is said to be exposed if it's overriding a method or it's declared in a matching interface. For example, a method defined in a class implementation is exposed if it's declared in the class interface or interface extension, but not if it's declared in a category on the class. If the current node is a subnode of an ObjCInterfaceDecl, ObjCCategoryDecl, or ObjCProtocolDecl, this predicate returns false.
declaration_ref_has_name an n is true iff node an is a DeclRefExpr with name containing string n. The optional parameter kind allow to distinguish between special kind of decl_ref_exprs like is_enum_constant.
True iff the current node is a CXXMethodDecl node and is overriding a method whose fully-qualified name (with class and namespace) matches the given regexp (if given, otherwise any overriding method satisfies).
true is a declaration has an Unavailable attribute
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ASTLanguage__ComponentKit/index.html b/website/static/odoc/next/infer/ASTLanguage__ComponentKit/index.html
index 0cb7d98f7..f42cda9c3 100644
--- a/website/static/odoc/next/infer/ASTLanguage__ComponentKit/index.html
+++ b/website/static/odoc/next/infer/ASTLanguage__ComponentKit/index.html
@@ -1,2 +1,2 @@
-ASTLanguage__ComponentKit (infer.ASTLanguage__ComponentKit)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/TopLiftedUtils/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/TopLiftedUtils/index.html
index 01a4ed428..1d36e4c02 100644
--- a/website/static/odoc/next/infer/Absint/AbstractDomain/TopLiftedUtils/index.html
+++ b/website/static/odoc/next/infer/Absint/AbstractDomain/TopLiftedUtils/index.html
@@ -1,2 +1,2 @@
-TopLiftedUtils (infer.Absint.AbstractDomain.TopLiftedUtils)
val pp : pp:(Stdlib.Format.formatter ->'a-> unit)-> Stdlib.Format.formatter ->'aTypes.top_lifted-> unit
val pp_top : Stdlib.Format.formatter -> unit
\ No newline at end of file
+TopLiftedUtils (infer.Absint.AbstractDomain.TopLiftedUtils)
Module AbstractDomain.TopLiftedUtils
val pp_top : Stdlib.Format.formatter -> unit
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint/Localise/index.html b/website/static/odoc/next/infer/Absint/Localise/index.html
index 840efcada..2fc86b295 100644
--- a/website/static/odoc/next/infer/Absint/Localise/index.html
+++ b/website/static/odoc/next/infer/Absint/Localise/index.html
@@ -1,2 +1,2 @@
-Localise (infer.Absint.Localise)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint__AbstractDomain/TopLiftedUtils/index.html b/website/static/odoc/next/infer/Absint__AbstractDomain/TopLiftedUtils/index.html
index 077f67b81..fa545bd01 100644
--- a/website/static/odoc/next/infer/Absint__AbstractDomain/TopLiftedUtils/index.html
+++ b/website/static/odoc/next/infer/Absint__AbstractDomain/TopLiftedUtils/index.html
@@ -1,2 +1,2 @@
-TopLiftedUtils (infer.Absint__AbstractDomain.TopLiftedUtils)
val pp : pp:(Stdlib.Format.formatter ->'a-> unit)-> Stdlib.Format.formatter ->'aTypes.top_lifted-> unit
val pp_top : Stdlib.Format.formatter -> unit
\ No newline at end of file
+TopLiftedUtils (infer.Absint__AbstractDomain.TopLiftedUtils)
Module Absint__AbstractDomain.TopLiftedUtils
val pp_top : Stdlib.Format.formatter -> unit
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint__Localise/index.html b/website/static/odoc/next/infer/Absint__Localise/index.html
index 97d7be230..7c7be0d53 100644
--- a/website/static/odoc/next/infer/Absint__Localise/index.html
+++ b/website/static/odoc/next/infer/Absint__Localise/index.html
@@ -1,2 +1,2 @@
-Absint__Localise (infer.Absint__Localise)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/AbsLoc/PowLoc/index.html b/website/static/odoc/next/infer/BO/AbsLoc/PowLoc/index.html
index d6152c86f..26f9f9d71 100644
--- a/website/static/odoc/next/infer/BO/AbsLoc/PowLoc/index.html
+++ b/website/static/odoc/next/infer/BO/AbsLoc/PowLoc/index.html
@@ -1,2 +1,2 @@
-PowLoc (infer.BO.AbsLoc.PowLoc)
val get_linked_list_next : lhs:t->rhs:t->Loc.t option
It checks whether rhs is of lhs.any_field, which is a heuristic for detecting a linked list, e.g. x = x.next(). It returns Some lhs if the condition is satisfied, None otherwise.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/BufferOverrunDomain/Val/Itv/index.html b/website/static/odoc/next/infer/BO/BufferOverrunDomain/Val/Itv/index.html
index ae6f2e1f2..b3be625ff 100644
--- a/website/static/odoc/next/infer/BO/BufferOverrunDomain/Val/Itv/index.html
+++ b/website/static/odoc/next/infer/BO/BufferOverrunDomain/Val/Itv/index.html
@@ -1,2 +1,2 @@
-Itv (infer.BO.BufferOverrunDomain.Val.Itv)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/BufferOverrunField/index.html b/website/static/odoc/next/infer/BO/BufferOverrunField/index.html
index aa8e45060..6bab7291f 100644
--- a/website/static/odoc/next/infer/BO/BufferOverrunField/index.html
+++ b/website/static/odoc/next/infer/BO/BufferOverrunField/index.html
@@ -1,2 +1,2 @@
-BufferOverrunField (infer.BO.BufferOverrunField)
Module BO.BufferOverrunField
Inferbo-specific constant field names
val pp : pp_lhs:(Stdlib.Format.formatter ->'a-> unit)->sep:string-> Stdlib.Format.formatter ->'a->IR.Fieldname.t-> unit
A parameterized pretty printer for field appended values
val mk_append_star_field : prim_append_star_field:('primt->IR.Fieldname.t->('primt->'primt)->'prim->'primt)->'primt->IR.Fieldname.t->'primt
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/Itv/index.html b/website/static/odoc/next/infer/BO/Itv/index.html
index 673b06c91..16234057e 100644
--- a/website/static/odoc/next/infer/BO/Itv/index.html
+++ b/website/static/odoc/next/infer/BO/Itv/index.html
@@ -1,2 +1,2 @@
-Itv (infer.BO.Itv)
Check if itv is path+1 when called is_incr_of path itv
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__AbsLoc/PowLoc/index.html b/website/static/odoc/next/infer/BO__AbsLoc/PowLoc/index.html
index a415450b0..ca07e0d85 100644
--- a/website/static/odoc/next/infer/BO__AbsLoc/PowLoc/index.html
+++ b/website/static/odoc/next/infer/BO__AbsLoc/PowLoc/index.html
@@ -1,2 +1,2 @@
-PowLoc (infer.BO__AbsLoc.PowLoc)
val get_linked_list_next : lhs:t->rhs:t->Loc.t option
It checks whether rhs is of lhs.any_field, which is a heuristic for detecting a linked list, e.g. x = x.next(). It returns Some lhs if the condition is satisfied, None otherwise.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__BufferOverrunDomain/Val/Itv/index.html b/website/static/odoc/next/infer/BO__BufferOverrunDomain/Val/Itv/index.html
index 18747b0cc..7e57511fd 100644
--- a/website/static/odoc/next/infer/BO__BufferOverrunDomain/Val/Itv/index.html
+++ b/website/static/odoc/next/infer/BO__BufferOverrunDomain/Val/Itv/index.html
@@ -1,2 +1,2 @@
-Itv (infer.BO__BufferOverrunDomain.Val.Itv)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__BufferOverrunField/index.html b/website/static/odoc/next/infer/BO__BufferOverrunField/index.html
index fb2407e4a..b526eb43d 100644
--- a/website/static/odoc/next/infer/BO__BufferOverrunField/index.html
+++ b/website/static/odoc/next/infer/BO__BufferOverrunField/index.html
@@ -1,2 +1,2 @@
-BO__BufferOverrunField (infer.BO__BufferOverrunField)
Module BO__BufferOverrunField
Inferbo-specific constant field names
val pp : pp_lhs:(Stdlib.Format.formatter ->'a-> unit)->sep:string-> Stdlib.Format.formatter ->'a->IR.Fieldname.t-> unit
A parameterized pretty printer for field appended values
val mk_append_star_field : prim_append_star_field:('primt->IR.Fieldname.t->('primt->'primt)->'prim->'primt)->'primt->IR.Fieldname.t->'primt
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__Itv/index.html b/website/static/odoc/next/infer/BO__Itv/index.html
index 43a581877..4de1f11aa 100644
--- a/website/static/odoc/next/infer/BO__Itv/index.html
+++ b/website/static/odoc/next/infer/BO__Itv/index.html
@@ -1,2 +1,2 @@
-BO__Itv (infer.BO__Itv)
Check if itv is path+1 when called is_incr_of path itv
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction/BuiltinDefn/index.html b/website/static/odoc/next/infer/Biabduction/BuiltinDefn/index.html
index ad8dd1c79..4b3724174 100644
--- a/website/static/odoc/next/infer/Biabduction/BuiltinDefn/index.html
+++ b/website/static/odoc/next/infer/Biabduction/BuiltinDefn/index.html
@@ -1,2 +1,2 @@
-BuiltinDefn (infer.Biabduction.BuiltinDefn)
Clients of Builtin module should call this before Builtin module is used. WARNING: builtins are not guaranteed to be registered with the Builtin module until after init has been called.
\ No newline at end of file
+BuiltinDefn (infer.Biabduction.BuiltinDefn)
Clients of Builtin module should call this before Builtin module is used. WARNING: builtins are not guaranteed to be registered with the Builtin module until after init has been called.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction/Errdesc/index.html b/website/static/odoc/next/infer/Biabduction/Errdesc/index.html
index b7dcfa6a6..ad5266f4b 100644
--- a/website/static/odoc/next/infer/Biabduction/Errdesc/index.html
+++ b/website/static/odoc/next/infer/Biabduction/Errdesc/index.html
@@ -1,2 +1,2 @@
-Errdesc (infer.Biabduction.Errdesc)
Produce 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.
Produce 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.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction/Exceptions/index.html b/website/static/odoc/next/infer/Biabduction/Exceptions/index.html
index c00c2b38f..6ad3ccdd3 100644
--- a/website/static/odoc/next/infer/Biabduction/Exceptions/index.html
+++ b/website/static/odoc/next/infer/Biabduction/Exceptions/index.html
@@ -1,2 +1,2 @@
-Exceptions (infer.Biabduction.Exceptions)
Module Biabduction.Exceptions
Biabduction uses exceptions to store issues in summaries
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction/Prover/index.html b/website/static/odoc/next/infer/Biabduction/Prover/index.html
index 751d2548c..f766e7831 100644
--- a/website/static/odoc/next/infer/Biabduction/Prover/index.html
+++ b/website/static/odoc/next/infer/Biabduction/Prover/index.html
@@ -1,2 +1,2 @@
-Prover (infer.Biabduction.Prover)
is_root prop base_exp exp checks whether base_exp = exp.offlist for some list of offsets offlist. If so, it returns Some(offlist). Otherwise, it returns None. Assumes that base_exp points to the beginning of a structure, not the middle.
expand_hpred_pointer calc_index_frame hpred expands hpred if it is a |-> whose lhs is a Lfield or Lindex or ptr+off. Return (changed, calc_index_frame', hpred') where changed indicates whether the predicate has changed.
check_implication_for_footprint p1 p2 returns Some(sub, frame, missing) if sub(p1 * missing) |- sub(p2 * frame) where sub is a substitution which instantiates the primed vars of p1 and p2, which are assumed to be disjoint.
Cover: minimum set of pi's whose disjunction is equivalent to true
is_root prop base_exp exp checks whether base_exp = exp.offlist for some list of offsets offlist. If so, it returns Some(offlist). Otherwise, it returns None. Assumes that base_exp points to the beginning of a structure, not the middle.
expand_hpred_pointer calc_index_frame hpred expands hpred if it is a |-> whose lhs is a Lfield or Lindex or ptr+off. Return (changed, calc_index_frame', hpred') where changed indicates whether the predicate has changed.
check_implication_for_footprint p1 p2 returns Some(sub, frame, missing) if sub(p1 * missing) |- sub(p2 * frame) where sub is a substitution which instantiates the primed vars of p1 and p2, which are assumed to be disjoint.
Cover: minimum set of pi's whose disjunction is equivalent to true
Find minimum set of pi's in cases whose disjunction covers true
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction/index.html b/website/static/odoc/next/infer/Biabduction/index.html
index 0933fe889..7e81fadb0 100644
--- a/website/static/odoc/next/infer/Biabduction/index.html
+++ b/website/static/odoc/next/infer/Biabduction/index.html
@@ -1,2 +1,2 @@
-Biabduction (infer.Biabduction)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction__BuiltinDefn/index.html b/website/static/odoc/next/infer/Biabduction__BuiltinDefn/index.html
index 6f9db4812..f9d88afcc 100644
--- a/website/static/odoc/next/infer/Biabduction__BuiltinDefn/index.html
+++ b/website/static/odoc/next/infer/Biabduction__BuiltinDefn/index.html
@@ -1,2 +1,2 @@
-Biabduction__BuiltinDefn (infer.Biabduction__BuiltinDefn)
Clients of Builtin module should call this before Builtin module is used. WARNING: builtins are not guaranteed to be registered with the Builtin module until after init has been called.
\ No newline at end of file
+Biabduction__BuiltinDefn (infer.Biabduction__BuiltinDefn)
Clients of Builtin module should call this before Builtin module is used. WARNING: builtins are not guaranteed to be registered with the Builtin module until after init has been called.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction__Errdesc/index.html b/website/static/odoc/next/infer/Biabduction__Errdesc/index.html
index 89c4d5563..5b4f4c022 100644
--- a/website/static/odoc/next/infer/Biabduction__Errdesc/index.html
+++ b/website/static/odoc/next/infer/Biabduction__Errdesc/index.html
@@ -1,2 +1,2 @@
-Biabduction__Errdesc (infer.Biabduction__Errdesc)
Produce 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.
Produce 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.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction__Exceptions/index.html b/website/static/odoc/next/infer/Biabduction__Exceptions/index.html
index f78751365..ba7d20e0b 100644
--- a/website/static/odoc/next/infer/Biabduction__Exceptions/index.html
+++ b/website/static/odoc/next/infer/Biabduction__Exceptions/index.html
@@ -1,2 +1,2 @@
-Biabduction__Exceptions (infer.Biabduction__Exceptions)
Module Biabduction__Exceptions
Biabduction uses exceptions to store issues in summaries
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction__Prover/index.html b/website/static/odoc/next/infer/Biabduction__Prover/index.html
index 5c79753c8..1091768a0 100644
--- a/website/static/odoc/next/infer/Biabduction__Prover/index.html
+++ b/website/static/odoc/next/infer/Biabduction__Prover/index.html
@@ -1,2 +1,2 @@
-Biabduction__Prover (infer.Biabduction__Prover)
is_root prop base_exp exp checks whether base_exp = exp.offlist for some list of offsets offlist. If so, it returns Some(offlist). Otherwise, it returns None. Assumes that base_exp points to the beginning of a structure, not the middle.
expand_hpred_pointer calc_index_frame hpred expands hpred if it is a |-> whose lhs is a Lfield or Lindex or ptr+off. Return (changed, calc_index_frame', hpred') where changed indicates whether the predicate has changed.
check_implication_for_footprint p1 p2 returns Some(sub, frame, missing) if sub(p1 * missing) |- sub(p2 * frame) where sub is a substitution which instantiates the primed vars of p1 and p2, which are assumed to be disjoint.
Cover: minimum set of pi's whose disjunction is equivalent to true
is_root prop base_exp exp checks whether base_exp = exp.offlist for some list of offsets offlist. If so, it returns Some(offlist). Otherwise, it returns None. Assumes that base_exp points to the beginning of a structure, not the middle.
expand_hpred_pointer calc_index_frame hpred expands hpred if it is a |-> whose lhs is a Lfield or Lindex or ptr+off. Return (changed, calc_index_frame', hpred') where changed indicates whether the predicate has changed.
check_implication_for_footprint p1 p2 returns Some(sub, frame, missing) if sub(p1 * missing) |- sub(p2 * frame) where sub is a substitution which instantiates the primed vars of p1 and p2, which are assumed to be disjoint.
Cover: minimum set of pi's whose disjunction is equivalent to true
Find minimum set of pi's in cases whose disjunction covers true
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Checkers/FbGKInteraction/ConfigName/index.html b/website/static/odoc/next/infer/Checkers/FbGKInteraction/ConfigName/index.html
new file mode 100644
index 000000000..59c303f14
--- /dev/null
+++ b/website/static/odoc/next/infer/Checkers/FbGKInteraction/ConfigName/index.html
@@ -0,0 +1,2 @@
+
+ConfigName (infer.Checkers.FbGKInteraction.ConfigName)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Checkers/FbGKInteraction/index.html b/website/static/odoc/next/infer/Checkers/FbGKInteraction/index.html
index f61cec687..ed1ebc371 100644
--- a/website/static/odoc/next/infer/Checkers/FbGKInteraction/index.html
+++ b/website/static/odoc/next/infer/Checkers/FbGKInteraction/index.html
@@ -1,2 +1,2 @@
-FbGKInteraction (infer.Checkers.FbGKInteraction)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Checkers__FbGKInteraction/ConfigName/index.html b/website/static/odoc/next/infer/Checkers__FbGKInteraction/ConfigName/index.html
new file mode 100644
index 000000000..2039dc042
--- /dev/null
+++ b/website/static/odoc/next/infer/Checkers__FbGKInteraction/ConfigName/index.html
@@ -0,0 +1,2 @@
+
+ConfigName (infer.Checkers__FbGKInteraction.ConfigName)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Checkers__FbGKInteraction/index.html b/website/static/odoc/next/infer/Checkers__FbGKInteraction/index.html
index f4fb1be51..4ba2e0bb9 100644
--- a/website/static/odoc/next/infer/Checkers__FbGKInteraction/index.html
+++ b/website/static/odoc/next/infer/Checkers__FbGKInteraction/index.html
@@ -1,2 +1,2 @@
-Checkers__FbGKInteraction (infer.Checkers__FbGKInteraction)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend/CAddImplicitGettersSetters/index.html b/website/static/odoc/next/infer/ClangFrontend/CAddImplicitGettersSetters/index.html
new file mode 100644
index 000000000..cbdbf89aa
--- /dev/null
+++ b/website/static/odoc/next/infer/ClangFrontend/CAddImplicitGettersSetters/index.html
@@ -0,0 +1,2 @@
+
+CAddImplicitGettersSetters (infer.ClangFrontend.CAddImplicitGettersSetters)
In Objective-C when properties are created in the interface of a class, the compiler creates automatically the instance variable for it and also the getter and setter in the implementation of the class. In the frontend we collect the information about which method is the implicit getter and setter of which instance variable (we get the method declaration but not the implementation), and here we add the implicit implementation.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend/CAst_utils/index.html b/website/static/odoc/next/infer/ClangFrontend/CAst_utils/index.html
index 5f4a17e6d..04f70d8e1 100644
--- a/website/static/odoc/next/infer/ClangFrontend/CAst_utils/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend/CAst_utils/index.html
@@ -1,2 +1,2 @@
-CAst_utils (infer.ClangFrontend.CAst_utils)
Recursively go up the inheritance hierarchy of a given ObjCInterfaceDecl. Returns true if the passed in decl is an objc interface decl that's an eventual descendant of one of the classes passed in. Ancestors param is a list of strings that represent the class names. Will short-circuit on NSObject and NSProxy since those are known to be common base classes. The list of classes to short-circuit on can be overridden via specifying the named `blacklist` argument.
Recursively go up the inheritance hierarchy of a given ObjCInterfaceDecl. Returns true if the passed in decl is an objc interface decl that's an eventual descendant of one of the classes passed in. Ancestors param is a list of strings that represent the class names. Will short-circuit on NSObject and NSProxy since those are known to be common base classes. The list of classes to short-circuit on can be overridden via specifying the named `blacklist` argument.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend/index.html b/website/static/odoc/next/infer/ClangFrontend/index.html
index d03f429cf..9226b41a0 100644
--- a/website/static/odoc/next/infer/ClangFrontend/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend/index.html
@@ -1,2 +1,2 @@
-ClangFrontend (infer.ClangFrontend)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Biabduction__Objc_models/.dune-keep b/website/static/odoc/next/infer/ClangFrontend__CAddImplicitGettersSetters/.dune-keep
similarity index 100%
rename from website/static/odoc/next/infer/Biabduction__Objc_models/.dune-keep
rename to website/static/odoc/next/infer/ClangFrontend__CAddImplicitGettersSetters/.dune-keep
diff --git a/website/static/odoc/next/infer/ClangFrontend__CAddImplicitGettersSetters/index.html b/website/static/odoc/next/infer/ClangFrontend__CAddImplicitGettersSetters/index.html
new file mode 100644
index 000000000..5c8c9a172
--- /dev/null
+++ b/website/static/odoc/next/infer/ClangFrontend__CAddImplicitGettersSetters/index.html
@@ -0,0 +1,2 @@
+
+ClangFrontend__CAddImplicitGettersSetters (infer.ClangFrontend__CAddImplicitGettersSetters)
In Objective-C when properties are created in the interface of a class, the compiler creates automatically the instance variable for it and also the getter and setter in the implementation of the class. In the frontend we collect the information about which method is the implicit getter and setter of which instance variable (we get the method declaration but not the implementation), and here we add the implicit implementation.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend__CAst_utils/index.html b/website/static/odoc/next/infer/ClangFrontend__CAst_utils/index.html
index 55fd0de1e..fac601daf 100644
--- a/website/static/odoc/next/infer/ClangFrontend__CAst_utils/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend__CAst_utils/index.html
@@ -1,2 +1,2 @@
-ClangFrontend__CAst_utils (infer.ClangFrontend__CAst_utils)
Recursively go up the inheritance hierarchy of a given ObjCInterfaceDecl. Returns true if the passed in decl is an objc interface decl that's an eventual descendant of one of the classes passed in. Ancestors param is a list of strings that represent the class names. Will short-circuit on NSObject and NSProxy since those are known to be common base classes. The list of classes to short-circuit on can be overridden via specifying the named `blacklist` argument.
Recursively go up the inheritance hierarchy of a given ObjCInterfaceDecl. Returns true if the passed in decl is an objc interface decl that's an eventual descendant of one of the classes passed in. Ancestors param is a list of strings that represent the class names. Will short-circuit on NSObject and NSProxy since those are known to be common base classes. The list of classes to short-circuit on can be overridden via specifying the named `blacklist` argument.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/Cost/index.html b/website/static/odoc/next/infer/Costlib/Cost/index.html
index 68d1eb741..b72b006d6 100644
--- a/website/static/odoc/next/infer/Costlib/Cost/index.html
+++ b/website/static/odoc/next/infer/Costlib/Cost/index.html
@@ -1,2 +1,2 @@
-Cost (infer.Costlib.Cost)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostDomain/BasicCostWithReason/index.html b/website/static/odoc/next/infer/Costlib/CostDomain/BasicCostWithReason/index.html
new file mode 100644
index 000000000..12131f0e7
--- /dev/null
+++ b/website/static/odoc/next/infer/Costlib/CostDomain/BasicCostWithReason/index.html
@@ -0,0 +1,2 @@
+
+BasicCostWithReason (infer.Costlib.CostDomain.BasicCostWithReason)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostDomain/VariantCostMap/index.html b/website/static/odoc/next/infer/Costlib/CostDomain/VariantCostMap/index.html
index 23f939c98..3bf6ef166 100644
--- a/website/static/odoc/next/infer/Costlib/CostDomain/VariantCostMap/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostDomain/VariantCostMap/index.html
@@ -1,2 +1,2 @@
-VariantCostMap (infer.Costlib.CostDomain.VariantCostMap)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostDomain/index.html b/website/static/odoc/next/infer/Costlib/CostDomain/index.html
index 96a75c359..b2b92c256 100644
--- a/website/static/odoc/next/infer/Costlib/CostDomain/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostDomain/index.html
@@ -1,2 +1,2 @@
-CostDomain (infer.Costlib.CostDomain)
Map representing cost record {OperationCost:operation_cost; AllocationCost:0; IOCost:0}
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__Cost/index.html b/website/static/odoc/next/infer/Costlib__Cost/index.html
index 00b3b01ab..6441543ae 100644
--- a/website/static/odoc/next/infer/Costlib__Cost/index.html
+++ b/website/static/odoc/next/infer/Costlib__Cost/index.html
@@ -1,2 +1,2 @@
-Costlib__Cost (infer.Costlib__Cost)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostDomain/BasicCostWithReason/index.html b/website/static/odoc/next/infer/Costlib__CostDomain/BasicCostWithReason/index.html
new file mode 100644
index 000000000..2dfd907ad
--- /dev/null
+++ b/website/static/odoc/next/infer/Costlib__CostDomain/BasicCostWithReason/index.html
@@ -0,0 +1,2 @@
+
+BasicCostWithReason (infer.Costlib__CostDomain.BasicCostWithReason)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostDomain/VariantCostMap/index.html b/website/static/odoc/next/infer/Costlib__CostDomain/VariantCostMap/index.html
index a9f47a469..b9b829728 100644
--- a/website/static/odoc/next/infer/Costlib__CostDomain/VariantCostMap/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostDomain/VariantCostMap/index.html
@@ -1,2 +1,2 @@
-VariantCostMap (infer.Costlib__CostDomain.VariantCostMap)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostDomain/index.html b/website/static/odoc/next/infer/Costlib__CostDomain/index.html
index 461ce1a25..153874f7f 100644
--- a/website/static/odoc/next/infer/Costlib__CostDomain/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostDomain/index.html
@@ -1,2 +1,2 @@
-Costlib__CostDomain (infer.Costlib__CostDomain)
Map representing cost record {OperationCost:operation_cost; AllocationCost:0; IOCost:0}
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase/Config/index.html b/website/static/odoc/next/infer/IBase/Config/index.html
index 2b556038c..beaf28101 100644
--- a/website/static/odoc/next/infer/IBase/Config/index.html
+++ b/website/static/odoc/next/infer/IBase/Config/index.html
@@ -1,2 +1,2 @@
-Config (infer.IBase.Config)
val scuba_normals : string IStdlib.IStd.String.Map.t
val scuba_tags : string listIStdlib.IStd.String.Map.t
val seconds_per_iteration : float option
val select : int option
val show_buckets : bool
val siof_check_iostreams : bool
val siof_safe_methods : string list
val skip_analysis_in_path : string list
val skip_analysis_in_path_skips_compilation : bool
val skip_duplicated_types : bool
val skip_translation_headers : string list
val sledge_timers : bool
val source_files : bool
val source_files_cfg : bool
val source_files_filter : string option
val source_files_freshly_captured : bool
val source_files_procedure_names : bool
val source_files_type_environment : bool
val source_preview : bool
val sqlite_cache_size : int
val sqlite_page_size : int
val sqlite_lock_timeout : int
val sqlite_vfs : string option
val sqlite_write_daemon : bool
val starvation_skip_analysis : Yojson.Basic.t
val starvation_strict_mode : bool
val starvation_whole_program : bool
val subtype_multirange : bool
val summaries_caches_max_size : int
val symops_per_iteration : int option
val test_determinator : bool
val export_changed_functions : bool
val test_filtering : bool
val testing_mode : bool
val threadsafe_aliases : Yojson.Basic.t
val topl_properties : string list
val trace_error : bool
val trace_events : bool
val trace_join : bool
val trace_ondemand : bool
val trace_rearrange : bool
val trace_topl : bool
val tv_commit : string option
val tv_limit : int
val tv_limit_filtered : int
val type_size : bool
val uninit_interproc : bool
val unsafe_malloc : bool
val worklist_mode : int
val write_dotty : bool
val write_html : bool
val write_html_whitelist_regex : string list
val write_website : string option
val xcode_developer_dir : string option
val xcpretty : bool
Configuration values derived from command-line options
val dynamic_dispatch : bool
val toplevel_results_dir : string
In 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 -> bool
Does named symbol match any prefix in the named custom symbol list?
val java_package_is_external : string -> bool
Check if a Java package is external to the repository
val scuba_normals : string IStdlib.IStd.String.Map.t
val scuba_tags : string listIStdlib.IStd.String.Map.t
val seconds_per_iteration : float option
val select : int option
val show_buckets : bool
val siof_check_iostreams : bool
val siof_safe_methods : string list
val skip_analysis_in_path : string list
val skip_analysis_in_path_skips_compilation : bool
val skip_duplicated_types : bool
val skip_translation_headers : string list
val sledge_timers : bool
val source_files : bool
val source_files_cfg : bool
val source_files_filter : string option
val source_files_freshly_captured : bool
val source_files_procedure_names : bool
val source_files_type_environment : bool
val source_preview : bool
val sqlite_cache_size : int
val sqlite_page_size : int
val sqlite_lock_timeout : int
val sqlite_vfs : string option
val sqlite_write_daemon : bool
val starvation_skip_analysis : Yojson.Basic.t
val starvation_strict_mode : bool
val starvation_whole_program : bool
val subtype_multirange : bool
val summaries_caches_max_size : int
val symops_per_iteration : int option
val test_determinator : bool
val export_changed_functions : bool
val test_filtering : bool
val testing_mode : bool
val threadsafe_aliases : Yojson.Basic.t
val topl_properties : string list
val trace_error : bool
val trace_events : bool
val trace_join : bool
val trace_ondemand : bool
val trace_rearrange : bool
val trace_topl : bool
val tv_commit : string option
val tv_limit : int
val tv_limit_filtered : int
val type_size : bool
val uninit_interproc : bool
val unsafe_malloc : bool
val worklist_mode : int
val write_dotty : bool
val write_html : bool
val write_html_whitelist_regex : string list
val write_website : string option
val xcode_developer_dir : string option
val xcpretty : bool
Configuration values derived from command-line options
val dynamic_dispatch : bool
val toplevel_results_dir : string
In 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 -> bool
Does named symbol match any prefix in the named custom symbol list?
val java_package_is_external : string -> bool
Check if a Java package is external to the repository
Global variables with initial values specified by command-line options
val clang_compilation_dbs : [ `Escaped of string| `Raw of string ] listIStdlib.IStd.ref
Command Line Interface Documentation
val print_usage_exit : unit ->'a
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase/IssueType/index.html b/website/static/odoc/next/infer/IBase/IssueType/index.html
index ca9a31a9c..c8eb3c6e2 100644
--- a/website/static/odoc/next/infer/IBase/IssueType/index.html
+++ b/website/static/odoc/next/infer/IBase/IssueType/index.html
@@ -1,2 +1,2 @@
-IssueType (infer.IBase.IssueType)
return the issue type if it was previously registered
val register_dynamic : ?enabled:bool->?hum:string->?doc_url:string->linters_def_file:string option->id:string->?user_documentation:string->severity->Checker.t->t
Create 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.
return the issue type if it was previously registered
val register_dynamic : ?enabled:bool->?hum:string->?doc_url:string->linters_def_file:string option->id:string->?user_documentation:string->severity->Checker.t->t
Create 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.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase/SourceFile/index.html b/website/static/odoc/next/infer/IBase/SourceFile/index.html
index 82e05d714..6a115ae58 100644
--- a/website/static/odoc/next/infer/IBase/SourceFile/index.html
+++ b/website/static/odoc/next/infer/IBase/SourceFile/index.html
@@ -1,2 +1,2 @@
-SourceFile (infer.IBase.SourceFile)
val changed_sources_from_changed_files : string list->Set.t
Set of files read from --changed-files-index file, None if option not specified NOTE: it may include extra source_files if --changed-files-index contains paths to header files
val from_abs_path : ?warn_on_error:bool-> string ->t
create source file from absolute path. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
Return approximate source file corresponding to the parameter if it's header file and file exists. returns None otherwise. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given SourceFile (e.g. if it does not exist).
val changed_sources_from_changed_files : string list->Set.t
Set of files read from --changed-files-index file, None if option not specified NOTE: it may include extra source_files if --changed-files-index contains paths to header files
val from_abs_path : ?warn_on_error:bool-> string ->t
create source file from absolute path. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
Return approximate source file corresponding to the parameter if it's header file and file exists. returns None otherwise. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given SourceFile (e.g. if it does not exist).
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase/Utils/index.html b/website/static/odoc/next/infer/IBase/Utils/index.html
index d82b54212..d7bdb1b60 100644
--- a/website/static/odoc/next/infer/IBase/Utils/index.html
+++ b/website/static/odoc/next/infer/IBase/Utils/index.html
@@ -1,2 +1,2 @@
-Utils (infer.IBase.Utils)
Module IBase.Utils
val find_files : path:string->extension:string->string list
recursively traverse a path for files ending with a given extension
val fold_folders : init:'acc->f:('acc-> string ->'acc)->path:string->'acc
recursively traverse a path for folders, returning resuls by a given fold function
val string_crc_hex32 : string -> string
Compute a 32-character hexadecimal crc using the Digest module
val read_file : string ->(string list, string)IStdlib.IStd.Result.t
read a source file and return a list of lines
val filename_to_absolute : root:string-> string -> string
Convert a filename to an absolute one if it is relative, and normalize "." and ".."
val filename_to_relative : ?force_full_backtrack:bool->?backtrack:int->root:string-> string ->string option
Convert an absolute filename to one relative to a root directory. Returns None if filename is not under root. The backtrack level sets the maximum level of steps in the parent directories to search for a common prefix
create an out channel with creating missing directories
val realpath : ?warn_on_error:bool-> string -> string
realpath warn_on_error path returns path with all symbolic links resolved. It caches results of previous calls to avoid expensive system calls. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
val suppress_stderr2 : ('a->'b->'c)->'a->'b->'c
wraps a function expecting 2 arguments in another that temporarily redirects stderr to /dev/null for the duration of the function call
val compare_versions : string -> string -> int
compare_versions v1 v2 returns 1 if v1 is newer than v2, -1 if v1 is older than v2 and 0 if they are the same version. The versions are strings of the shape "n.m.t", the order is lexicographic.
val rmtree : string -> unit
rmtree path removes path and, if path is a directory, recursively removes its contents
val try_finally_swallow_timeout : f:(unit ->'a)->finally:(unit -> unit)->'a
Calls f then finally even if f raised an exception. The original exception is reraised afterwards. Where possible use SymOp.try_finally to avoid swallowing timeouts.
Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.
val unlink_file_on_exit : string -> unit
delete temporary file on exit
val strip_balanced_once : drop:(char -> bool)-> string -> string
drop at most one layer of well-balanced first and last characters satisfying drop from the string; for instance, strip_balanced ~drop:(function | 'a' | 'x' -> true | _ -> false) "xaabax" returns "aaba"
val assoc_of_yojson : Yojson.Basic.t ->src:string->(string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t
Verify we have a json object (or empty list) and return the corresponding assoc list. Otherwise die with a message including src.
val string_of_yojson : Yojson.Basic.t ->src:string-> string
Verify we have a json string and return the corresponding ocaml string. Otherwise die with a message including src.
val string_list_of_yojson : Yojson.Basic.t ->src:string->string list
Verify we have a json list of strings and return the corresponding ocaml string list. Otherwise die with a message including src.
val yojson_lookup : (string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t-> string ->src:string->f:(Yojson.Basic.t ->src:string->'a)->default:'a->'a
Lookup a json value on an assoc list. If not present, returns default. Otherwise returns (f json_value ~src) where src has element name appended. f is typically one of the above _of_yojson functions.
val timeit : f:(unit ->'a)->'a * int
Returns the execution time of f in milliseconds together with its result
val do_in_dir : dir:string->f:(unit ->'a)->'a
executes f after cding into dir and then restores original cwd
val get_available_memory_MB : unit ->int option
On Linux systems, return Some x where MemAvailable x is in /proc/meminfo. Returns None in all other cases.
val iter_infer_deps : project_root:string->f:(string -> unit)-> string -> unit
Parse each line of the given infer_deps.txt file (split on tabs, assume 3 elements per line) and run f on the third element. project_root is an argument to avoid dependency cycles.
val numcores : int
On Linux return the number of physical cores (sockets * cores per socket).
On Darwin and Windows returns half of the number of CPUs since most processors have 2 hardware threads per core.
val set_best_cpu_for : int -> unit
Pins processes to CPUs aiming to saturate physical cores evenly
val zip_fold_filenames : init:'a->f:('a-> string ->'a)->zip_filename:string->'a
fold over each filename in the given zip_filename.
\ No newline at end of file
+Utils (infer.IBase.Utils)
Module IBase.Utils
val find_files : path:string->extension:string->string list
recursively traverse a path for files ending with a given extension
val fold_folders : init:'acc->f:('acc-> string ->'acc)->path:string->'acc
recursively traverse a path for folders, returning resuls by a given fold function
val string_crc_hex32 : string -> string
Compute a 32-character hexadecimal crc using the Digest module
val read_file : string ->(string list, string)IStdlib.IStd.Result.t
read a source file and return a list of lines
val filename_to_absolute : root:string-> string -> string
Convert a filename to an absolute one if it is relative, and normalize "." and ".."
val filename_to_relative : ?force_full_backtrack:bool->?backtrack:int->root:string-> string ->string option
Convert an absolute filename to one relative to a root directory. Returns None if filename is not under root. The backtrack level sets the maximum level of steps in the parent directories to search for a common prefix
create an out channel with creating missing directories
val realpath : ?warn_on_error:bool-> string -> string
realpath warn_on_error path returns path with all symbolic links resolved. It caches results of previous calls to avoid expensive system calls. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
val suppress_stderr2 : ('a->'b->'c)->'a->'b->'c
wraps a function expecting 2 arguments in another that temporarily redirects stderr to /dev/null for the duration of the function call
val rmtree : string -> unit
rmtree path removes path and, if path is a directory, recursively removes its contents
val try_finally_swallow_timeout : f:(unit ->'a)->finally:(unit -> unit)->'a
Calls f then finally even if f raised an exception. The original exception is reraised afterwards. Where possible use SymOp.try_finally to avoid swallowing timeouts.
Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.
val unlink_file_on_exit : string -> unit
delete temporary file on exit
val strip_balanced_once : drop:(char -> bool)-> string -> string
drop at most one layer of well-balanced first and last characters satisfying drop from the string; for instance, strip_balanced ~drop:(function | 'a' | 'x' -> true | _ -> false) "xaabax" returns "aaba"
val assoc_of_yojson : Yojson.Basic.t ->src:string->(string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t
Verify we have a json object (or empty list) and return the corresponding assoc list. Otherwise die with a message including src.
val string_of_yojson : Yojson.Basic.t ->src:string-> string
Verify we have a json string and return the corresponding ocaml string. Otherwise die with a message including src.
val string_list_of_yojson : Yojson.Basic.t ->src:string->string list
Verify we have a json list of strings and return the corresponding ocaml string list. Otherwise die with a message including src.
val yojson_lookup : (string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t-> string ->src:string->f:(Yojson.Basic.t ->src:string->'a)->default:'a->'a
Lookup a json value on an assoc list. If not present, returns default. Otherwise returns (f json_value ~src) where src has element name appended. f is typically one of the above _of_yojson functions.
val timeit : f:(unit ->'a)->'a * int
Returns the execution time of f in milliseconds together with its result
val do_in_dir : dir:string->f:(unit ->'a)->'a
executes f after cding into dir and then restores original cwd
val get_available_memory_MB : unit ->int option
On Linux systems, return Some x where MemAvailable x is in /proc/meminfo. Returns None in all other cases.
val iter_infer_deps : project_root:string->f:(string -> unit)-> string -> unit
Parse each line of the given infer_deps.txt file (split on tabs, assume 3 elements per line) and run f on the third element. project_root is an argument to avoid dependency cycles.
val numcores : int
On Linux return the number of physical cores (sockets * cores per socket).
On Darwin and Windows returns half of the number of CPUs since most processors have 2 hardware threads per core.
val set_best_cpu_for : int -> unit
Pins processes to CPUs aiming to saturate physical cores evenly
val zip_fold_filenames : init:'a->f:('a-> string ->'a)->zip_filename:string->'a
fold over each filename in the given zip_filename.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase__Config/index.html b/website/static/odoc/next/infer/IBase__Config/index.html
index 018641785..4382dd18f 100644
--- a/website/static/odoc/next/infer/IBase__Config/index.html
+++ b/website/static/odoc/next/infer/IBase__Config/index.html
@@ -1,2 +1,2 @@
-IBase__Config (infer.IBase__Config)
val scuba_normals : string IStdlib.IStd.String.Map.t
val scuba_tags : string listIStdlib.IStd.String.Map.t
val seconds_per_iteration : float option
val select : int option
val show_buckets : bool
val siof_check_iostreams : bool
val siof_safe_methods : string list
val skip_analysis_in_path : string list
val skip_analysis_in_path_skips_compilation : bool
val skip_duplicated_types : bool
val skip_translation_headers : string list
val sledge_timers : bool
val source_files : bool
val source_files_cfg : bool
val source_files_filter : string option
val source_files_freshly_captured : bool
val source_files_procedure_names : bool
val source_files_type_environment : bool
val source_preview : bool
val sqlite_cache_size : int
val sqlite_page_size : int
val sqlite_lock_timeout : int
val sqlite_vfs : string option
val sqlite_write_daemon : bool
val starvation_skip_analysis : Yojson.Basic.t
val starvation_strict_mode : bool
val starvation_whole_program : bool
val subtype_multirange : bool
val summaries_caches_max_size : int
val symops_per_iteration : int option
val test_determinator : bool
val export_changed_functions : bool
val test_filtering : bool
val testing_mode : bool
val threadsafe_aliases : Yojson.Basic.t
val topl_properties : string list
val trace_error : bool
val trace_events : bool
val trace_join : bool
val trace_ondemand : bool
val trace_rearrange : bool
val trace_topl : bool
val tv_commit : string option
val tv_limit : int
val tv_limit_filtered : int
val type_size : bool
val uninit_interproc : bool
val unsafe_malloc : bool
val worklist_mode : int
val write_dotty : bool
val write_html : bool
val write_html_whitelist_regex : string list
val write_website : string option
val xcode_developer_dir : string option
val xcpretty : bool
Configuration values derived from command-line options
val dynamic_dispatch : bool
val toplevel_results_dir : string
In 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 -> bool
Does named symbol match any prefix in the named custom symbol list?
val java_package_is_external : string -> bool
Check if a Java package is external to the repository
val scuba_normals : string IStdlib.IStd.String.Map.t
val scuba_tags : string listIStdlib.IStd.String.Map.t
val seconds_per_iteration : float option
val select : int option
val show_buckets : bool
val siof_check_iostreams : bool
val siof_safe_methods : string list
val skip_analysis_in_path : string list
val skip_analysis_in_path_skips_compilation : bool
val skip_duplicated_types : bool
val skip_translation_headers : string list
val sledge_timers : bool
val source_files : bool
val source_files_cfg : bool
val source_files_filter : string option
val source_files_freshly_captured : bool
val source_files_procedure_names : bool
val source_files_type_environment : bool
val source_preview : bool
val sqlite_cache_size : int
val sqlite_page_size : int
val sqlite_lock_timeout : int
val sqlite_vfs : string option
val sqlite_write_daemon : bool
val starvation_skip_analysis : Yojson.Basic.t
val starvation_strict_mode : bool
val starvation_whole_program : bool
val subtype_multirange : bool
val summaries_caches_max_size : int
val symops_per_iteration : int option
val test_determinator : bool
val export_changed_functions : bool
val test_filtering : bool
val testing_mode : bool
val threadsafe_aliases : Yojson.Basic.t
val topl_properties : string list
val trace_error : bool
val trace_events : bool
val trace_join : bool
val trace_ondemand : bool
val trace_rearrange : bool
val trace_topl : bool
val tv_commit : string option
val tv_limit : int
val tv_limit_filtered : int
val type_size : bool
val uninit_interproc : bool
val unsafe_malloc : bool
val worklist_mode : int
val write_dotty : bool
val write_html : bool
val write_html_whitelist_regex : string list
val write_website : string option
val xcode_developer_dir : string option
val xcpretty : bool
Configuration values derived from command-line options
val dynamic_dispatch : bool
val toplevel_results_dir : string
In 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 -> bool
Does named symbol match any prefix in the named custom symbol list?
val java_package_is_external : string -> bool
Check if a Java package is external to the repository
Global variables with initial values specified by command-line options
val clang_compilation_dbs : [ `Escaped of string| `Raw of string ] listIStdlib.IStd.ref
Command Line Interface Documentation
val print_usage_exit : unit ->'a
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase__IssueType/index.html b/website/static/odoc/next/infer/IBase__IssueType/index.html
index 9aa115f79..2f8d053ae 100644
--- a/website/static/odoc/next/infer/IBase__IssueType/index.html
+++ b/website/static/odoc/next/infer/IBase__IssueType/index.html
@@ -1,2 +1,2 @@
-IBase__IssueType (infer.IBase__IssueType)
return the issue type if it was previously registered
val register_dynamic : ?enabled:bool->?hum:string->?doc_url:string->linters_def_file:string option->id:string->?user_documentation:string->severity->IBase.Checker.t->t
Create 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.
return the issue type if it was previously registered
val register_dynamic : ?enabled:bool->?hum:string->?doc_url:string->linters_def_file:string option->id:string->?user_documentation:string->severity->IBase.Checker.t->t
Create 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.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase__SourceFile/index.html b/website/static/odoc/next/infer/IBase__SourceFile/index.html
index 0291800a9..8ff219381 100644
--- a/website/static/odoc/next/infer/IBase__SourceFile/index.html
+++ b/website/static/odoc/next/infer/IBase__SourceFile/index.html
@@ -1,2 +1,2 @@
-IBase__SourceFile (infer.IBase__SourceFile)
val changed_sources_from_changed_files : string list->Set.t
Set of files read from --changed-files-index file, None if option not specified NOTE: it may include extra source_files if --changed-files-index contains paths to header files
val from_abs_path : ?warn_on_error:bool-> string ->t
create source file from absolute path. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
Return approximate source file corresponding to the parameter if it's header file and file exists. returns None otherwise. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given SourceFile (e.g. if it does not exist).
val changed_sources_from_changed_files : string list->Set.t
Set of files read from --changed-files-index file, None if option not specified NOTE: it may include extra source_files if --changed-files-index contains paths to header files
val from_abs_path : ?warn_on_error:bool-> string ->t
create source file from absolute path. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
Return approximate source file corresponding to the parameter if it's header file and file exists. returns None otherwise. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given SourceFile (e.g. if it does not exist).
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase__Utils/index.html b/website/static/odoc/next/infer/IBase__Utils/index.html
index 67eefd429..346252c75 100644
--- a/website/static/odoc/next/infer/IBase__Utils/index.html
+++ b/website/static/odoc/next/infer/IBase__Utils/index.html
@@ -1,2 +1,2 @@
-IBase__Utils (infer.IBase__Utils)
Module IBase__Utils
val find_files : path:string->extension:string->string list
recursively traverse a path for files ending with a given extension
val fold_folders : init:'acc->f:('acc-> string ->'acc)->path:string->'acc
recursively traverse a path for folders, returning resuls by a given fold function
val string_crc_hex32 : string -> string
Compute a 32-character hexadecimal crc using the Digest module
val read_file : string ->(string list, string)IStdlib.IStd.Result.t
read a source file and return a list of lines
val filename_to_absolute : root:string-> string -> string
Convert a filename to an absolute one if it is relative, and normalize "." and ".."
val filename_to_relative : ?force_full_backtrack:bool->?backtrack:int->root:string-> string ->string option
Convert an absolute filename to one relative to a root directory. Returns None if filename is not under root. The backtrack level sets the maximum level of steps in the parent directories to search for a common prefix
create an out channel with creating missing directories
val realpath : ?warn_on_error:bool-> string -> string
realpath warn_on_error path returns path with all symbolic links resolved. It caches results of previous calls to avoid expensive system calls. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
val suppress_stderr2 : ('a->'b->'c)->'a->'b->'c
wraps a function expecting 2 arguments in another that temporarily redirects stderr to /dev/null for the duration of the function call
val compare_versions : string -> string -> int
compare_versions v1 v2 returns 1 if v1 is newer than v2, -1 if v1 is older than v2 and 0 if they are the same version. The versions are strings of the shape "n.m.t", the order is lexicographic.
val rmtree : string -> unit
rmtree path removes path and, if path is a directory, recursively removes its contents
val try_finally_swallow_timeout : f:(unit ->'a)->finally:(unit -> unit)->'a
Calls f then finally even if f raised an exception. The original exception is reraised afterwards. Where possible use SymOp.try_finally to avoid swallowing timeouts.
Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.
val unlink_file_on_exit : string -> unit
delete temporary file on exit
val strip_balanced_once : drop:(char -> bool)-> string -> string
drop at most one layer of well-balanced first and last characters satisfying drop from the string; for instance, strip_balanced ~drop:(function | 'a' | 'x' -> true | _ -> false) "xaabax" returns "aaba"
val assoc_of_yojson : Yojson.Basic.t ->src:string->(string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t
Verify we have a json object (or empty list) and return the corresponding assoc list. Otherwise die with a message including src.
val string_of_yojson : Yojson.Basic.t ->src:string-> string
Verify we have a json string and return the corresponding ocaml string. Otherwise die with a message including src.
val string_list_of_yojson : Yojson.Basic.t ->src:string->string list
Verify we have a json list of strings and return the corresponding ocaml string list. Otherwise die with a message including src.
val yojson_lookup : (string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t-> string ->src:string->f:(Yojson.Basic.t ->src:string->'a)->default:'a->'a
Lookup a json value on an assoc list. If not present, returns default. Otherwise returns (f json_value ~src) where src has element name appended. f is typically one of the above _of_yojson functions.
val timeit : f:(unit ->'a)->'a * int
Returns the execution time of f in milliseconds together with its result
val do_in_dir : dir:string->f:(unit ->'a)->'a
executes f after cding into dir and then restores original cwd
val get_available_memory_MB : unit ->int option
On Linux systems, return Some x where MemAvailable x is in /proc/meminfo. Returns None in all other cases.
val iter_infer_deps : project_root:string->f:(string -> unit)-> string -> unit
Parse each line of the given infer_deps.txt file (split on tabs, assume 3 elements per line) and run f on the third element. project_root is an argument to avoid dependency cycles.
val numcores : int
On Linux return the number of physical cores (sockets * cores per socket).
On Darwin and Windows returns half of the number of CPUs since most processors have 2 hardware threads per core.
val set_best_cpu_for : int -> unit
Pins processes to CPUs aiming to saturate physical cores evenly
val zip_fold_filenames : init:'a->f:('a-> string ->'a)->zip_filename:string->'a
fold over each filename in the given zip_filename.
\ No newline at end of file
+IBase__Utils (infer.IBase__Utils)
Module IBase__Utils
val find_files : path:string->extension:string->string list
recursively traverse a path for files ending with a given extension
val fold_folders : init:'acc->f:('acc-> string ->'acc)->path:string->'acc
recursively traverse a path for folders, returning resuls by a given fold function
val string_crc_hex32 : string -> string
Compute a 32-character hexadecimal crc using the Digest module
val read_file : string ->(string list, string)IStdlib.IStd.Result.t
read a source file and return a list of lines
val filename_to_absolute : root:string-> string -> string
Convert a filename to an absolute one if it is relative, and normalize "." and ".."
val filename_to_relative : ?force_full_backtrack:bool->?backtrack:int->root:string-> string ->string option
Convert an absolute filename to one relative to a root directory. Returns None if filename is not under root. The backtrack level sets the maximum level of steps in the parent directories to search for a common prefix
create an out channel with creating missing directories
val realpath : ?warn_on_error:bool-> string -> string
realpath warn_on_error path returns path with all symbolic links resolved. It caches results of previous calls to avoid expensive system calls. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).
val suppress_stderr2 : ('a->'b->'c)->'a->'b->'c
wraps a function expecting 2 arguments in another that temporarily redirects stderr to /dev/null for the duration of the function call
val rmtree : string -> unit
rmtree path removes path and, if path is a directory, recursively removes its contents
val try_finally_swallow_timeout : f:(unit ->'a)->finally:(unit -> unit)->'a
Calls f then finally even if f raised an exception. The original exception is reraised afterwards. Where possible use SymOp.try_finally to avoid swallowing timeouts.
Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.
val unlink_file_on_exit : string -> unit
delete temporary file on exit
val strip_balanced_once : drop:(char -> bool)-> string -> string
drop at most one layer of well-balanced first and last characters satisfying drop from the string; for instance, strip_balanced ~drop:(function | 'a' | 'x' -> true | _ -> false) "xaabax" returns "aaba"
val assoc_of_yojson : Yojson.Basic.t ->src:string->(string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t
Verify we have a json object (or empty list) and return the corresponding assoc list. Otherwise die with a message including src.
val string_of_yojson : Yojson.Basic.t ->src:string-> string
Verify we have a json string and return the corresponding ocaml string. Otherwise die with a message including src.
val string_list_of_yojson : Yojson.Basic.t ->src:string->string list
Verify we have a json list of strings and return the corresponding ocaml string list. Otherwise die with a message including src.
val yojson_lookup : (string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t-> string ->src:string->f:(Yojson.Basic.t ->src:string->'a)->default:'a->'a
Lookup a json value on an assoc list. If not present, returns default. Otherwise returns (f json_value ~src) where src has element name appended. f is typically one of the above _of_yojson functions.
val timeit : f:(unit ->'a)->'a * int
Returns the execution time of f in milliseconds together with its result
val do_in_dir : dir:string->f:(unit ->'a)->'a
executes f after cding into dir and then restores original cwd
val get_available_memory_MB : unit ->int option
On Linux systems, return Some x where MemAvailable x is in /proc/meminfo. Returns None in all other cases.
val iter_infer_deps : project_root:string->f:(string -> unit)-> string -> unit
Parse each line of the given infer_deps.txt file (split on tabs, assume 3 elements per line) and run f on the third element. project_root is an argument to avoid dependency cycles.
val numcores : int
On Linux return the number of physical cores (sockets * cores per socket).
On Darwin and Windows returns half of the number of CPUs since most processors have 2 hardware threads per core.
val set_best_cpu_for : int -> unit
Pins processes to CPUs aiming to saturate physical cores evenly
val zip_fold_filenames : init:'a->f:('a-> string ->'a)->zip_filename:string->'a
fold over each filename in the given zip_filename.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/BUILTINS/module-type-S/index.html b/website/static/odoc/next/infer/IR/BUILTINS/module-type-S/index.html
index 0e1646ed5..afe3cb2a9 100644
--- a/website/static/odoc/next/infer/IR/BUILTINS/module-type-S/index.html
+++ b/website/static/odoc/next/infer/IR/BUILTINS/module-type-S/index.html
@@ -1,2 +1,2 @@
-S (infer.IR.BUILTINS.S)
Module type BUILTINS.S
List of all builtins that are interpreted specially by the backend
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/BuiltinDecl/index.html b/website/static/odoc/next/infer/IR/BuiltinDecl/index.html
index 9ddd89d07..43e2d2f93 100644
--- a/website/static/odoc/next/infer/IR/BuiltinDecl/index.html
+++ b/website/static/odoc/next/infer/IR/BuiltinDecl/index.html
@@ -1,2 +1,2 @@
-BuiltinDecl (infer.IR.BuiltinDecl)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/ProcAttributes/index.html b/website/static/odoc/next/infer/IR/ProcAttributes/index.html
index 9824122a7..ab06142ba 100644
--- a/website/static/odoc/next/infer/IR/ProcAttributes/index.html
+++ b/website/static/odoc/next/infer/IR/ProcAttributes/index.html
@@ -1,2 +1,2 @@
-ProcAttributes (infer.IR.ProcAttributes)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__BUILTINS/module-type-S/index.html b/website/static/odoc/next/infer/IR__BUILTINS/module-type-S/index.html
index 0ca21613a..43550c422 100644
--- a/website/static/odoc/next/infer/IR__BUILTINS/module-type-S/index.html
+++ b/website/static/odoc/next/infer/IR__BUILTINS/module-type-S/index.html
@@ -1,2 +1,2 @@
-S (infer.IR__BUILTINS.S)
Module type IR__BUILTINS.S
List of all builtins that are interpreted specially by the backend
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__BuiltinDecl/index.html b/website/static/odoc/next/infer/IR__BuiltinDecl/index.html
index 11626d1a6..63e435f44 100644
--- a/website/static/odoc/next/infer/IR__BuiltinDecl/index.html
+++ b/website/static/odoc/next/infer/IR__BuiltinDecl/index.html
@@ -1,2 +1,2 @@
-IR__BuiltinDecl (infer.IR__BuiltinDecl)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__ProcAttributes/index.html b/website/static/odoc/next/infer/IR__ProcAttributes/index.html
index 8e9a84df0..d7fcb306a 100644
--- a/website/static/odoc/next/infer/IR__ProcAttributes/index.html
+++ b/website/static/odoc/next/infer/IR__ProcAttributes/index.html
@@ -1,2 +1,2 @@
-IR__ProcAttributes (infer.IR__ProcAttributes)