make new-website-version

Summary: Update documentation and add a version for v1.0.0.

Reviewed By: martintrojer

Differential Revision: D24191031

fbshipit-source-id: 0a57c693e
master
Jules Villard 4 years ago committed by Facebook GitHub Bot
parent 56fd330760
commit cce19349a8

@ -12,6 +12,7 @@
"checker-loop-hoisting", "checker-printf-args", "checker-pulse", "checker-loop-hoisting", "checker-printf-args", "checker-pulse",
"checker-purity", "checker-quandary", "checker-racerd", "checker-purity", "checker-quandary", "checker-racerd",
"checker-resource-leak-lab", "checker-siof", "checker-self-in-block", "checker-resource-leak-lab", "checker-siof", "checker-self-in-block",
"checker-starvation", "checker-topl", "checker-uninit" "checker-starvation", "checker-topl-biabd", "checker-topl-pulse",
"checker-uninit"
] ]
} }

@ -14,6 +14,35 @@ property (similar to the `-Warc-unsafe-retained-assign` compiler flag). Not
holding a strong reference to the object makes it easy to accidentally create holding a strong reference to the object makes it easy to accidentally create
and use a dangling pointer. and use a dangling pointer.
## AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE
Reported as "Autoreleasepool Size Complexity Increase" by [cost](/docs/next/checker-cost).
\[EXPERIMENTAL\] Infer reports this issue when the ObjC autoreleasepool's size complexity of a
program increases in degree: e.g. from constant to linear or from logarithmic to quadratic. This
issue type is only reported in differential mode: i.e when we are comparing the analysis results of
two runs of infer on a file.
## AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE_UI_THREAD
Reported as "Autoreleasepool Size Complexity Increase Ui Thread" by [cost](/docs/next/checker-cost).
\[EXPERIMENTAL\] Infer reports this issue when the ObjC autoreleasepool's complexity of the
procedure increases in degree **and** the procedure runs on the UI (main) thread.
Infer considers a method as running on the UI thread whenever:
- The method, one of its overrides, its class, or an ancestral class, is annotated with `@UiThread`.
- The method, or one of its overrides is annotated with `@OnEvent`, `@OnClick`, etc.
- The method or its callees call a `Litho.ThreadUtils` method such as `assertMainThread`.
## AUTORELEASEPOOL_SIZE_UNREACHABLE_AT_EXIT
Reported as "Autoreleasepool Size Unreachable At Exit" by [cost](/docs/next/checker-cost).
\[EXPERIMENTAL\] This issue type indicates that the program's execution doesn't reach the exit
node. Hence, we cannot compute a static bound of ObjC autoreleasepool's size for the procedure.
## BAD_POINTER_COMPARISON ## BAD_POINTER_COMPARISON
Reported as "Bad Pointer Comparison" by [linters](/docs/next/checker-linters). Reported as "Bad Pointer Comparison" by [linters](/docs/next/checker-linters).
@ -925,6 +954,13 @@ Reported as "Inferbo Alloc May Be Big" by [bufferoverrun](/docs/next/checker-buf
Reported as "Inferbo Alloc May Be Negative" by [bufferoverrun](/docs/next/checker-bufferoverrun). Reported as "Inferbo Alloc May Be Negative" by [bufferoverrun](/docs/next/checker-bufferoverrun).
`malloc` *may* be called with a negative value. `malloc` *may* be called with a negative value.
## INFINITE_AUTORELEASEPOOL_SIZE
Reported as "Infinite Autoreleasepool Size" by [cost](/docs/next/checker-cost).
\[EXPERIMENTAL\] This warning indicates that Infer was not able to determine a static upper bound on
the ObjC autoreleasepool's size in the procedure. By default, this issue type is disabled.
## INFINITE_EXECUTION_TIME ## INFINITE_EXECUTION_TIME
Reported as "Infinite Execution Time" by [cost](/docs/next/checker-cost). Reported as "Infinite Execution Time" by [cost](/docs/next/checker-cost).
@ -1271,6 +1307,11 @@ master. In the future we might include analysis directives (hey, analyzer, p is
not null!) like in Hack that tell the analyzer the information that you know, not null!) like in Hack that tell the analyzer the information that you know,
but that is for later. but that is for later.
## OPTIONAL_EMPTY_ACCESS
Reported as "Optional Empty Access" by [pulse](/docs/next/checker-pulse).
Reports on accessing folly::Optional when it is none.
## PARAMETER_NOT_NULL_CHECKED ## PARAMETER_NOT_NULL_CHECKED
Reported as "Parameter Not Null Checked" by [biabduction](/docs/next/checker-biabduction). Reported as "Parameter Not Null Checked" by [biabduction](/docs/next/checker-biabduction).
@ -1930,9 +1971,14 @@ These annotations can be found at `com.facebook.infer.annotation.*`.
other threads. The main utility of this annotation is in interfaces, where other threads. The main utility of this annotation is in interfaces, where
Infer cannot look up the implementation and decide for itself. Infer cannot look up the implementation and decide for itself.
## TOPL_ERROR ## TOPL_BIABD_ERROR
Reported as "Topl Biabd Error" by [topl-biabd](/docs/next/checker-topl-biabd).
Experimental.
## TOPL_PULSE_ERROR
Reported as "Topl Error" by [topl](/docs/next/checker-topl). Reported as "Topl Pulse Error" by [topl-pulse](/docs/next/checker-topl-pulse).
Experimental. Experimental.
## UNINITIALIZED_VALUE ## UNINITIALIZED_VALUE

@ -90,7 +90,11 @@ There are a number of known limitations to the design of the static cost analysi
## List of Issue Types ## List of Issue Types
The following issue types are reported by this checker: The following issue types are reported by this checker:
- [AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE](/docs/next/all-issue-types#autoreleasepool_size_complexity_increase)
- [AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE_UI_THREAD](/docs/next/all-issue-types#autoreleasepool_size_complexity_increase_ui_thread)
- [AUTORELEASEPOOL_SIZE_UNREACHABLE_AT_EXIT](/docs/next/all-issue-types#autoreleasepool_size_unreachable_at_exit)
- [EXECUTION_TIME_COMPLEXITY_INCREASE](/docs/next/all-issue-types#execution_time_complexity_increase) - [EXECUTION_TIME_COMPLEXITY_INCREASE](/docs/next/all-issue-types#execution_time_complexity_increase)
- [EXECUTION_TIME_COMPLEXITY_INCREASE_UI_THREAD](/docs/next/all-issue-types#execution_time_complexity_increase_ui_thread) - [EXECUTION_TIME_COMPLEXITY_INCREASE_UI_THREAD](/docs/next/all-issue-types#execution_time_complexity_increase_ui_thread)
- [EXECUTION_TIME_UNREACHABLE_AT_EXIT](/docs/next/all-issue-types#execution_time_unreachable_at_exit) - [EXECUTION_TIME_UNREACHABLE_AT_EXIT](/docs/next/all-issue-types#execution_time_unreachable_at_exit)
- [INFINITE_AUTORELEASEPOOL_SIZE](/docs/next/all-issue-types#infinite_autoreleasepool_size)
- [INFINITE_EXECUTION_TIME](/docs/next/all-issue-types#infinite_execution_time) - [INFINITE_EXECUTION_TIME](/docs/next/all-issue-types#infinite_execution_time)

@ -19,6 +19,7 @@ The following issue types are reported by this checker:
- [CONSTANT_ADDRESS_DEREFERENCE](/docs/next/all-issue-types#constant_address_dereference) - [CONSTANT_ADDRESS_DEREFERENCE](/docs/next/all-issue-types#constant_address_dereference)
- [MEMORY_LEAK](/docs/next/all-issue-types#memory_leak) - [MEMORY_LEAK](/docs/next/all-issue-types#memory_leak)
- [NULLPTR_DEREFERENCE](/docs/next/all-issue-types#nullptr_dereference) - [NULLPTR_DEREFERENCE](/docs/next/all-issue-types#nullptr_dereference)
- [OPTIONAL_EMPTY_ACCESS](/docs/next/all-issue-types#optional_empty_access)
- [STACK_VARIABLE_ADDRESS_ESCAPE](/docs/next/all-issue-types#stack_variable_address_escape) - [STACK_VARIABLE_ADDRESS_ESCAPE](/docs/next/all-issue-types#stack_variable_address_escape)
- [USE_AFTER_DELETE](/docs/next/all-issue-types#use_after_delete) - [USE_AFTER_DELETE](/docs/next/all-issue-types#use_after_delete)
- [USE_AFTER_FREE](/docs/next/all-issue-types#use_after_free) - [USE_AFTER_FREE](/docs/next/all-issue-types#use_after_free)

@ -0,0 +1,19 @@
---
title: "TOPL"
description: "Detects errors based on user-provided state machines describing multi-object monitors."
---
Detects errors based on user-provided state machines describing multi-object monitors.
Activate with `--topl-biabd`.
Supported languages:
- C/C++/ObjC: Experimental
- Java: Experimental
## List of Issue Types
The following issue types are reported by this checker:
- [TOPL_BIABD_ERROR](/docs/next/all-issue-types#topl_biabd_error)

@ -0,0 +1,19 @@
---
title: "TOPL"
description: "Detects errors based on user-provided state machines describing multi-object monitors."
---
Detects errors based on user-provided state machines describing multi-object monitors.
Activate with `--topl-pulse`.
Supported languages:
- C/C++/ObjC: Experimental
- Java: Experimental
## List of Issue Types
The following issue types are reported by this checker:
- [TOPL_PULSE_ERROR](/docs/next/all-issue-types#topl_pulse_error)

@ -4,5 +4,6 @@ title: Documentation Versions
--- ---
Browse the documentation for different versions: Browse the documentation for different versions:
- [latest released version (0.17.0)](/docs/getting-started) - [latest released version (1.0.0)](/docs/getting-started)
- [previous version (0.17.0)](/docs/0.17.0/getting-started)
- [next version](/docs/next/getting-started) - [next version](/docs/next/getting-started)

@ -0,0 +1,953 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-analyze</title>
</head>
<body>
<h1 align="center">infer-analyze</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#BUCK OPTIONS">BUCK OPTIONS</a><br>
<a href="#BUFFER OVERRUN OPTIONS">BUFFER OVERRUN OPTIONS</a><br>
<a href="#CLANG OPTIONS">CLANG OPTIONS</a><br>
<a href="#JAVA OPTIONS">JAVA OPTIONS</a><br>
<a href="#QUANDARY CHECKER OPTIONS">QUANDARY CHECKER OPTIONS</a><br>
<a href="#RACERD CHECKER OPTIONS">RACERD CHECKER OPTIONS</a><br>
<a href="#SIOF CHECKER OPTIONS">SIOF CHECKER OPTIONS</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-analyze -
analyze the files captured by infer</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer
analyze</b> <i>[options]</i> <b><br>
infer</b> <i>[options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Analyze the
files captured in the project results directory and
report.</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--annotation-reachability</b></p>
<p style="margin-left:17%;">Activates: checker
annotation-reachability: Given a pair of source and sink
annotation, e.g. &rsquo;@PerformanceCritical&rsquo; and
&rsquo;@Expensive&rsquo;, this checker will warn whenever
some method annotated with
&rsquo;@PerformanceCritical&rsquo; calls, directly or
indirectly, another method annotated with
&rsquo;@Expensive&rsquo; (Conversely:
<b>--no-annotation-reachability</b>)</p>
<p style="margin-left:11%;"><b>--annotation-reachability-only</b></p>
<p style="margin-left:17%;">Activates: Enable
annotation-reachability and disable all other checkers
(Conversely: <b>--no-annotation-reachability-only</b>)</p>
<p style="margin-left:11%;"><b>--no-biabduction</b></p>
<p style="margin-left:17%;">Deactivates: checker
biabduction: This analysis deals with a range of issues,
many linked to memory safety. (Conversely:
<b>--biabduction</b>)</p>
<p style="margin-left:11%;"><b>--biabduction-only</b></p>
<p style="margin-left:17%;">Activates: Enable biabduction
and disable all other checkers (Conversely:
<b>--no-biabduction-only</b>)</p>
<p style="margin-left:11%;"><b>--bufferoverrun</b></p>
<p style="margin-left:17%;">Activates: checker
bufferoverrun: InferBO is a detector for out-of-bounds array
accesses. (Conversely: <b>--no-bufferoverrun</b>)</p>
<p style="margin-left:11%;"><b>--bufferoverrun-only</b></p>
<p style="margin-left:17%;">Activates: Enable bufferoverrun
and disable all other checkers (Conversely:
<b>--no-bufferoverrun-only</b>)</p>
<p style="margin-left:11%;"><b>--changed-files-index</b>
<i>file</i></p>
<p style="margin-left:17%;">Specify the file containing the
list of source files from which reactive analysis should
start. Source files should be specified relative to project
root or be absolute</p>
<p style="margin-left:11%;"><b>--config-checks-between-markers</b></p>
<p style="margin-left:17%;">Activates: checker
config-checks-between-markers: [EXPERIMENTAL] Collects
config checks between marker start and end. (Conversely:
<b>--no-config-checks-between-markers</b>)</p>
<p style="margin-left:11%;"><b>--config-checks-between-markers-only</b></p>
<p style="margin-left:17%;">Activates: Enable
config-checks-between-markers and disable all other checkers
(Conversely:
<b>--no-config-checks-between-markers-only</b>)</p>
<p style="margin-left:11%;"><b>--continue-analysis</b></p>
<p style="margin-left:17%;">Activates: Continue the
analysis after more targets are captured by
<b>--continue</b>. The other analysis options should be
given the same before. Not compatible with
<b>--reanalyze</b> and <b>--incremental-analysis</b>.
(Conversely: <b>--no-continue-analysis</b>)</p>
<p style="margin-left:11%;"><b>--cost</b></p>
<p style="margin-left:17%;">Activates: checker cost:
Computes the time complexity of functions and methods. Can
be used to detect changes in runtime complexity with
&rsquo;infer reportdiff&rsquo;. (Conversely:
<b>--no-cost</b>)</p>
<p style="margin-left:11%;"><b>--cost-only</b></p>
<p style="margin-left:17%;">Activates: Enable cost and
disable all other checkers (Conversely:
<b>--no-cost-only</b>)</p>
<p style="margin-left:11%;"><b>--custom-symbols</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify named lists of symbols
available to rules</p>
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
<p style="margin-left:17%;">Activates: Debug mode (also
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
<b>--no-debug</b> | <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p>
<p style="margin-left:17%;">Debug level (sets
<b>--bo-debug</b> <i>level</i>,
<b>--debug-level-analysis</b> <i>level</i>,
<b>--debug-level-capture</b> <i>level</i>,
<b>--debug-level-linters</b> <i>level</i>):</p>
<p style="margin-left:11%;">- 0: only basic debugging
enabled <br>
- 1: verbose debugging enabled <br>
- 2: very verbose debugging enabled <b><br>
--debug-level-analysis</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for the analysis.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-capture</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the capture.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-linters</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the linters.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--no-deduplicate</b></p>
<p style="margin-left:17%;">Deactivates: Apply
issue-specific deduplication during analysis and/or
reporting. (Conversely: <b>--deduplicate</b>)</p>
<p style="margin-left:11%;"><b>--no-default-checkers</b></p>
<p style="margin-left:17%;">Deactivates: Default checkers:
<b>--biabduction</b>, <b>--fragment-retains-view</b>,
<b>--inefficient-keyset-iterator</b>, <b>--linters</b>,
<b>--liveness</b>, <b>--racerd</b>, <b>--siof</b>,
<b>--self-in-block</b>, <b>--starvation</b>, <b>--uninit</b>
(Conversely: <b>--default-checkers</b>)</p>
<p style="margin-left:11%;"><b>--eradicate</b></p>
<p style="margin-left:17%;">Activates: checker eradicate:
The eradicate &rsquo;@Nullable&rsquo; checker for Java
annotations. (Conversely: <b>--no-eradicate</b>)</p>
<p style="margin-left:11%;"><b>--eradicate-only</b></p>
<p style="margin-left:17%;">Activates: Enable eradicate and
disable all other checkers (Conversely:
<b>--no-eradicate-only</b>)</p>
<p style="margin-left:11%;"><b>--no-fragment-retains-view</b></p>
<p style="margin-left:17%;">Deactivates: checker
fragment-retains-view: Detects when Android fragments are
not explicitly nullified before becoming unreachable.
(Conversely: <b>--fragment-retains-view</b>)</p>
<p style="margin-left:11%;"><b>--fragment-retains-view-only</b></p>
<p style="margin-left:17%;">Activates: Enable
fragment-retains-view and disable all other checkers
(Conversely: <b>--no-fragment-retains-view-only</b>)</p>
<p style="margin-left:11%;"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:11%;"><b>--immutable-cast</b></p>
<p style="margin-left:17%;">Activates: checker
immutable-cast: Detection of object cast from immutable
types to mutable types. For instance, it will detect casts
from &rsquo;ImmutableList&rsquo; to &rsquo;List&rsquo;,
&rsquo;ImmutableMap&rsquo; to &rsquo;Map&rsquo;, and
&rsquo;ImmutableSet&rsquo; to &rsquo;Set&rsquo;.
(Conversely: <b>--no-immutable-cast</b>)</p>
<p style="margin-left:11%;"><b>--immutable-cast-only</b></p>
<p style="margin-left:17%;">Activates: Enable
immutable-cast and disable all other checkers (Conversely:
<b>--no-immutable-cast-only</b>)</p>
<p style="margin-left:11%;"><b>--impurity</b></p>
<p style="margin-left:17%;">Activates: checker impurity:
Detects functions with potential side-effects. Same as
&quot;purity&quot;, but implemented on top of Pulse.
(Conversely: <b>--no-impurity</b>)</p>
<p style="margin-left:11%;"><b>--impurity-only</b></p>
<p style="margin-left:17%;">Activates: Enable impurity and
disable all other checkers (Conversely:
<b>--no-impurity-only</b>)</p>
<p style="margin-left:11%;"><b>--no-inefficient-keyset-iterator</b></p>
<p style="margin-left:17%;">Deactivates: checker
inefficient-keyset-iterator: Check for inefficient uses of
iterators that iterate on keys then lookup their values,
instead of iterating on key-value pairs directly.
(Conversely: <b>--inefficient-keyset-iterator</b>)</p>
<p style="margin-left:11%;"><b>--inefficient-keyset-iterator-only</b></p>
<p style="margin-left:17%;">Activates: Enable
inefficient-keyset-iterator and disable all other checkers
(Conversely:
<b>--no-inefficient-keyset-iterator-only</b>)</p>
<p style="margin-left:11%;"><b>--jobs</b>,<b>-j</b>
<i>int</i></p>
<p style="margin-left:17%;">Run the specified number of
analysis jobs simultaneously</p>
<p style="margin-left:11%;"><b>--keep-going</b></p>
<p style="margin-left:17%;">Activates: Keep going when the
analysis encounters a failure (Conversely:
<b>--no-keep-going</b>)</p>
<p style="margin-left:11%;"><b>--no-linters</b></p>
<p style="margin-left:17%;">Deactivates: checker linters:
Declarative linting framework over the Clang AST.
(Conversely: <b>--linters</b>)</p>
<p style="margin-left:11%;"><b>--linters-only</b></p>
<p style="margin-left:17%;">Activates: Enable linters and
disable all other checkers (Conversely:
<b>--no-linters-only</b>)</p>
<p style="margin-left:11%;"><b>--litho-required-props</b></p>
<p style="margin-left:17%;">Activates: checker
litho-required-props: Checks that all non-optional
&rsquo;@Prop&rsquo;s have been specified when constructing
Litho components. (Conversely:
<b>--no-litho-required-props</b>)</p>
<p style="margin-left:11%;"><b>--litho-required-props-only</b></p>
<p style="margin-left:17%;">Activates: Enable
litho-required-props and disable all other checkers
(Conversely: <b>--no-litho-required-props-only</b>)</p>
<p style="margin-left:11%;"><b>--no-liveness</b></p>
<p style="margin-left:17%;">Deactivates: checker liveness:
Detection of dead stores and unused variables. (Conversely:
<b>--liveness</b>)</p>
<p style="margin-left:11%;"><b>--liveness-only</b></p>
<p style="margin-left:17%;">Activates: Enable liveness and
disable all other checkers (Conversely:
<b>--no-liveness-only</b>)</p>
<p style="margin-left:11%;"><b>--loop-hoisting</b></p>
<p style="margin-left:17%;">Activates: checker
loop-hoisting: Detect opportunities to hoist function calls
that are invariant outside of loop bodies for efficiency.
(Conversely: <b>--no-loop-hoisting</b>)</p>
<p style="margin-left:11%;"><b>--loop-hoisting-only</b></p>
<p style="margin-left:17%;">Activates: Enable loop-hoisting
and disable all other checkers (Conversely:
<b>--no-loop-hoisting-only</b>)</p>
<p style="margin-left:11%;"><b>--max-jobs</b>
<i>int</i></p>
<p style="margin-left:17%;">Maximum number of analysis jobs
running simultaneously</p>
<p style="margin-left:11%;"><b>--print-active-checkers</b></p>
<p style="margin-left:17%;">Activates: Print the active
checkers before starting the analysis (Conversely:
<b>--no-print-active-checkers</b>)</p>
<p style="margin-left:11%;"><b>--print-logs</b></p>
<p style="margin-left:17%;">Activates: Also log messages to
stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
<p style="margin-left:11%;"><b>--printf-args</b></p>
<p style="margin-left:17%;">Activates: checker printf-args:
Detect mismatches between the Java &rsquo;printf&rsquo;
format strings and the argument types For example, this
checker will warn about the type error in
&rsquo;printf(&quot;Hello %d&quot;,
&quot;world&quot;)&rsquo; (Conversely:
<b>--no-printf-args</b>)</p>
<p style="margin-left:11%;"><b>--printf-args-only</b></p>
<p style="margin-left:17%;">Activates: Enable printf-args
and disable all other checkers (Conversely:
<b>--no-printf-args-only</b>)</p>
<p style="margin-left:11%;"><b>--progress-bar-style</b>
<i>{ auto | plain | multiline }</i></p>
<p style="margin-left:17%;">Style of the progress bar.
<b>auto</b> selects <b>multiline</b> if connected to a tty,
otherwise <b>plain</b>.</p>
<p style="margin-left:11%;"><b>--project-root</b>,<b>-C</b>
<i>dir</i></p>
<p style="margin-left:17%;">Specify the root directory of
the project</p>
<p style="margin-left:11%;"><b>--pulse</b></p>
<p style="margin-left:17%;">Activates: checker pulse:
Memory and lifetime analysis. (Conversely:
<b>--no-pulse</b>)</p>
<p style="margin-left:11%;"><b>--pulse-cut-to-one-path-procedures-pattern</b>
<i>string</i></p>
<p style="margin-left:17%;">Regex of methods for which
pulse will only explore one path. Can be used on
pathologically large procedures to prevent too-big states
from being produced.</p>
<p style="margin-left:11%;"><b>--pulse-model-abort</b>
<i>+string</i></p>
<p style="margin-left:17%;">Methods that should be modelled
as abort in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-alloc-pattern</b>
<i>string</i></p>
<p style="margin-left:17%;">Regex of methods that should be
modelled as allocs in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-release-pattern</b>
<i>string</i></p>
<p style="margin-left:17%;">Regex of methods that should be
modelled as release in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-return-nonnull</b>
<i>+string</i></p>
<p style="margin-left:17%;">Methods that should be modelled
as returning non-null in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-skip-pattern</b>
<i>string</i></p>
<p style="margin-left:17%;">Regex of methods that should be
modelled as &quot;skip&quot; in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-transfer-ownership</b>
<i>+string</i></p>
<p style="margin-left:17%;">Methods that should be modelled
as transfering memory ownership in Pulse. Accepted formats
are method or namespace::method</p>
<p style="margin-left:11%;"><b>--pulse-only</b></p>
<p style="margin-left:17%;">Activates: Enable pulse and
disable all other checkers (Conversely:
<b>--no-pulse-only</b>)</p>
<p style="margin-left:11%;"><b>--purity</b></p>
<p style="margin-left:17%;">Activates: checker purity:
Detects pure (side-effect-free) functions. A different
implementation of &quot;impurity&quot;. (Conversely:
<b>--no-purity</b>)</p>
<p style="margin-left:11%;"><b>--purity-only</b></p>
<p style="margin-left:17%;">Activates: Enable purity and
disable all other checkers (Conversely:
<b>--no-purity-only</b>)</p>
<p style="margin-left:11%;"><b>--quandary</b></p>
<p style="margin-left:17%;">Activates: checker quandary:
The Quandary taint analysis detects flows of values between
sources and sinks, except if the value went through a
&quot;sanitizer&quot;. In addition to some defaults, users
can specify their own sources, sinks, and sanitizers
functions. (Conversely: <b>--no-quandary</b>)</p>
<p style="margin-left:11%;"><b>--quandary-only</b></p>
<p style="margin-left:17%;">Activates: Enable quandary and
disable all other checkers (Conversely:
<b>--no-quandary-only</b>)</p>
<p style="margin-left:11%;"><b>--quiet</b>,<b>-q</b></p>
<p style="margin-left:17%;">Activates: Do not print
anything on standard output. (Conversely: <b>--no-quiet</b>
| <b>-Q</b>)</p>
<p style="margin-left:11%;"><b>--no-racerd</b></p>
<p style="margin-left:17%;">Deactivates: checker racerd:
Thread safety analysis. (Conversely: <b>--racerd</b>)</p>
<p style="margin-left:11%;"><b>--racerd-only</b></p>
<p style="margin-left:17%;">Activates: Enable racerd and
disable all other checkers (Conversely:
<b>--no-racerd-only</b>)</p>
<p style="margin-left:11%;"><b>--reactive</b>,<b>-r</b></p>
<p style="margin-left:17%;">Activates: Reactive mode: the
analysis starts from the files captured since the
<i>infer</i> command started (Conversely:
<b>--no-reactive</b> | <b>-R</b>)</p>
<p style="margin-left:11%;"><b>--no-report</b></p>
<p style="margin-left:17%;">Deactivates: Run the reporting
phase once the analysis has completed (Conversely:
<b>--report</b>)</p>
<p style="margin-left:11%;"><b>--report-force-relative-path</b></p>
<p style="margin-left:17%;">Activates: Force converting an
absolute path to a relative path to the root directory
(Conversely: <b>--no-report-force-relative-path</b>)</p>
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
<i>dir</i></p>
<p style="margin-left:17%;">Write results and internal
files in the specified directory</p>
<p style="margin-left:11%;"><b>--scheduler</b> <i>{ file |
restart | callgraph }</i></p>
<p style="margin-left:17%;">Specify the scheduler used for
the analysis phase:</p>
<p style="margin-left:11%;">- file: schedule one job per
file <br>
- callgraph: schedule one job per procedure, following the
<br>
syntactic call graph. Usually faster than &quot;file&quot;.
<br>
- restart: same as callgraph but uses locking to try and
avoid <br>
duplicate work between different analysis processes and thus
<br>
performs better in some circumstances <b><br>
--no-self-in-block</b></p>
<p style="margin-left:17%;">Deactivates: checker
self-in-block: An Objective-C-specific analysis to detect
when a block captures &rsquo;self&rsquo;. (Conversely:
<b>--self-in-block</b>)</p>
<p style="margin-left:11%;"><b>--self-in-block-only</b></p>
<p style="margin-left:17%;">Activates: Enable self-in-block
and disable all other checkers (Conversely:
<b>--no-self-in-block-only</b>)</p>
<p style="margin-left:11%;"><b>--no-siof</b></p>
<p style="margin-left:17%;">Deactivates: checker siof:
Catches Static Initialization Order Fiascos in C++, that can
lead to subtle, compiler-version-dependent errors.
(Conversely: <b>--siof</b>)</p>
<p style="margin-left:11%;"><b>--siof-only</b></p>
<p style="margin-left:17%;">Activates: Enable siof and
disable all other checkers (Conversely:
<b>--no-siof-only</b>)</p>
<p style="margin-left:11%;"><b>--sqlite-cache-size</b>
<i>int</i></p>
<p style="margin-left:17%;">SQLite cache size in pages (if
positive) or kB (if negative), follows formal of
corresponding SQLite PRAGMA.</p>
<p style="margin-left:11%;"><b>--sqlite-lock-timeout</b>
<i>int</i></p>
<p style="margin-left:17%;">Timeout for SQLite results
database operations, in milliseconds.</p>
<p style="margin-left:11%;"><b>--sqlite-page-size</b>
<i>int</i></p>
<p style="margin-left:17%;">SQLite page size in bytes, must
be a power of two between 512 and 65536.</p>
<p style="margin-left:11%;"><b>--no-starvation</b></p>
<p style="margin-left:17%;">Deactivates: checker
starvation: Detect various kinds of situations when no
progress is being made because of concurrency errors.
(Conversely: <b>--starvation</b>)</p>
<p style="margin-left:11%;"><b>--starvation-only</b></p>
<p style="margin-left:17%;">Activates: Enable starvation
and disable all other checkers (Conversely:
<b>--no-starvation-only</b>)</p>
<p style="margin-left:11%;"><b>--topl-biabd</b></p>
<p style="margin-left:17%;">Activates: checker topl-biabd:
Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely:
<b>--no-topl-biabd</b>)</p>
<p style="margin-left:11%;"><b>--topl-biabd-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl-biabd
and disable all other checkers (Conversely:
<b>--no-topl-biabd-only</b>)</p>
<p style="margin-left:11%;"><b>--topl-pulse</b></p>
<p style="margin-left:17%;">Activates: checker topl-pulse:
Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely:
<b>--no-topl-pulse</b>)</p>
<p style="margin-left:11%;"><b>--topl-pulse-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl-pulse
and disable all other checkers (Conversely:
<b>--no-topl-pulse-only</b>)</p>
<p style="margin-left:11%;"><b>--no-uninit</b></p>
<p style="margin-left:17%;">Deactivates: checker uninit:
Warns when values are used before having been initialized.
(Conversely: <b>--uninit</b>)</p>
<p style="margin-left:11%;"><b>--uninit-only</b></p>
<p style="margin-left:17%;">Activates: Enable uninit and
disable all other checkers (Conversely:
<b>--no-uninit-only</b>)</p>
<p style="margin-left:11%;"><b>--xcode-isysroot-suffix</b>
<i>string</i></p>
<p style="margin-left:17%;">Specify the suffix of Xcode
isysroot directory, to avoid absolute paths in tests</p>
<h2>BUCK OPTIONS
<a name="BUCK OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--merge</b></p>
<p style="margin-left:17%;">Activates: Merge the captured
results directories specified in the dependency file.
(Conversely: <b>--no-merge</b>)</p>
<h2>BUFFER OVERRUN OPTIONS
<a name="BUFFER OVERRUN OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--bo-debug</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for buffer-overrun
checker (0-4)</p>
<p style="margin-left:11%;"><b>--bo-field-depth-limit</b>
<i>int</i></p>
<p style="margin-left:17%;">Limit of field depth of
abstract location in buffer-overrun checker</p>
<h2>CLANG OPTIONS
<a name="CLANG OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--annotation-reachability-cxx</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify annotation reachability
analyses to be performed on C/C++/ObjC code. Each entry is a
JSON object whose key is the issue name. &quot;sources&quot;
and &quot;sinks&quot; can be specified either by symbol
(including regexps) or path prefix. &quot;sinks&quot;
optionally can specify &quot;overrides&quot; (by symbol or
path prefix) that block the reachability analysis when hit.
Example:</p>
<p style="margin-left:11%;">{ <br>
&quot;ISOLATED_REACHING_CONNECT&quot;: { <br>
&quot;doc_url&quot;: <br>
&quot;http:://example.com/issue/doc/optional_link.html&quot;,
<br>
&quot;sources&quot;: { <br>
&quot;desc&quot;: &quot;Code that should not call connect
[optional]&quot;, <br>
&quot;paths&quot;: [ &quot;isolated/&quot; ] <br>
}, <br>
&quot;sinks&quot;: { <br>
&quot;symbols&quot;: [ &quot;connect&quot; ], <br>
&quot;overrides&quot;: { &quot;symbol_regexps&quot;: [
&quot;.*::Trusted::.*&quot; ] } <br>
} <br>
} <br>
} <br>
This will cause us to create a new ISOLATED_REACHING_CONNECT
<br>
issue for every function whose source path starts with
&quot;isolated/&quot; <br>
that may reach the function named &quot;connect&quot;,
ignoring paths that <br>
go through a symbol matching the OCaml regexp
&quot;.*::Trusted::.*&quot;. <b><br>
--annotation-reachability-cxx-sources</b> <i>json</i></p>
<p style="margin-left:17%;">Override sources in all cxx
annotation reachability specs with the given sources
spec</p>
<p style="margin-left:11%;"><b>--clang-compound-literal-init-limit</b>
<i>int</i></p>
<p style="margin-left:17%;">Limit after which
initialization of compound types (structs and arrays) is not
done element by element but using a builtin function that
each analysis has to model.</p>
<p style="margin-left:11%;"><b>--cxx-scope-guards</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify scope guard classes
that can be read only by destructors without being reported
as dead stores.</p>
<p style="margin-left:11%;"><b>--liveness-dangerous-classes</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify classes where the
destructor should be ignored when computing liveness. In
other words, assignement to variables of these types (or
common wrappers around these types such as
<i>unique_ptr&lt;type&gt;</i>) will count as dead stores
when the variables are not read explicitly by the
program.</p>
<p style="margin-left:11%;"><b>--ml-buckets</b>
<i>,-separated sequence of { all | cf | arc | narc | cpp |
<br>
unknown_origin }</i></p>
<p style="margin-left:17%;">Specify the memory leak buckets
to be checked in C++:</p>
<p style="margin-left:11%;">- <b>cpp</b> from C++ code
<b><br>
--unsafe-malloc</b></p>
<p style="margin-left:17%;">Activates: Assume that
malloc(3) never returns null. (Conversely:
<b>--no-unsafe-malloc</b>)</p>
<h2>JAVA OPTIONS
<a name="JAVA OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--annotation-reachability-custom-pairs</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify custom sources/sink for
the annotation reachability checker</p>
<p style="margin-left:11%;">Example format: for custom
annotations <br>
com.my.annotation.{Source1,Source2,Sink1} <br>
{ &quot;sources&quot; : [&quot;Source1&quot;,
&quot;Source2&quot;], &quot;sink&quot; : &quot;Sink1&quot; }
<b><br>
--external-java-packages</b> <i>+prefix</i></p>
<p style="margin-left:17%;">Specify a list of Java package
prefixes for external Java packages. If set, the analysis
will not report non-actionable warnings on those
packages.</p>
<p style="margin-left:11%;"><b>--java-version</b>
<i>int</i></p>
<p style="margin-left:17%;">The version of Java being used.
Set it to your Java version if mvn is failing.</p>
<h2>QUANDARY CHECKER OPTIONS
<a name="QUANDARY CHECKER OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--quandary-endpoints</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify endpoint classes for
Quandary</p>
<p style="margin-left:11%;"><b>--quandary-sanitizers</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify custom sanitizers for
Quandary</p>
<p style="margin-left:11%;"><b>--quandary-sinks</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify custom sinks for
Quandary</p>
<p style="margin-left:11%;"><b>--quandary-sources</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify custom sources for
Quandary</p>
<h2>RACERD CHECKER OPTIONS
<a name="RACERD CHECKER OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--racerd-guardedby</b></p>
<p style="margin-left:17%;">Activates: Check @GuardedBy
annotations with RacerD (Conversely:
<b>--no-racerd-guardedby</b>)</p>
<p style="margin-left:11%;"><b>--no-racerd-unknown-returns-owned</b></p>
<p style="margin-left:17%;">Deactivates: DEPRECATED, does
nothing. (Conversely:
<b>--racerd-unknown-returns-owned</b>)</p>
<p style="margin-left:11%;"><b>--threadsafe-aliases</b>
<i>json</i></p>
<p style="margin-left:17%;">Specify custom annotations that
should be considered aliases of @ThreadSafe</p>
<h2>SIOF CHECKER OPTIONS
<a name="SIOF CHECKER OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--siof-check-iostreams</b></p>
<p style="margin-left:17%;">Activates: Do not assume that
iostreams (cout, cerr, ...) are always initialized. The
default is to assume they are always initialized to avoid
false positives. However, if your program compiles against a
recent libstdc++ then it is safe to turn this option on.
(Conversely: <b>--no-siof-check-iostreams</b>)</p>
<p style="margin-left:11%;"><b>--siof-safe-methods</b>
<i>+string</i></p>
<p style="margin-left:17%;">Methods that are SIOF-safe;
&quot;foo::bar&quot; will match &quot;foo::bar()&quot;,
&quot;foo&lt;int&gt;::bar()&quot;, etc. (can be specified
multiple times)</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-report</b>(1),
<b>infer-run</b>(1)</p>
<hr>
</body>
</html>

@ -0,0 +1,604 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-capture</title>
</head>
<body>
<h1 align="center">infer-capture</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#BUCK OPTIONS">BUCK OPTIONS</a><br>
<a href="#CLANG LINTERS OPTIONS">CLANG LINTERS OPTIONS</a><br>
<a href="#CLANG OPTIONS">CLANG OPTIONS</a><br>
<a href="#JAVA OPTIONS">JAVA OPTIONS</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-capture -
capture source files for later analysis</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer
capture --buck-java</b> <i>[options]</i> <b>-- buck</b>
<i>...</i> <b><br>
infer capture --buck-clang</b> <i>[options]</i> <b>--
buck</b> <i>...</i> <b><br>
infer capture --buck-compilation-database</b> <i>[no-]deps
[options]</i> <b>-- buck</b> <i>...</i> <b><br>
infer capture</b> <i>[options]</i>
<b>--compilation-database</b> <i>file</i> <b><br>
infer capture</b> <i>[options]</i>
<b>--compilation-database-escaped</b> <i>file</i> <b><br>
infer capture</b> <i>[options]</i> <b>--
gradle</b>/<b>gradlew</b> <i>...</i> <b><br>
infer capture</b> <i>[options]</i> <b>-- javac</b>
<i>...</i> <b><br>
infer capture</b> <i>[options]</i> <b>--
make</b>/<b>clang</b>/<b>gcc</b> <i>...</i> <b><br>
infer capture</b> <i>[options]</i> <b>-- mvn</b>/<b>mvnw</b>
<i>...</i> <b><br>
infer capture</b> <i>[options]</i> <b>-- ndk-build</b>
<i>...</i> <b><br>
infer capture</b> <i>[--no-xcpretty] [options]</i> <b>--
xcodebuild</b> <i>...</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Capture the
build command or compilation database specified on the
command line: infer intercepts calls to the compiler to read
source files, translate them into infer's intermediate
representation, and store the result of the translation in
the results directory.</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--continue</b></p>
<p style="margin-left:17%;">Activates: Continue the capture
for the reactive analysis, increasing the changed
files/procedures. (If a procedure was changed beforehand,
keep the changed marking.) (Conversely:
<b>--no-continue</b>)</p>
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
<p style="margin-left:17%;">Activates: Debug mode (also
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
<b>--no-debug</b> | <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p>
<p style="margin-left:17%;">Debug level (sets
<b>--bo-debug</b> <i>level</i>,
<b>--debug-level-analysis</b> <i>level</i>,
<b>--debug-level-capture</b> <i>level</i>,
<b>--debug-level-linters</b> <i>level</i>):</p>
<p style="margin-left:11%;">- 0: only basic debugging
enabled <br>
- 1: verbose debugging enabled <br>
- 2: very verbose debugging enabled <b><br>
--debug-level-analysis</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for the analysis.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-capture</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the capture.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-linters</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the linters.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--force-delete-results-dir</b></p>
<p style="margin-left:17%;">Activates: Do not refuse to
delete the results directory if it doesn't look like an
infer results directory. (Conversely:
<b>--no-force-delete-results-dir</b>)</p>
<p style="margin-left:11%;"><b>--force-integration</b>
<i>command</i></p>
<p style="margin-left:17%;">Proceed as if the first
argument after <b>--</b> was <i>command</i>. Possible
values: <i>ant</i>, <i>buck</i>, <i>gradle</i>,
<i>gradlew</i>, <i>java</i>, <i>javac</i>, <i>cc</i>,
<i>clang</i>, <i>gcc</i>, <i>clang++</i>, <i>c++</i>,
<i>g++</i>, <i>make</i>, <i>configure</i>, <i>cmake</i>,
<i>waf</i>, <i>mvn</i>, <i>mvnw</i>, <i>ndk-build</i>,
<i>xcodebuild</i>.</p>
<p style="margin-left:11%;"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:11%;"><b>--load-average</b>,<b>-l</b>
<i>float</i></p>
<p style="margin-left:17%;">Do not start new parallel jobs
if the load average is greater than that specified (Buck and
make only)</p>
<p style="margin-left:11%;"><b>--print-logs</b></p>
<p style="margin-left:17%;">Activates: Also log messages to
stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
<p style="margin-left:11%;"><b>--progress-bar-style</b>
<i>{ auto | plain | multiline }</i></p>
<p style="margin-left:17%;">Style of the progress bar.
<b>auto</b> selects <b>multiline</b> if connected to a tty,
otherwise <b>plain</b>.</p>
<p style="margin-left:11%;"><b>--project-root</b>,<b>-C</b>
<i>dir</i></p>
<p style="margin-left:17%;">Specify the root directory of
the project</p>
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
<i>dir</i></p>
<p style="margin-left:17%;">Write results and internal
files in the specified directory</p>
<p style="margin-left:11%;"><b>--skip-analysis-in-path</b>
<i>+path_prefix_OCaml_regex</i></p>
<p style="margin-left:17%;">Ignore files whose path matches
the given prefix (can be specified multiple times)</p>
<p style="margin-left:11%;"><b>--sqlite-cache-size</b>
<i>int</i></p>
<p style="margin-left:17%;">SQLite cache size in pages (if
positive) or kB (if negative), follows formal of
corresponding SQLite PRAGMA.</p>
<p style="margin-left:11%;"><b>--sqlite-lock-timeout</b>
<i>int</i></p>
<p style="margin-left:17%;">Timeout for SQLite results
database operations, in milliseconds.</p>
<p style="margin-left:11%;"><b>--sqlite-page-size</b>
<i>int</i></p>
<p style="margin-left:17%;">SQLite page size in bytes, must
be a power of two between 512 and 65536.</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="3%">
<p><b>--</b></p></td>
<td width="3%"></td>
<td width="83%">
<p>Stop argument processing, use remaining arguments as a
build command</p></td></tr>
</table>
<h2>BUCK OPTIONS
<a name="BUCK OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--append-buck-flavors</b>
<i>+string</i></p>
<p style="margin-left:17%;">Additional Buck flavors to
append to targets discovered by the
<b>--buck-compilation-database</b> option.</p>
<p style="margin-left:11%;"><b>--buck-blacklist</b>
<i>+regex</i></p>
<p style="margin-left:17%;">Skip capture of files matched
by the specified regular expression. Only the clang,
non-compilation-database</p>
<p style="margin-left:11%;">Buck integration is supported,
not Java. <b><br>
--buck-clang</b></p>
<p style="margin-left:17%;">Activates: Buck integration for
clang-based targets (C/C++/Objective-C/Objective-C++).
(Conversely: <b>--no-buck-clang</b>)</p>
<p style="margin-left:11%;"><b>--buck-combined</b></p>
<p style="margin-left:17%;">Activates: Buck integration for
clang-based and Java targets. (Conversely:
<b>--no-buck-combined</b>)</p>
<p style="margin-left:11%;"><b>--buck-compilation-database</b>
<i>{ no-deps | deps }</i></p>
<p style="margin-left:17%;">Buck integration using the
compilation database, with or without dependencies. Only
includes clang targets, as per Buck's
<i>#compilation-database</i> flavor.</p>
<p style="margin-left:11%;"><b>--buck-compilation-database-depth</b>
<i>int</i></p>
<p style="margin-left:17%;">Depth of dependencies used by
the <b>--buck-compilation-database deps</b> option. By
default, all recursive dependencies are captured.</p>
<p style="margin-left:11%;"><b>--buck-java</b></p>
<p style="margin-left:17%;">Activates: Buck integration for
Java targets. (Conversely: <b>--no-buck-java</b>)</p>
<p style="margin-left:11%;"><b>--buck-java-flavor</b></p>
<p style="margin-left:17%;">Activates: Buck integration for
Java which uses the buck flavor #infer-java-capture instead
of genrules like buck-java. (Conversely:
<b>--no-buck-java-flavor</b>)</p>
<p style="margin-left:11%;"><b>--buck-java-flavor-suppress-config</b></p>
<p style="margin-left:17%;">Activates: Suppress setting
buck config values for the infer binary and its version in
the buck-java-flavor integration. (Conversely:
<b>--no-buck-java-flavor-suppress-config</b>)</p>
<p style="margin-left:11%;"><b>--buck-merge-all-deps</b></p>
<p style="margin-left:17%;">Activates: Find and merge all
infer dependencies produced by buck. Use this flag if infer
doesn't find any files to analyze after a successful
capture. Only valid for <b>--buck-clang</b>. (Conversely:
<b>--no-buck-merge-all-deps</b>)</p>
<p style="margin-left:11%;"><b>--buck-targets-blacklist</b>
<i>+regex</i></p>
<p style="margin-left:17%;">Skip capture of buck targets
matched by the specified regular expression. Only valid for
<b>--buck-compilation-database</b>.</p>
<p style="margin-left:11%;"><b>--Xbuck</b>
<i>+string</i></p>
<p style="margin-left:17%;">Pass values as command-line
arguments to invocations of <i>&rsquo;buck build&rsquo;</i>.
Only valid for <b>--buck-clang</b>.</p>
<p style="margin-left:11%;"><b>--Xbuck-no-inline</b>
<i>+string</i></p>
<p style="margin-left:17%;">Pass values as command-line
arguments to invocations of <i>&rsquo;buck build&rsquo;</i>,
don't inline any args starting with '@'. Only valid for
<b>--buck-clang</b>.</p>
<p style="margin-left:11%;"><b>--xcode-developer-dir</b>
<i>XCODE_DEVELOPER_DIR</i></p>
<p style="margin-left:17%;">Specify the path to Xcode
developer directory, to use for Buck clang targets</p>
<h2>CLANG LINTERS OPTIONS
<a name="CLANG LINTERS OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--debug-level-linters</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the linters.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--no-default-linters</b></p>
<p style="margin-left:17%;">Deactivates: Use the default
linters for the analysis. (Conversely:
<b>--default-linters</b>)</p>
<p style="margin-left:11%;"><b>--linter</b>
<i>string</i></p>
<p style="margin-left:17%;">From the linters available,
only run this one linter. (Useful together with
<b>--linters-developer-mode</b>)</p>
<p style="margin-left:11%;"><b>--linters-def-file</b>
<i>+file</i></p>
<p style="margin-left:17%;">Specify the file containing
linters definition (e.g. 'linters.al')</p>
<p style="margin-left:11%;"><b>--linters-def-folder</b>
<i>+dir</i></p>
<p style="margin-left:17%;">Specify the folder containing
linters files with extension .al</p>
<p style="margin-left:11%;"><b>--linters-developer-mode</b></p>
<p style="margin-left:17%;">Activates: Debug mode for
developing new linters. (Sets the analyzer to
<b>linters</b>; also sets <b>--debug</b>,
<b>--debug-level-linters 2</b>, <b>--developer-mode</b>, and
unsets <b>--allowed-failures</b> and
<b>--default-linters</b>. (Conversely:
<b>--no-linters-developer-mode</b>)</p>
<p style="margin-left:11%;"><b>--linters-doc-url</b>
<i>+string</i></p>
<p style="margin-left:17%;">Specify custom documentation
URL for some linter that overrides the default one. Useful
if your project has specific ways of fixing a lint error
that is not true in general or public info. Format:
linter_name:doc_url.</p>
<p style="margin-left:11%;"><b>--linters-ignore-clang-failures</b></p>
<p style="margin-left:17%;">Activates: Continue linting
files even if some compilation fails. (Conversely:
<b>--no-linters-ignore-clang-failures</b>)</p>
<p style="margin-left:11%;"><b>--linters-validate-syntax-only</b></p>
<p style="margin-left:17%;">Activates: Validate syntax of
AL files, then emit possible errors in JSON format to stdout
(Conversely: <b>--no-linters-validate-syntax-only</b>)</p>
<h2>CLANG OPTIONS
<a name="CLANG OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--clang-biniou-file</b>
<i>file</i></p>
<p style="margin-left:17%;">Specify a file containing the
AST of the program, in biniou format</p>
<p style="margin-left:11%;"><b>--clang-blacklisted-flags</b>
<i>+string</i></p>
<p style="margin-left:17%;">Clang flags to filter out</p>
<p style="margin-left:11%;"><b>--clang-blacklisted-flags-with-arg</b>
<i>+string</i></p>
<p style="margin-left:17%;">Clang flags (taking args) to
filter out</p>
<p style="margin-left:11%;"><b>--clang-compound-literal-init-limit</b>
<i>int</i></p>
<p style="margin-left:17%;">Limit after which
initialization of compound types (structs and arrays) is not
done element by element but using a builtin function that
each analysis has to model.</p>
<p style="margin-left:11%;"><b>--compilation-database</b>
<i>+path</i></p>
<p style="margin-left:17%;">File that contain compilation
commands (can be specified multiple times)</p>
<p style="margin-left:11%;"><b>--compilation-database-escaped</b>
<i>+path</i></p>
<p style="margin-left:17%;">File that contain compilation
commands where all entries are escaped for the shell, eg
coming from Xcode (can be specified multiple times)</p>
<p style="margin-left:11%;"><b>--no-cxx</b></p>
<p style="margin-left:17%;">Deactivates: Analyze C++
methods (Conversely: <b>--cxx</b>)</p>
<p style="margin-left:11%;"><b>--dump-duplicate-symbols</b></p>
<p style="margin-left:17%;">Activates: Dump all symbols
with the same name that are defined in more than one file.
(Conversely: <b>--no-dump-duplicate-symbols</b>)</p>
<p style="margin-left:11%;"><b>--frontend-tests</b></p>
<p style="margin-left:17%;">Activates: Save
filename.ext.test.dot with the cfg in dotty format for
frontend tests (also sets <b>--print-types</b>) (Conversely:
<b>--no-frontend-tests</b>)</p>
<p style="margin-left:11%;"><b>--headers</b></p>
<p style="margin-left:17%;">Activates: Analyze code in
header files (Conversely: <b>--no-headers</b>)</p>
<p style="margin-left:11%;"><b>--skip-translation-headers</b>
<i>+path_prefix</i></p>
<p style="margin-left:17%;">Ignore headers whose path
matches the given prefix</p>
<p style="margin-left:11%;"><b>--Xclang</b>
<i>+string</i></p>
<p style="margin-left:17%;">Pass values as command-line
arguments to invocations of clang</p>
<p style="margin-left:11%;"><b>--xcpretty</b></p>
<p style="margin-left:17%;">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 <i>&rsquo;infer -- &lt;xcodebuild
command&gt;&rsquo;</i>. (Conversely:
<b>--no-xcpretty</b>)</p>
<h2>JAVA OPTIONS
<a name="JAVA OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--bootclasspath</b>
<i>string</i></p>
<p style="margin-left:17%;">Specify the Java
bootclasspath</p>
<p style="margin-left:11%;"><b>--capture-blacklist</b>
<i>regex</i></p>
<p style="margin-left:17%;">Skip capture of files matched
by the specified OCaml regular expression (only supported by
the javac integration for now).</p>
<p style="margin-left:11%;"><b>--dependencies</b></p>
<p style="margin-left:17%;">Activates: Translate all the
dependencies during the capture. The classes in the given
jar file will be translated. No sources needed. (Conversely:
<b>--no-dependencies</b>)</p>
<p style="margin-left:11%;"><b>--generated-classes</b>
<i>path</i></p>
<p style="margin-left:17%;">Specify where to load the
generated class files</p>
<p style="margin-left:11%;"><b>--java-jar-compiler</b>
<i>path</i></p>
<p style="margin-left:17%;">Specify the Java compiler jar
used to generate the bytecode</p>
<p style="margin-left:11%;"><b>--java-version</b>
<i>int</i></p>
<p style="margin-left:17%;">The version of Java being used.
Set it to your Java version if mvn is failing.</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-analyze</b>(1),
<b>infer-compile</b>(1), <b>infer-run</b>(1)</p>
<hr>
</body>
</html>

@ -0,0 +1,202 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-compile</title>
</head>
<body>
<h1 align="center">infer-compile</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#EXAMPLES">EXAMPLES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-compile -
compile project from within the infer environment</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer
compile --</b> <i>[compile command]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Intercepts
compilation commands similarly to <b>infer-capture</b>, but
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.</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--debug</b>,<b>-g</b></p>
<p style="margin-left:17%;">Activates: Debug mode (also
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
<b>--no-debug</b> | <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p>
<p style="margin-left:17%;">Debug level (sets
<b>--bo-debug</b> <i>level</i>,
<b>--debug-level-analysis</b> <i>level</i>,
<b>--debug-level-capture</b> <i>level</i>,
<b>--debug-level-linters</b> <i>level</i>):</p>
<p style="margin-left:11%;">- 0: only basic debugging
enabled <br>
- 1: verbose debugging enabled <br>
- 2: very verbose debugging enabled <b><br>
--debug-level-analysis</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for the analysis.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-capture</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the capture.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-linters</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the linters.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--force-delete-results-dir</b></p>
<p style="margin-left:17%;">Activates: Do not refuse to
delete the results directory if it doesn't look like an
infer results directory. (Conversely:
<b>--no-force-delete-results-dir</b>)</p>
<p style="margin-left:11%;"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<h2>EXAMPLES
<a name="EXAMPLES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>cmake</b>(1)
hardcodes the absolute paths to the compiler inside the
Makefiles it generates, which defeats the later capture of
compilation commands by infer. Thus, to capture a CMake
project, one should configure the project from within the
infer build environment, for instance:</p>
<p style="margin-left:11%; margin-top: 1em">mkdir build
&amp;&amp; cd build <br>
infer compile -- cmake .. <br>
infer capture -- make</p>
<p style="margin-left:11%; margin-top: 1em">The same
solution can be used for projects whose
&quot;./configure&quot; script hardcodes the paths to the
compilers, for instance:</p>
<p style="margin-left:11%; margin-top: 1em">infer compile
-- ./configure <br>
infer capture -- make</p>
<p style="margin-left:11%; margin-top: 1em">Another
solution for CMake projects is to use CMake's compilation
databases, for instance:</p>
<p style="margin-left:11%; margin-top: 1em">mkdir build
&amp;&amp; cd build <br>
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 .. <br>
infer capture --compilation-database
compile_commands.json</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-capture</b>(1)</p>
<hr>
</body>
</html>

@ -0,0 +1,263 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-debug</title>
</head>
<body>
<h1 align="center">infer-debug</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#DEBUG GLOBAL TYPE ENVIRONMENT">DEBUG GLOBAL TYPE ENVIRONMENT</a><br>
<a href="#DEBUG PROCEDURES">DEBUG PROCEDURES</a><br>
<a href="#DEBUG SOURCE FILES">DEBUG SOURCE FILES</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-debug -
print internal infer data structures</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer debug
--global-tenv <br>
infer debug --procedures</b> <i>[options]</i> <b><br>
infer debug --source-files</b> <i>[options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">If
<b>--procedures</b> is passed, print information about each
procedures captured by infer.</p>
<p style="margin-left:11%; margin-top: 1em">If
<b>--source-files</b> is passed, print information about
captured source files.</p>
<p style="margin-left:11%; margin-top: 1em">If
<b>--global-tenv</b> is passed, print the global type
environment (if any).</p>
<p style="margin-left:11%; margin-top: 1em">At least one of
the above options must be passed.</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<h2>DEBUG GLOBAL TYPE ENVIRONMENT
<a name="DEBUG GLOBAL TYPE ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--global-tenv</b></p>
<p style="margin-left:17%;">Activates: Print the global
type environment. (Conversely: <b>--no-global-tenv</b>)</p>
<h2>DEBUG PROCEDURES
<a name="DEBUG PROCEDURES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--procedures</b></p>
<p style="margin-left:17%;">Activates: Print functions and
methods discovered by infer (Conversely:
<b>--no-procedures</b>)</p>
<p style="margin-left:11%;"><b>--procedures-attributes</b></p>
<p style="margin-left:17%;">Activates: Print the attributes
of each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-attributes</b>)</p>
<p style="margin-left:11%;"><b>--procedures-cfg</b></p>
<p style="margin-left:17%;">Activates: Output a dotty file
in
infer-out/captured/&lt;file_name&gt;/&lt;proc_name&gt;.dot
for each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-cfg</b>)</p>
<p style="margin-left:11%;"><b>--no-procedures-definedness</b></p>
<p style="margin-left:17%;">Deactivates: Include procedures
definedness in the output of <b>--procedures</b>, i.e.
whether the procedure definition was found, or only the
procedure declaration, or the procedure is an auto-generated
Objective-C accessor (Conversely:
<b>--procedures-definedness</b>)</p>
<p style="margin-left:11%;"><b>--procedures-filter</b>
<i>filter</i></p>
<p style="margin-left:17%;">With <b>--procedures</b>, only
print functions and methods (procedures) matching the
specified <i>filter</i>. A procedure filter is of the form
<i>path_pattern:procedure_name</i>. Patterns are interpreted
as OCaml Str regular expressions. For instance, to keep only
methods named &quot;foo&quot;, one can use the filter
&quot;.*:foo&quot;, or &quot;foo&quot; for short.</p>
<p style="margin-left:11%;"><b>--procedures-name</b></p>
<p style="margin-left:17%;">Activates: Include procedures
names in the output of <b>--procedures</b> (Conversely:
<b>--no-procedures-name</b>)</p>
<p style="margin-left:11%;"><b>--no-procedures-source-file</b></p>
<p style="margin-left:17%;">Deactivates: Include the source
file in which the procedure definition or declaration was
found in the output of <b>--procedures</b> (Conversely:
<b>--procedures-source-file</b>)</p>
<p style="margin-left:11%;"><b>--procedures-summary</b></p>
<p style="margin-left:17%;">Activates: Print the summaries
of each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-summary</b>)</p>
<h2>DEBUG SOURCE FILES
<a name="DEBUG SOURCE FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--source-files</b></p>
<p style="margin-left:17%;">Activates: Print source files
discovered by infer (Conversely:
<b>--no-source-files</b>)</p>
<p style="margin-left:11%;"><b>--source-files-cfg</b></p>
<p style="margin-left:17%;">Activates: Output a dotty file
in infer-out/captured for each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-cfg</b>)</p>
<p style="margin-left:11%;"><b>--source-files-filter</b>
<i>filter</i></p>
<p style="margin-left:17%;">With <b>--source-files</b>,
only print source files matching the specified
<i>filter</i>. The filter is a pattern that should match the
file path. Patterns are interpreted as OCaml Str regular
expressions.</p>
<p style="margin-left:11%;"><b>--source-files-freshly-captured</b></p>
<p style="margin-left:17%;">Activates: Print whether the
source file has been captured in the most recent capture
phase in the output of <b>--source-files</b>. (Conversely:
<b>--no-source-files-freshly-captured</b>)</p>
<p style="margin-left:11%;"><b>--source-files-procedure-names</b></p>
<p style="margin-left:17%;">Activates: Print the names of
procedure of each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-procedure-names</b>)</p>
<p style="margin-left:11%;"><b>--source-files-type-environment</b></p>
<p style="margin-left:17%;">Activates: Print the type
environment of each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-type-environment</b>)</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-explore</b>(1),
<b>infer-report</b>(1)</p>
<hr>
</body>
</html>

@ -0,0 +1,152 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-explore</title>
</head>
<body>
<h1 align="center">infer-explore</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#EXPLORE BUGS">EXPLORE BUGS</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-explore -
explore the error traces in infer reports</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer
explore</b> <i>[options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Show 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.</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
<i>dir</i></p>
<p style="margin-left:17%;">Write results and internal
files in the specified directory</p>
<h2>EXPLORE BUGS
<a name="EXPLORE BUGS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--html</b></p>
<p style="margin-left:17%;">Activates: Generate html
report. (Conversely: <b>--no-html</b>)</p>
<p style="margin-left:11%;"><b>--max-nesting</b>
<i>int</i></p>
<p style="margin-left:17%;">Level of nested procedure calls
to show. Trace elements beyond the maximum nesting level are
skipped. If omitted, all levels are shown.</p>
<p style="margin-left:11%;"><b>--select</b> <i>N</i></p>
<p style="margin-left:17%;">Select bug number <i>N</i>. If
omitted, prompt for input.</p>
<p style="margin-left:11%;"><b>--no-source-preview</b></p>
<p style="margin-left:17%;">Deactivates: print code
excerpts around trace elements (Conversely:
<b>--source-preview</b>)</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-report</b>(1),
<b>infer-run</b>(1)</p>
<hr>
</body>
</html>

@ -0,0 +1,166 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-help</title>
</head>
<body>
<h1 align="center">infer-help</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-help -
Show and generate documentation.</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer help
<br>
infer help --help-checker</b> <i>checker1 ...</i>
<b>--help-checker</b> <i>checkerN</i> <b><br>
infer help --help-issue-type</b> <i>ISSUE_TYPE1 ...</i>
<b>--help-issue-type</b> <i>ISSUE_TYPEN</i> <b><br>
infer help --list-checkers <br>
infer help --list-issue-types <br>
infer help --write-website</b> <i>website_root</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Without
arguments, show the Infer manual as with <b>infer
--help</b></p>
<p style="margin-left:11%; margin-top: 1em">For each
<b>-help-checker</b> or <b>--help-issue-type</b> option
passed, display information about the given checker or issue
type.</p>
<p style="margin-left:11%; margin-top: 1em">If
<b>--list-checkers</b> is passed, list all available
checkers.</p>
<p style="margin-left:11%; margin-top: 1em">If
<b>--list-issue-types</b> is passed, list all issue
types.</p>
<p style="margin-left:11%; margin-top: 1em">Use
<b>--write-website</b> to build some of the documentation
for the <i>fbinfer.com</i> website. (Used in scripts, not
meant to be used except when publishing content to
<i>fbinfer.com</i>)</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-checker</b>
<i>+checker-id</i></p>
<p style="margin-left:17%;">Show information about a
checker, for example <i>biabduction</i>. To see the list of
all checkers, see <b>--list-checkers</b>.</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:11%;"><b>--help-issue-type</b>
<i>+UNIQUE_ID</i></p>
<p style="margin-left:17%;">Show information about an issue
type, for example <i>NULL_DEREFERENCE</i>. To see the list
of all issue types, see <b>--list-issue-types</b>.</p>
<p style="margin-left:11%;"><b>--list-checkers</b></p>
<p style="margin-left:17%;">Activates: Show the list of all
available checkers. (Conversely:
<b>--no-list-checkers</b>)</p>
<p style="margin-left:11%;"><b>--list-issue-types</b></p>
<p style="margin-left:17%;">Activates: Show the list of all
issue types that infer might report. (Conversely:
<b>--no-list-issue-types</b>)</p>
<p style="margin-left:11%;"><b>--write-website</b>
<i>path_to_website_dir</i></p>
<p style="margin-left:17%;">Use to write website files
documenting issue types and checkers under
<i>path_to_website_dir/</i>. Meant to be used within the
Infer directory to generate its website at
<i>fbinfer.com</i> at <i>website/</i>.</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<hr>
</body>
</html>

@ -0,0 +1,544 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-report</title>
</head>
<body>
<h1 align="center">infer-report</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#HOISTING OPTIONS">HOISTING OPTIONS</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-report -
compute and manipulate infer results</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer
report</b> <i>[options]</i> [<i>file.specs</i>...]</p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Read, convert,
and print .specs files in the results directory. Each spec
is printed to standard output unless option -q is used.</p>
<p style="margin-left:11%; margin-top: 1em">If no specs
file are passed on the command line, process all the .specs
in the results directory.</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--censor-report</b>
<i>+string</i></p>
<p style="margin-left:17%;">Specify a filter for issues to
be censored by adding a 'censored_reason' field in the json
report. Infer will not report censored issues on the console
output and in report.txt, but tools that post-process the
json report can take them into account. If multiple filters
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:
&rsquo;&lt;issue_type_regex&gt;:&lt;filename_regex&gt;:&lt;reason_string&gt;&rsquo;.
The first two components are OCaml Str regular expressions,
with an optional &rsquo;!&rsquo; character prefix. If a
regex has a &rsquo;!&rsquo; prefix, the polarity is
inverted, and the filter becomes a &quot;blacklist&quot;
instead of a &quot;whitelist&quot;. Each filter is
interpreted as an implication: an issue matches if it does
not match the &rsquo;issue_type_regex&rsquo; or if it does
match the &rsquo;filename_regex&rsquo;. The filenames that
are tested by the regex are relative to the
&rsquo;--project-root&rsquo; directory. The
&rsquo;&lt;reason_string&gt;&rsquo; is a non-empty string
used to explain why the issue was filtered.</p>
<p style="margin-left:11%;"><b>--cost-issues-tests</b>
<i>file</i></p>
<p style="margin-left:17%;">Write a list of cost issues in
a format suitable for cost tests to <i>file</i></p>
<p style="margin-left:11%;"><b>--cost-tests-only-autoreleasepool</b></p>
<p style="margin-left:17%;">Activates: [EXPERIMENTAL]
Report only autoreleasepool size results in cost tests
(Conversely:
<b>--no-cost-tests-only-autoreleasepool</b>)</p>
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
<p style="margin-left:17%;">Activates: Debug mode (also
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
<b>--no-debug</b> | <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p>
<p style="margin-left:17%;">Debug level (sets
<b>--bo-debug</b> <i>level</i>,
<b>--debug-level-analysis</b> <i>level</i>,
<b>--debug-level-capture</b> <i>level</i>,
<b>--debug-level-linters</b> <i>level</i>):</p>
<p style="margin-left:11%;">- 0: only basic debugging
enabled <br>
- 1: verbose debugging enabled <br>
- 2: very verbose debugging enabled <b><br>
--debug-level-analysis</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for the analysis.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-capture</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the capture.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-linters</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the linters.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--no-deduplicate</b></p>
<p style="margin-left:17%;">Deactivates: Apply
issue-specific deduplication during analysis and/or
reporting. (Conversely: <b>--deduplicate</b>)</p>
<p style="margin-left:11%;"><b>--differential-filter-files</b>
<i>string</i></p>
<p style="margin-left:17%;">Specify the file containing the
list of source files for which a differential report is
desired. Source files should be specified relative to
project root or be absolute</p>
<p style="margin-left:11%;"><b>--disable-issue-type</b>
<i>+issue_type</i></p>
<p style="margin-left:17%;">Do not show reports coming from
this type of issue. Each checker can report a range of issue
types. This option provides fine-grained filtering over
which types of issue should be reported once the checkers
have run. In particular, note that disabling issue types
does not make the corresponding checker not run.</p>
<p style="margin-left:11%;">Available issue types are as
follows: <br>
ARRAY_OUT_OF_BOUNDS_L1 (disabled by default), <br>
ARRAY_OUT_OF_BOUNDS_L2 (disabled by default), <br>
ARRAY_OUT_OF_BOUNDS_L3 (disabled by default), <br>
ASSIGN_POINTER_WARNING (enabled by default), <br>
AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE (enabled by
default), <br>
AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE_UI_THREAD (enabled
by <br>
default), <br>
AUTORELEASEPOOL_SIZE_UNREACHABLE_AT_EXIT (disabled by
default), <br>
Abduction_case_not_implemented (enabled by default), <br>
Array_of_pointsto (enabled by default), <br>
Assert_failure (enabled by default), <br>
BAD_POINTER_COMPARISON (enabled by default), <br>
BIABDUCTION_ANALYSIS_STOPS (disabled by default), <br>
BIABDUCTION_MEMORY_LEAK (disabled by default), <br>
BUFFER_OVERRUN_L1 (enabled by default), <br>
BUFFER_OVERRUN_L2 (enabled by default), <br>
BUFFER_OVERRUN_L3 (enabled by default), <br>
BUFFER_OVERRUN_L4 (disabled by default), <br>
BUFFER_OVERRUN_L5 (disabled by default), <br>
BUFFER_OVERRUN_S2 (enabled by default), <br>
BUFFER_OVERRUN_U5 (disabled by default), <br>
Bad_footprint (enabled by default), <br>
CAPTURED_STRONG_SELF (enabled by default), <br>
CHECKERS_ALLOCATES_MEMORY (enabled by default), <br>
CHECKERS_ANNOTATION_REACHABILITY_ERROR (enabled by default),
<br>
CHECKERS_CALLS_EXPENSIVE_METHOD (enabled by default), <br>
CHECKERS_EXPENSIVE_OVERRIDES_UNANNOTATED (enabled by
default), <br>
CHECKERS_FRAGMENT_RETAINS_VIEW (enabled by default), <br>
CHECKERS_IMMUTABLE_CAST (enabled by default), <br>
CHECKERS_PRINTF_ARGS (enabled by default), <br>
CLASS_CAST_EXCEPTION (disabled by default), <br>
COMPONENT_WITH_MULTIPLE_FACTORY_METHODS (enabled by
default), <br>
CONDITION_ALWAYS_FALSE (disabled by default), <br>
CONDITION_ALWAYS_TRUE (disabled by default), <br>
CONFIG_CHECKS_BETWEEN_MARKERS (disabled by default), <br>
CONSTANT_ADDRESS_DEREFERENCE (disabled by default), <br>
CREATE_INTENT_FROM_URI (enabled by default), <br>
CROSS_SITE_SCRIPTING (enabled by default), <br>
CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK (enabled by default),
<br>
Cannot_star (enabled by default), <br>
DANGLING_POINTER_DEREFERENCE (disabled by default), <br>
DANGLING_POINTER_DEREFERENCE_MAYBE (disabled by default),
<br>
DEADLOCK (enabled by default), <br>
DEAD_STORE (enabled by default), <br>
DIRECT_ATOMIC_PROPERTY_ACCESS (enabled by default), <br>
DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER (enabled by
default), <br>
DIVIDE_BY_ZERO (disabled by default), <br>
DO_NOT_REPORT (enabled by default), <br>
EMPTY_VECTOR_ACCESS (enabled by default), <br>
ERADICATE_BAD_NESTED_CLASS_ANNOTATION (enabled by default),
<br>
ERADICATE_CONDITION_REDUNDANT (enabled by default), <br>
ERADICATE_FIELD_NOT_INITIALIZED (enabled by default), <br>
ERADICATE_FIELD_NOT_NULLABLE (enabled by default), <br>
ERADICATE_FIELD_OVER_ANNOTATED (enabled by default), <br>
ERADICATE_INCONSISTENT_SUBCLASS_PARAMETER_ANNOTATION
(enabled <br>
by default), <br>
ERADICATE_INCONSISTENT_SUBCLASS_RETURN_ANNOTATION (enabled
by <br>
default), <br>
ERADICATE_META_CLASS_CAN_BE_NULLSAFE (disabled by default),
<br>
ERADICATE_META_CLASS_IS_NULLSAFE (disabled by default), <br>
ERADICATE_META_CLASS_NEEDS_IMPROVEMENT (disabled by
default), <br>
ERADICATE_NULLABLE_DEREFERENCE (enabled by default), <br>
ERADICATE_PARAMETER_NOT_NULLABLE (enabled by default), <br>
ERADICATE_REDUNDANT_NESTED_CLASS_ANNOTATION (enabled by <br>
default), <br>
ERADICATE_RETURN_NOT_NULLABLE (enabled by default), <br>
ERADICATE_RETURN_OVER_ANNOTATED (enabled by default), <br>
ERADICATE_UNCHECKED_USAGE_IN_NULLSAFE (enabled by default),
<br>
ERADICATE_UNVETTED_THIRD_PARTY_IN_NULLSAFE (enabled by <br>
default), <br>
EXECUTION_TIME_COMPLEXITY_INCREASE (enabled by default),
<br>
EXECUTION_TIME_COMPLEXITY_INCREASE_UI_THREAD (enabled by
<br>
default), <br>
EXECUTION_TIME_UNREACHABLE_AT_EXIT (disabled by default),
<br>
EXPENSIVE_LOOP_INVARIANT_CALL (enabled by default), <br>
EXPOSED_INSECURE_INTENT_HANDLING (enabled by default), <br>
Failure_exe (enabled by default), <br>
GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL
<br>
(disabled by default), <br>
GUARDEDBY_VIOLATION (enabled by default), <br>
IMPURE_FUNCTION (enabled by default), <br>
INEFFICIENT_KEYSET_ITERATOR (enabled by default), <br>
INFERBO_ALLOC_IS_BIG (enabled by default), <br>
INFERBO_ALLOC_IS_NEGATIVE (enabled by default), <br>
INFERBO_ALLOC_IS_ZERO (enabled by default), <br>
INFERBO_ALLOC_MAY_BE_BIG (enabled by default), <br>
INFERBO_ALLOC_MAY_BE_NEGATIVE (enabled by default), <br>
INFINITE_AUTORELEASEPOOL_SIZE (disabled by default), <br>
INFINITE_EXECUTION_TIME (disabled by default), <br>
INHERENTLY_DANGEROUS_FUNCTION (enabled by default), <br>
INSECURE_INTENT_HANDLING (enabled by default), <br>
INTEGER_OVERFLOW_L1 (enabled by default), <br>
INTEGER_OVERFLOW_L2 (enabled by default), <br>
INTEGER_OVERFLOW_L5 (disabled by default), <br>
INTEGER_OVERFLOW_U5 (disabled by default), <br>
INTERFACE_NOT_THREAD_SAFE (enabled by default), <br>
INVARIANT_CALL (disabled by default), <br>
IVAR_NOT_NULL_CHECKED (enabled by default), <br>
Internal_error (enabled by default), <br>
JAVASCRIPT_INJECTION (enabled by default), <br>
LAB_RESOURCE_LEAK (enabled by default), <br>
LOCKLESS_VIOLATION (enabled by default), <br>
LOCK_CONSISTENCY_VIOLATION (enabled by default), <br>
LOGGING_PRIVATE_DATA (enabled by default), <br>
Leak_after_array_abstraction (enabled by default), <br>
Leak_in_footprint (enabled by default), <br>
Leak_unknown_origin (disabled by default), <br>
MEMORY_LEAK (enabled by default), <br>
MISSING_REQUIRED_PROP (enabled by default), <br>
MIXED_SELF_WEAKSELF (enabled by default), <br>
MULTIPLE_WEAKSELF (enabled by default), <br>
MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE (enabled by
default), <br>
Missing_fld (enabled by default), <br>
NULLPTR_DEREFERENCE (disabled by default), <br>
NULL_DEREFERENCE (enabled by default), <br>
OPTIONAL_EMPTY_ACCESS (disabled by default), <br>
PARAMETER_NOT_NULL_CHECKED (enabled by default), <br>
POINTER_TO_CONST_OBJC_CLASS (enabled by default), <br>
PRECONDITION_NOT_FOUND (enabled by default), <br>
PRECONDITION_NOT_MET (enabled by default), <br>
PREMATURE_NIL_TERMINATION_ARGUMENT (enabled by default),
<br>
PURE_FUNCTION (enabled by default), <br>
QUANDARY_TAINT_ERROR (enabled by default), <br>
RESOURCE_LEAK (enabled by default), <br>
RETAIN_CYCLE (enabled by default), <br>
SHELL_INJECTION (enabled by default), <br>
SHELL_INJECTION_RISK (enabled by default), <br>
SKIP_FUNCTION (disabled by default), <br>
SQL_INJECTION (enabled by default), <br>
SQL_INJECTION_RISK (enabled by default), <br>
STACK_VARIABLE_ADDRESS_ESCAPE (enabled by default), <br>
STARVATION (enabled by default), <br>
STATIC_INITIALIZATION_ORDER_FIASCO (enabled by default),
<br>
STRICT_MODE_VIOLATION (enabled by default), <br>
STRONG_DELEGATE_WARNING (enabled by default), <br>
STRONG_SELF_NOT_CHECKED (enabled by default), <br>
Symexec_memory_error (enabled by default), <br>
THREAD_SAFETY_VIOLATION (enabled by default), <br>
TOPL_BIABD_ERROR (enabled by default), <br>
TOPL_PULSE_ERROR (enabled by default), <br>
UNINITIALIZED_VALUE (enabled by default), <br>
UNREACHABLE_CODE (enabled by default), <br>
UNTRUSTED_BUFFER_ACCESS (disabled by default), <br>
UNTRUSTED_DESERIALIZATION (enabled by default), <br>
UNTRUSTED_DESERIALIZATION_RISK (enabled by default), <br>
UNTRUSTED_ENVIRONMENT_CHANGE_RISK (enabled by default), <br>
UNTRUSTED_FILE (enabled by default), <br>
UNTRUSTED_FILE_RISK (enabled by default), <br>
UNTRUSTED_HEAP_ALLOCATION (disabled by default), <br>
UNTRUSTED_INTENT_CREATION (enabled by default), <br>
UNTRUSTED_URL_RISK (enabled by default), <br>
UNTRUSTED_VARIABLE_LENGTH_ARRAY (enabled by default), <br>
USER_CONTROLLED_SQL_RISK (enabled by default), <br>
USE_AFTER_DELETE (enabled by default), <br>
USE_AFTER_FREE (enabled by default), <br>
USE_AFTER_LIFETIME (enabled by default), <br>
VECTOR_INVALIDATION (enabled by default), <br>
WEAK_SELF_IN_NO_ESCAPE_BLOCK (enabled by default), <br>
Wrong_argument_number (enabled by default). <b><br>
--enable-issue-type</b> <i>+issue_type</i></p>
<p style="margin-left:17%;">Show reports coming from this
type of issue. By default, all issue types are enabled
except the ones listed in <b>--disable-issue-type</b>. Note
that enabling issue types does not make the corresponding
checker run; see individual checker options to turn them on
or off.</p>
<p style="margin-left:11%;"><b>--no-filtering</b>,<b>-F</b></p>
<p style="margin-left:17%;">Deactivates: Do not show the
experimental and blacklisted issue types (Conversely:
<b>--filtering</b> | <b>-f</b>)</p>
<p style="margin-left:11%;"><b>--from-json-costs-report</b>
<i>costs-report.json</i></p>
<p style="margin-left:17%;">Load costs analysis results
from a costs-report file.</p>
<p style="margin-left:11%;"><b>--from-json-report</b>
<i>report.json</i></p>
<p style="margin-left:17%;">Load analysis results from a
report file (default is to load the results from the specs
files generated by the analysis).</p>
<p style="margin-left:11%;"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:11%;"><b>--issues-tests</b>
<i>file</i></p>
<p style="margin-left:17%;">Write a list of issues in a
format suitable for tests to <i>file</i></p>
<p style="margin-left:11%;"><b>--issues-tests-fields</b>
<i>,-separated sequence of { bug_type | bucket | <br>
qualifier | severity | line | column | procedure |
procedure_start_line <br>
| file | bug_trace | key | hash | line_offset | <br>
qualifier_contains_potential_exception_note | nullsafe_extra
}</i></p>
<p style="margin-left:17%;">Fields to emit with
<b>--issues-tests</b></p>
<p style="margin-left:11%;"><b>--print-logs</b></p>
<p style="margin-left:17%;">Activates: Also log messages to
stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
<p style="margin-left:11%;"><b>--project-root</b>,<b>-C</b>
<i>dir</i></p>
<p style="margin-left:17%;">Specify the root directory of
the project</p>
<p style="margin-left:11%;"><b>--quiet</b>,<b>-q</b></p>
<p style="margin-left:17%;">Activates: Do not print
anything on standard output. (Conversely: <b>--no-quiet</b>
| <b>-Q</b>)</p>
<p style="margin-left:11%;"><b>--report-blacklist-files-containing</b>
<i>+string</i></p>
<p style="margin-left:17%;">Do not report any issues on
files containing the specified string</p>
<p style="margin-left:11%;"><b>--report-blacklist-path-regex</b>
<i>+path_regex</i></p>
<p style="margin-left:17%;">Do not report any issues on
files whose relative path matches the specified OCaml regex,
even if they match the whitelist specified by
<b>--report-whitelist-path-regex</b></p>
<p style="margin-left:11%;"><b>--report-console-limit</b>
<i>int</i></p>
<p style="margin-left:17%;">Maximum number of issues to
display on standard output. Unset with
<b>--report-console-limit-reset</b> to show all.</p>
<p style="margin-left:11%;"><b>--report-formatter</b> <i>{
none | phabricator }</i></p>
<p style="margin-left:17%;">Which formatter to use when
emitting the report</p>
<p style="margin-left:11%;"><b>--report-suppress-errors</b>
<i>+error_name</i></p>
<p style="margin-left:17%;">do not report a type of
errors</p>
<p style="margin-left:11%;"><b>--report-whitelist-path-regex</b>
<i>+path_regex</i></p>
<p style="margin-left:17%;">Report issues only on files
whose relative path matches the specified OCaml regex (and
which do not match <b>--report-blacklist-path-regex</b>)</p>
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
<i>dir</i></p>
<p style="margin-left:17%;">Write results and internal
files in the specified directory</p>
<p style="margin-left:11%;"><b>--skip-analysis-in-path-skips-compilation</b></p>
<p style="margin-left:17%;">Activates: Whether paths in
--skip-analysis-in-path should be compiled or not
(Conversely:
<b>--no-skip-analysis-in-path-skips-compilation</b>)</p>
<h2>HOISTING OPTIONS
<a name="HOISTING OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--no-hoisting-report-only-expensive</b></p>
<p style="margin-left:17%;">Deactivates: [Hoisting] Report
loop-invariant calls only when the function is expensive,
i.e. at least linear (Conversely:
<b>--hoisting-report-only-expensive</b>)</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-reportdiff</b>(1),
<b>infer-run</b>(1)</p>
<hr>
</body>
</html>

@ -0,0 +1,218 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-reportdiff</title>
</head>
<body>
<h1 align="center">infer-reportdiff</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-reportdiff
- compute the differences between two infer reports</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer
reportdiff --report-current</b> <i>file</i>
<b>--report-previous</b> <i>file [options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Given two infer
reports <i>previous</i> and <i>current</i>, compute the
following three reports and store them inside the
&quot;differential/&quot; subdirectory of the results
directory: <br>
- <b>introduced.json</b> contains the issues found in
<i>current</i> but not <i>previous</i>; <br>
- <b>fixed.json</b> contains the issues found in
<i>previous</i> but not <i>current</i>; <br>
- <b>preexisting.json</b> contains the issues found in both
<i>previous</i> and <i>current</i>.</p>
<p style="margin-left:11%; margin-top: 1em">All three files
follow the same format as normal infer reports.</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--cost-tests-only-autoreleasepool</b></p>
<p style="margin-left:17%;">Activates: [EXPERIMENTAL]
Report only autoreleasepool size results in cost tests
(Conversely:
<b>--no-cost-tests-only-autoreleasepool</b>)</p>
<p style="margin-left:11%;"><b>--costs-current</b>
<i>path</i></p>
<p style="margin-left:17%;">Costs report of the latest
revision</p>
<p style="margin-left:11%;"><b>--costs-previous</b>
<i>path</i></p>
<p style="margin-left:17%;">Costs report of the base
revision to use for comparison</p>
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
<p style="margin-left:17%;">Activates: Debug mode (also
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
<b>--no-debug</b> | <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p>
<p style="margin-left:17%;">Debug level (sets
<b>--bo-debug</b> <i>level</i>,
<b>--debug-level-analysis</b> <i>level</i>,
<b>--debug-level-capture</b> <i>level</i>,
<b>--debug-level-linters</b> <i>level</i>):</p>
<p style="margin-left:11%;">- 0: only basic debugging
enabled <br>
- 1: verbose debugging enabled <br>
- 2: very verbose debugging enabled <b><br>
--debug-level-analysis</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for the analysis.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-capture</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the capture.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-linters</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the linters.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--no-deduplicate</b></p>
<p style="margin-left:17%;">Deactivates: Apply
issue-specific deduplication during analysis and/or
reporting. (Conversely: <b>--deduplicate</b>)</p>
<p style="margin-left:11%;"><b>--file-renamings</b>
<i>path</i></p>
<p style="margin-left:17%;">JSON with a list of file
renamings to use while computing differential reports</p>
<p style="margin-left:11%;"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:11%;"><b>--report-current</b>
<i>path</i></p>
<p style="margin-left:17%;">report of the latest
revision</p>
<p style="margin-left:11%;"><b>--report-previous</b>
<i>path</i></p>
<p style="margin-left:17%;">Report of the base revision to
use for comparison</p>
<p style="margin-left:11%;"><b>--no-skip-duplicated-types</b></p>
<p style="margin-left:17%;">Deactivates: Skip
fixed-then-introduced duplicated types while computing
differential reports (Conversely:
<b>--skip-duplicated-types</b>)</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-report</b>(1)</p>
<hr>
</body>
</html>

@ -0,0 +1,374 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-run</title>
</head>
<body>
<h1 align="center">infer-run</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#BUCK OPTIONS">BUCK OPTIONS</a><br>
<a href="#JAVA OPTIONS">JAVA OPTIONS</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-run -
capture source files, analyze, and report</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer
run</b> <i>[options]</i> <b><br>
infer</b> <i>[options]</i> <b>--</b> <i>compile
command</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Calling
&quot;<b>infer run</b> <i>[options]</i>&quot; is equivalent
to performing the following sequence of commands:</p>
<p style="margin-left:11%; margin-top: 1em"><b>infer
capture</b> <i>[options]</i> <b><br>
infer analyze</b> <i>[options]</i></p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><i><b>--censor-report</b>
+string</i></p>
<p style="margin-left:17%;">Specify a filter for issues to
be censored by adding a 'censored_reason' field in the json
report. Infer will not report censored issues on the console
output and in report.txt, but tools that post-process the
json report can take them into account. If multiple filters
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:
&rsquo;&lt;issue_type_regex&gt;:&lt;filename_regex&gt;:&lt;reason_string&gt;&rsquo;.
The first two components are OCaml Str regular expressions,
with an optional &rsquo;!&rsquo; character prefix. If a
regex has a &rsquo;!&rsquo; prefix, the polarity is
inverted, and the filter becomes a &quot;blacklist&quot;
instead of a &quot;whitelist&quot;. Each filter is
interpreted as an implication: an issue matches if it does
not match the &rsquo;issue_type_regex&rsquo; or if it does
match the &rsquo;filename_regex&rsquo;. The filenames that
are tested by the regex are relative to the
&rsquo;--project-root&rsquo; directory. The
&rsquo;&lt;reason_string&gt;&rsquo; is a non-empty string
used to explain why the issue was filtered.</p>
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
<p style="margin-left:17%;">Activates: Debug mode (also
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
<b>--no-debug</b> | <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p>
<p style="margin-left:17%;">Debug level (sets
<b>--bo-debug</b> <i>level</i>,
<b>--debug-level-analysis</b> <i>level</i>,
<b>--debug-level-capture</b> <i>level</i>,
<b>--debug-level-linters</b> <i>level</i>):</p>
<p style="margin-left:11%;">- 0: only basic debugging
enabled <br>
- 1: verbose debugging enabled <br>
- 2: very verbose debugging enabled <b><br>
--debug-level-analysis</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for the analysis.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-capture</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the capture.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--debug-level-linters</b>
<i>int</i></p>
<p style="margin-left:17%;">Debug level for the linters.
See <b>--debug-level</b> for accepted values.</p>
<p style="margin-left:11%;"><b>--fail-on-issue</b></p>
<p style="margin-left:17%;">Activates: Exit with error code
2 if Infer found something to report (Conversely:
<b>--no-fail-on-issue</b>)</p>
<p style="margin-left:11%;"><b>--force-delete-results-dir</b></p>
<p style="margin-left:17%;">Activates: Do not refuse to
delete the results directory if it doesn't look like an
infer results directory. (Conversely:
<b>--no-force-delete-results-dir</b>)</p>
<p style="margin-left:11%;"><b>--force-integration</b>
<i>command</i></p>
<p style="margin-left:17%;">Proceed as if the first
argument after <b>--</b> was <i>command</i>. Possible
values: <i>ant</i>, <i>buck</i>, <i>gradle</i>,
<i>gradlew</i>, <i>java</i>, <i>javac</i>, <i>cc</i>,
<i>clang</i>, <i>gcc</i>, <i>clang++</i>, <i>c++</i>,
<i>g++</i>, <i>make</i>, <i>configure</i>, <i>cmake</i>,
<i>waf</i>, <i>mvn</i>, <i>mvnw</i>, <i>ndk-build</i>,
<i>xcodebuild</i>.</p>
<p style="margin-left:11%;"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:11%;"><b>--pmd-xml</b></p>
<p style="margin-left:17%;">Activates: Output issues in
(PMD) XML format in infer-out/report.xml (Conversely:
<b>--no-pmd-xml</b>)</p>
<p style="margin-left:11%;"><b>--print-logs</b></p>
<p style="margin-left:17%;">Activates: Also log messages to
stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
<p style="margin-left:11%;"><b>--no-progress-bar</b>,<b>-P</b></p>
<p style="margin-left:17%;">Deactivates: Show a progress
bar (Conversely: <b>--progress-bar</b> | <b>-p</b>)</p>
<p style="margin-left:11%;"><b>--project-root</b>,<b>-C</b>
<i>dir</i></p>
<p style="margin-left:17%;">Specify the root directory of
the project</p>
<p style="margin-left:11%;"><b>--no-report</b></p>
<p style="margin-left:17%;">Deactivates: Run the reporting
phase once the analysis has completed (Conversely:
<b>--report</b>)</p>
<p style="margin-left:11%;"><b>--report-blacklist-files-containing</b>
<i>+string</i></p>
<p style="margin-left:17%;">Do not report any issues on
files containing the specified string</p>
<p style="margin-left:11%;"><b>--report-blacklist-path-regex</b>
<i>+path_regex</i></p>
<p style="margin-left:17%;">Do not report any issues on
files whose relative path matches the specified OCaml regex,
even if they match the whitelist specified by
<b>--report-whitelist-path-regex</b></p>
<p style="margin-left:11%;"><b>--report-force-relative-path</b></p>
<p style="margin-left:17%;">Activates: Force converting an
absolute path to a relative path to the root directory
(Conversely: <b>--no-report-force-relative-path</b>)</p>
<p style="margin-left:11%;"><b>--report-suppress-errors</b>
<i>+error_name</i></p>
<p style="margin-left:17%;">do not report a type of
errors</p>
<p style="margin-left:11%;"><b>--report-whitelist-path-regex</b>
<i>+path_regex</i></p>
<p style="margin-left:17%;">Report issues only on files
whose relative path matches the specified OCaml regex (and
which do not match <b>--report-blacklist-path-regex</b>)</p>
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
<i>dir</i></p>
<p style="margin-left:17%;">Write results and internal
files in the specified directory</p>
<p style="margin-left:11%;"><b>--skip-analysis-in-path</b>
<i>+path_prefix_OCaml_regex</i></p>
<p style="margin-left:17%;">Ignore files whose path matches
the given prefix (can be specified multiple times)</p>
<p style="margin-left:11%;"><b>--sqlite-cache-size</b>
<i>int</i></p>
<p style="margin-left:17%;">SQLite cache size in pages (if
positive) or kB (if negative), follows formal of
corresponding SQLite PRAGMA.</p>
<p style="margin-left:11%;"><b>--sqlite-lock-timeout</b>
<i>int</i></p>
<p style="margin-left:17%;">Timeout for SQLite results
database operations, in milliseconds.</p>
<p style="margin-left:11%;"><b>--sqlite-page-size</b>
<i>int</i></p>
<p style="margin-left:17%;">SQLite page size in bytes, must
be a power of two between 512 and 65536.</p>
<p style="margin-left:11%;"><b>--version</b></p>
<p style="margin-left:17%;">Print version information and
exit</p>
<p style="margin-left:11%;"><b>--version-json</b></p>
<p style="margin-left:17%;">Print version information in
json format and exit</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="3%">
<p><b>--</b></p></td>
<td width="3%"></td>
<td width="83%">
<p>Stop argument processing, use remaining arguments as a
build command</p></td></tr>
</table>
<h2>BUCK OPTIONS
<a name="BUCK OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--buck-blacklist</b>
<i>+regex</i></p>
<p style="margin-left:17%;">Skip capture of files matched
by the specified regular expression. Only the clang,
non-compilation-database</p>
<p style="margin-left:11%;">Buck integration is supported,
not Java. <b><br>
--buck-targets-blacklist</b> <i>+regex</i></p>
<p style="margin-left:17%;">Skip capture of buck targets
matched by the specified regular expression. Only valid for
<b>--buck-compilation-database</b>.</p>
<h2>JAVA OPTIONS
<a name="JAVA OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--capture-blacklist</b>
<i>regex</i></p>
<p style="margin-left:17%;">Skip capture of files matched
by the specified OCaml regular expression (only supported by
the javac integration for now).</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-analyze</b>(1),
<b>infer-capture</b>(1), <b>infer-report</b>(1)</p>
<hr>
</body>
</html>

File diff suppressed because it is too large Load Diff

@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19.2 --> <!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Mon Jun 29 14:17:41 2020 --> <!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
@ -8,16 +8,17 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css"> <meta name="Content-Style" content="text/css">
<style type="text/css"> <style type="text/css">
p { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; } pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; } table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style> </style>
<title>infer-analyze</title> <title>infer-analyze</title>
</head> </head>
<body> <body>
<h1 align=center>infer-analyze</h1> <h1 align="center">infer-analyze</h1>
<a href="#NAME">NAME</a><br> <a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br> <a href="#SYNOPSIS">SYNOPSIS</a><br>
@ -37,31 +38,35 @@
<hr> <hr>
<h2>NAME
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">infer-analyze - <p style="margin-left:11%; margin-top: 1em">infer-analyze -
analyze the files captured by infer</p> analyze the files captured by infer</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a> <a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer <p style="margin-left:11%; margin-top: 1em"><b>infer
analyze</b> <i>[options]</i> <b><br> analyze</b> <i>[options]</i> <b><br>
infer</b> <i>[options]</i></p> infer</b> <i>[options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a> <a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Analyze the <p style="margin-left:11%; margin-top: 1em">Analyze the
files captured in the project results directory and files captured in the project results directory and
report.</p> report.</p>
<h2>OPTIONS
<a name="OPTIONS"></a> <a name="OPTIONS"></a>
<h2>OPTIONS</h2> </h2>
@ -69,12 +74,12 @@ report.</p>
<p style="margin-left:17%;">Activates: checker <p style="margin-left:17%;">Activates: checker
annotation-reachability: Given a pair of source and sink annotation-reachability: Given a pair of source and sink
annotation, e.g. &lsquo;@PerformanceCritical&lsquo; and annotation, e.g. &rsquo;@PerformanceCritical&rsquo; and
&lsquo;@Expensive&lsquo;, this checker will warn whenever &rsquo;@Expensive&rsquo;, this checker will warn whenever
some method annotated with some method annotated with
&lsquo;@PerformanceCritical&lsquo; calls, directly or &rsquo;@PerformanceCritical&rsquo; calls, directly or
indirectly, another method annotated with indirectly, another method annotated with
&lsquo;@Expensive&lsquo; (Conversely: &rsquo;@Expensive&rsquo; (Conversely:
<b>--no-annotation-reachability</b>)</p> <b>--no-annotation-reachability</b>)</p>
@ -148,7 +153,7 @@ given the same before. Not compatible with
<p style="margin-left:17%;">Activates: checker cost: <p style="margin-left:17%;">Activates: checker cost:
Computes the time complexity of functions and methods. Can Computes the time complexity of functions and methods. Can
be used to detect changes in runtime complexity with be used to detect changes in runtime complexity with
&lsquo;infer reportdiff&lsquo;. (Conversely: &rsquo;infer reportdiff&rsquo;. (Conversely:
<b>--no-cost</b>)</p> <b>--no-cost</b>)</p>
<p style="margin-left:11%;"><b>--cost-only</b></p> <p style="margin-left:11%;"><b>--cost-only</b></p>
@ -222,7 +227,7 @@ reporting. (Conversely: <b>--deduplicate</b>)</p>
<p style="margin-left:11%;"><b>--eradicate</b></p> <p style="margin-left:11%;"><b>--eradicate</b></p>
<p style="margin-left:17%;">Activates: checker eradicate: <p style="margin-left:17%;">Activates: checker eradicate:
The eradicate &lsquo;@Nullable&lsquo; checker for Java The eradicate &rsquo;@Nullable&rsquo; checker for Java
annotations. (Conversely: <b>--no-eradicate</b>)</p> annotations. (Conversely: <b>--no-eradicate</b>)</p>
<p style="margin-left:11%;"><b>--eradicate-only</b></p> <p style="margin-left:11%;"><b>--eradicate-only</b></p>
@ -268,9 +273,9 @@ internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:17%;">Activates: checker <p style="margin-left:17%;">Activates: checker
immutable-cast: Detection of object cast from immutable immutable-cast: Detection of object cast from immutable
types to mutable types. For instance, it will detect casts types to mutable types. For instance, it will detect casts
from &lsquo;ImmutableList&lsquo; to &lsquo;List&lsquo;, from &rsquo;ImmutableList&rsquo; to &rsquo;List&rsquo;,
&lsquo;ImmutableMap&lsquo; to &lsquo;Map&lsquo;, and &rsquo;ImmutableMap&rsquo; to &rsquo;Map&rsquo;, and
&lsquo;ImmutableSet&lsquo; to &lsquo;Set&lsquo;. &rsquo;ImmutableSet&rsquo; to &rsquo;Set&rsquo;.
(Conversely: <b>--no-immutable-cast</b>)</p> (Conversely: <b>--no-immutable-cast</b>)</p>
@ -339,7 +344,7 @@ disable all other checkers (Conversely:
<p style="margin-left:17%;">Activates: checker <p style="margin-left:17%;">Activates: checker
litho-required-props: Checks that all non-optional litho-required-props: Checks that all non-optional
&lsquo;@Prop&lsquo;s have been specified when constructing &rsquo;@Prop&rsquo;s have been specified when constructing
Litho components. (Conversely: Litho components. (Conversely:
<b>--no-litho-required-props</b>)</p> <b>--no-litho-required-props</b>)</p>
@ -376,12 +381,11 @@ that are invariant outside of loop bodies for efficiency.
and disable all other checkers (Conversely: and disable all other checkers (Conversely:
<b>--no-loop-hoisting-only</b>)</p> <b>--no-loop-hoisting-only</b>)</p>
<p style="margin-left:11%;"><b>--max-jobs</b>
<i>int</i></p>
<p style="margin-left:11%;"><b>--perf-profiler-data-file</b> <p style="margin-left:17%;">Maximum number of analysis jobs
<i>file</i></p> running simultaneously</p>
<p style="margin-left:17%;">DEPRECATED: Specify the file
containing perf profiler data to read</p>
<p style="margin-left:11%;"><b>--print-active-checkers</b></p> <p style="margin-left:11%;"><b>--print-active-checkers</b></p>
@ -398,11 +402,11 @@ stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
<p style="margin-left:11%;"><b>--printf-args</b></p> <p style="margin-left:11%;"><b>--printf-args</b></p>
<p style="margin-left:17%;">Activates: checker printf-args: <p style="margin-left:17%;">Activates: checker printf-args:
Detect mismatches between the Java &lsquo;printf&lsquo; Detect mismatches between the Java &rsquo;printf&rsquo;
format strings and the argument types For example, this format strings and the argument types For example, this
checker will warn about the type error in checker will warn about the type error in
&lsquo;printf(&quot;Hello %d&quot;, &rsquo;printf(&quot;Hello %d&quot;,
&quot;world&quot;)&lsquo; (Conversely: &quot;world&quot;)&rsquo; (Conversely:
<b>--no-printf-args</b>)</p> <b>--no-printf-args</b>)</p>
<p style="margin-left:11%;"><b>--printf-args-only</b></p> <p style="margin-left:11%;"><b>--printf-args-only</b></p>
@ -461,6 +465,20 @@ modelled as allocs in Pulse</p>
modelled as release in Pulse</p> modelled as release in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-return-nonnull</b>
<i>+string</i></p>
<p style="margin-left:17%;">Methods that should be modelled
as returning non-null in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-skip-pattern</b>
<i>string</i></p>
<p style="margin-left:17%;">Regex of methods that should be
modelled as &quot;skip&quot; in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-transfer-ownership</b> <p style="margin-left:11%;"><b>--pulse-model-transfer-ownership</b>
<i>+string</i></p> <i>+string</i></p>
@ -546,11 +564,28 @@ absolute path to a relative path to the root directory
<p style="margin-left:17%;">Write results and internal <p style="margin-left:17%;">Write results and internal
files in the specified directory</p> files in the specified directory</p>
<p style="margin-left:11%;"><b>--no-self-in-block</b></p> <p style="margin-left:11%;"><b>--scheduler</b> <i>{ file |
restart | callgraph }</i></p>
<p style="margin-left:17%;">Specify the scheduler used for
the analysis phase:</p>
<p style="margin-left:11%;">- file: schedule one job per
file <br>
- callgraph: schedule one job per procedure, following the
<br>
syntactic call graph. Usually faster than &quot;file&quot;.
<br>
- restart: same as callgraph but uses locking to try and
avoid <br>
duplicate work between different analysis processes and thus
<br>
performs better in some circumstances <b><br>
--no-self-in-block</b></p>
<p style="margin-left:17%;">Deactivates: checker <p style="margin-left:17%;">Deactivates: checker
self-in-block: An Objective-C-specific analysis to detect self-in-block: An Objective-C-specific analysis to detect
when a block captures &lsquo;self&lsquo;. (Conversely: when a block captures &rsquo;self&rsquo;. (Conversely:
<b>--self-in-block</b>)</p> <b>--self-in-block</b>)</p>
@ -605,18 +640,31 @@ progress is being made because of concurrency errors.
and disable all other checkers (Conversely: and disable all other checkers (Conversely:
<b>--no-starvation-only</b>)</p> <b>--no-starvation-only</b>)</p>
<p style="margin-left:11%;"><b>--topl</b></p> <p style="margin-left:11%;"><b>--topl-biabd</b></p>
<p style="margin-left:17%;">Activates: checker topl: <p style="margin-left:17%;">Activates: checker topl-biabd:
Detects errors based on user-provided state machines Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely: describing multi-object monitors. (Conversely:
<b>--no-topl</b>)</p> <b>--no-topl-biabd</b>)</p>
<p style="margin-left:11%;"><b>--topl-only</b></p> <p style="margin-left:11%;"><b>--topl-biabd-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl and <p style="margin-left:17%;">Activates: Enable topl-biabd
disable all other checkers (Conversely: and disable all other checkers (Conversely:
<b>--no-topl-only</b>)</p> <b>--no-topl-biabd-only</b>)</p>
<p style="margin-left:11%;"><b>--topl-pulse</b></p>
<p style="margin-left:17%;">Activates: checker topl-pulse:
Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely:
<b>--no-topl-pulse</b>)</p>
<p style="margin-left:11%;"><b>--topl-pulse-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl-pulse
and disable all other checkers (Conversely:
<b>--no-topl-pulse-only</b>)</p>
<p style="margin-left:11%;"><b>--no-uninit</b></p> <p style="margin-left:11%;"><b>--no-uninit</b></p>
@ -630,8 +678,15 @@ Warns when values are used before having been initialized.
disable all other checkers (Conversely: disable all other checkers (Conversely:
<b>--no-uninit-only</b>)</p> <b>--no-uninit-only</b>)</p>
<p style="margin-left:11%;"><b>--xcode-isysroot-suffix</b>
<i>string</i></p>
<p style="margin-left:17%;">Specify the suffix of Xcode
isysroot directory, to avoid absolute paths in tests</p>
<h2>BUCK OPTIONS
<a name="BUCK OPTIONS"></a> <a name="BUCK OPTIONS"></a>
<h2>BUCK OPTIONS</h2> </h2>
@ -641,8 +696,9 @@ disable all other checkers (Conversely:
results directories specified in the dependency file. results directories specified in the dependency file.
(Conversely: <b>--no-merge</b>)</p> (Conversely: <b>--no-merge</b>)</p>
<h2>BUFFER OVERRUN OPTIONS
<a name="BUFFER OVERRUN OPTIONS"></a> <a name="BUFFER OVERRUN OPTIONS"></a>
<h2>BUFFER OVERRUN OPTIONS</h2> </h2>
@ -658,8 +714,9 @@ checker (0-4)</p>
<p style="margin-left:17%;">Limit of field depth of <p style="margin-left:17%;">Limit of field depth of
abstract location in buffer-overrun checker</p> abstract location in buffer-overrun checker</p>
<h2>CLANG OPTIONS
<a name="CLANG OPTIONS"></a> <a name="CLANG OPTIONS"></a>
<h2>CLANG OPTIONS</h2> </h2>
@ -692,10 +749,9 @@ Example:</p>
&quot;.*::Trusted::.*&quot; ] } <br> &quot;.*::Trusted::.*&quot; ] } <br>
} <br> } <br>
} <br> } <br>
}</p> } <br>
This will cause us to create a new ISOLATED_REACHING_CONNECT
<p style="margin-left:11%; margin-top: 1em">This will cause <br>
us to create a new ISOLATED_REACHING_CONNECT <br>
issue for every function whose source path starts with issue for every function whose source path starts with
&quot;isolated/&quot; <br> &quot;isolated/&quot; <br>
that may reach the function named &quot;connect&quot;, that may reach the function named &quot;connect&quot;,
@ -752,8 +808,9 @@ to be checked in C++:</p>
malloc(3) never returns null. (Conversely: malloc(3) never returns null. (Conversely:
<b>--no-unsafe-malloc</b>)</p> <b>--no-unsafe-malloc</b>)</p>
<h2>JAVA OPTIONS
<a name="JAVA OPTIONS"></a> <a name="JAVA OPTIONS"></a>
<h2>JAVA OPTIONS</h2> </h2>
@ -782,8 +839,9 @@ packages.</p>
<p style="margin-left:17%;">The version of Java being used. <p style="margin-left:17%;">The version of Java being used.
Set it to your Java version if mvn is failing.</p> Set it to your Java version if mvn is failing.</p>
<h2>QUANDARY CHECKER OPTIONS
<a name="QUANDARY CHECKER OPTIONS"></a> <a name="QUANDARY CHECKER OPTIONS"></a>
<h2>QUANDARY CHECKER OPTIONS</h2> </h2>
@ -811,8 +869,9 @@ Quandary</p>
<p style="margin-left:17%;">Specify custom sources for <p style="margin-left:17%;">Specify custom sources for
Quandary</p> Quandary</p>
<h2>RACERD CHECKER OPTIONS
<a name="RACERD CHECKER OPTIONS"></a> <a name="RACERD CHECKER OPTIONS"></a>
<h2>RACERD CHECKER OPTIONS</h2> </h2>
@ -835,8 +894,9 @@ nothing. (Conversely:
<p style="margin-left:17%;">Specify custom annotations that <p style="margin-left:17%;">Specify custom annotations that
should be considered aliases of @ThreadSafe</p> should be considered aliases of @ThreadSafe</p>
<h2>SIOF CHECKER OPTIONS
<a name="SIOF CHECKER OPTIONS"></a> <a name="SIOF CHECKER OPTIONS"></a>
<h2>SIOF CHECKER OPTIONS</h2> </h2>
@ -857,8 +917,9 @@ recent libstdc++ then it is safe to turn this option on.
&quot;foo&lt;int&gt;::bar()&quot;, etc. (can be specified &quot;foo&lt;int&gt;::bar()&quot;, etc. (can be specified
multiple times)</p> multiple times)</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a> <a name="ENVIRONMENT"></a>
<h2>ENVIRONMENT</h2> </h2>
@ -868,8 +929,9 @@ multiple times)</p>
<p style="margin-left:17%;">See the ENVIRONMENT section in <p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p> the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a> <a name="FILES"></a>
<h2>FILES</h2> </h2>
@ -878,8 +940,9 @@ the manual of <b>infer</b>(1).</p>
<p style="margin-left:17%;">See the FILES section in the <p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p> manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a> <a name="SEE ALSO"></a>
<h2>SEE ALSO</h2> </h2>

@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19.2 --> <!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Mon Jun 29 14:17:41 2020 --> <!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
@ -8,16 +8,17 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css"> <meta name="Content-Style" content="text/css">
<style type="text/css"> <style type="text/css">
p { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; } pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; } table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style> </style>
<title>infer-capture</title> <title>infer-capture</title>
</head> </head>
<body> <body>
<h1 align=center>infer-capture</h1> <h1 align="center">infer-capture</h1>
<a href="#NAME">NAME</a><br> <a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br> <a href="#SYNOPSIS">SYNOPSIS</a><br>
@ -34,15 +35,17 @@
<hr> <hr>
<h2>NAME
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">infer-capture - <p style="margin-left:11%; margin-top: 1em">infer-capture -
capture source files for later analysis</p> capture source files for later analysis</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a> <a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer <p style="margin-left:11%; margin-top: 1em"><b>infer
@ -69,8 +72,9 @@ infer capture</b> <i>[options]</i> <b>-- ndk-build</b>
infer capture</b> <i>[--no-xcpretty] [options]</i> <b>-- infer capture</b> <i>[--no-xcpretty] [options]</i> <b>--
xcodebuild</b> <i>...</i></p> xcodebuild</b> <i>...</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a> <a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Capture the <p style="margin-left:11%; margin-top: 1em">Capture the
@ -80,8 +84,9 @@ source files, translate them into infer's intermediate
representation, and store the result of the translation in representation, and store the result of the translation in
the results directory.</p> the results directory.</p>
<h2>OPTIONS
<a name="OPTIONS"></a> <a name="OPTIONS"></a>
<h2>OPTIONS</h2> </h2>
@ -228,24 +233,25 @@ database operations, in milliseconds.</p>
<p style="margin-left:17%;">SQLite page size in bytes, must <p style="margin-left:17%;">SQLite page size in bytes, must
be a power of two between 512 and 65536.</p> be a power of two between 512 and 65536.</p>
<table width="100%" border=0 rules="none" frame="void" <table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0"> cellspacing="0" cellpadding="0">
<tr valign="top" align="left"> <tr valign="top" align="left">
<td width="11%"></td> <td width="11%"></td>
<td width="3%"> <td width="3%">
<p style="margin-top: 1em" valign="top"><b>--</b></p></td> <p><b>--</b></p></td>
<td width="3%"></td> <td width="3%"></td>
<td width="83%"> <td width="83%">
<p style="margin-top: 1em" valign="top">Stop argument <p>Stop argument processing, use remaining arguments as a
processing, use remaining arguments as a build command</p></td> build command</p></td></tr>
</table> </table>
<h2>BUCK OPTIONS
<a name="BUCK OPTIONS"></a> <a name="BUCK OPTIONS"></a>
<h2>BUCK OPTIONS</h2> </h2>
@ -299,6 +305,21 @@ default, all recursive dependencies are captured.</p>
<p style="margin-left:17%;">Activates: Buck integration for <p style="margin-left:17%;">Activates: Buck integration for
Java targets. (Conversely: <b>--no-buck-java</b>)</p> Java targets. (Conversely: <b>--no-buck-java</b>)</p>
<p style="margin-left:11%;"><b>--buck-java-flavor</b></p>
<p style="margin-left:17%;">Activates: Buck integration for
Java which uses the buck flavor #infer-java-capture instead
of genrules like buck-java. (Conversely:
<b>--no-buck-java-flavor</b>)</p>
<p style="margin-left:11%;"><b>--buck-java-flavor-suppress-config</b></p>
<p style="margin-left:17%;">Activates: Suppress setting
buck config values for the infer binary and its version in
the buck-java-flavor integration. (Conversely:
<b>--no-buck-java-flavor-suppress-config</b>)</p>
<p style="margin-left:11%;"><b>--buck-merge-all-deps</b></p> <p style="margin-left:11%;"><b>--buck-merge-all-deps</b></p>
@ -320,14 +341,14 @@ matched by the specified regular expression. Only valid for
<i>+string</i></p> <i>+string</i></p>
<p style="margin-left:17%;">Pass values as command-line <p style="margin-left:17%;">Pass values as command-line
arguments to invocations of <i>&lsquo;buck build&lsquo;</i>. arguments to invocations of <i>&rsquo;buck build&rsquo;</i>.
Only valid for <b>--buck-clang</b>.</p> Only valid for <b>--buck-clang</b>.</p>
<p style="margin-left:11%;"><b>--Xbuck-no-inline</b> <p style="margin-left:11%;"><b>--Xbuck-no-inline</b>
<i>+string</i></p> <i>+string</i></p>
<p style="margin-left:17%;">Pass values as command-line <p style="margin-left:17%;">Pass values as command-line
arguments to invocations of <i>&lsquo;buck build&lsquo;</i>, arguments to invocations of <i>&rsquo;buck build&rsquo;</i>,
don't inline any args starting with '@'. Only valid for don't inline any args starting with '@'. Only valid for
<b>--buck-clang</b>.</p> <b>--buck-clang</b>.</p>
@ -337,8 +358,9 @@ don't inline any args starting with '@'. Only valid for
<p style="margin-left:17%;">Specify the path to Xcode <p style="margin-left:17%;">Specify the path to Xcode
developer directory, to use for Buck clang targets</p> developer directory, to use for Buck clang targets</p>
<h2>CLANG LINTERS OPTIONS
<a name="CLANG LINTERS OPTIONS"></a> <a name="CLANG LINTERS OPTIONS"></a>
<h2>CLANG LINTERS OPTIONS</h2> </h2>
@ -408,8 +430,9 @@ files even if some compilation fails. (Conversely:
AL files, then emit possible errors in JSON format to stdout AL files, then emit possible errors in JSON format to stdout
(Conversely: <b>--no-linters-validate-syntax-only</b>)</p> (Conversely: <b>--no-linters-validate-syntax-only</b>)</p>
<h2>CLANG OPTIONS
<a name="CLANG OPTIONS"></a> <a name="CLANG OPTIONS"></a>
<h2>CLANG OPTIONS</h2> </h2>
@ -497,12 +520,13 @@ arguments to invocations of clang</p>
<p style="margin-left:17%;">Activates: Infer will use <p style="margin-left:17%;">Activates: Infer will use
xcpretty together with xcodebuild to analyze an iOS app. xcpretty together with xcodebuild to analyze an iOS app.
xcpretty just needs to be in the path, infer command is xcpretty just needs to be in the path, infer command is
still just <i>&lsquo;infer -- &lt;xcodebuild still just <i>&rsquo;infer -- &lt;xcodebuild
command&gt;&lsquo;</i>. (Conversely: command&gt;&rsquo;</i>. (Conversely:
<b>--no-xcpretty</b>)</p> <b>--no-xcpretty</b>)</p>
<h2>JAVA OPTIONS
<a name="JAVA OPTIONS"></a> <a name="JAVA OPTIONS"></a>
<h2>JAVA OPTIONS</h2> </h2>
@ -544,8 +568,9 @@ used to generate the bytecode</p>
<p style="margin-left:17%;">The version of Java being used. <p style="margin-left:17%;">The version of Java being used.
Set it to your Java version if mvn is failing.</p> Set it to your Java version if mvn is failing.</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a> <a name="ENVIRONMENT"></a>
<h2>ENVIRONMENT</h2> </h2>
@ -555,8 +580,9 @@ Set it to your Java version if mvn is failing.</p>
<p style="margin-left:17%;">See the ENVIRONMENT section in <p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p> the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a> <a name="FILES"></a>
<h2>FILES</h2> </h2>
@ -565,8 +591,9 @@ the manual of <b>infer</b>(1).</p>
<p style="margin-left:17%;">See the FILES section in the <p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p> manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a> <a name="SEE ALSO"></a>
<h2>SEE ALSO</h2> </h2>

@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19.2 --> <!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Mon Jun 29 14:17:41 2020 --> <!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
@ -8,16 +8,17 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css"> <meta name="Content-Style" content="text/css">
<style type="text/css"> <style type="text/css">
p { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; } pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; } table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style> </style>
<title>infer-compile</title> <title>infer-compile</title>
</head> </head>
<body> <body>
<h1 align=center>infer-compile</h1> <h1 align="center">infer-compile</h1>
<a href="#NAME">NAME</a><br> <a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br> <a href="#SYNOPSIS">SYNOPSIS</a><br>
@ -31,22 +32,25 @@
<hr> <hr>
<h2>NAME
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">infer-compile - <p style="margin-left:11%; margin-top: 1em">infer-compile -
compile project from within the infer environment</p> compile project from within the infer environment</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a> <a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer <p style="margin-left:11%; margin-top: 1em"><b>infer
compile --</b> <i>[compile command]</i></p> compile --</b> <i>[compile command]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a> <a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Intercepts <p style="margin-left:11%; margin-top: 1em">Intercepts
@ -55,8 +59,9 @@ simply execute these compilation commands and do not perform
any translation of the source files. This can be useful to any translation of the source files. This can be useful to
configure build systems or for debugging purposes.</p> configure build systems or for debugging purposes.</p>
<h2>OPTIONS
<a name="OPTIONS"></a> <a name="OPTIONS"></a>
<h2>OPTIONS</h2> </h2>
@ -125,8 +130,9 @@ undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:17%;">Show this manual with all <p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p> internal options in the INTERNAL OPTIONS section</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a> <a name="ENVIRONMENT"></a>
<h2>ENVIRONMENT</h2> </h2>
@ -136,8 +142,9 @@ internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:17%;">See the ENVIRONMENT section in <p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p> the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a> <a name="FILES"></a>
<h2>FILES</h2> </h2>
@ -146,8 +153,9 @@ the manual of <b>infer</b>(1).</p>
<p style="margin-left:17%;">See the FILES section in the <p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p> manual of <b>infer</b>(1).</p>
<h2>EXAMPLES
<a name="EXAMPLES"></a> <a name="EXAMPLES"></a>
<h2>EXAMPLES</h2> </h2>
@ -182,8 +190,9 @@ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 .. <br>
infer capture --compilation-database infer capture --compilation-database
compile_commands.json</p> compile_commands.json</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a> <a name="SEE ALSO"></a>
<h2>SEE ALSO</h2> </h2>

@ -0,0 +1,263 @@
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer-debug</title>
</head>
<body>
<h1 align="center">infer-debug</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#DEBUG GLOBAL TYPE ENVIRONMENT">DEBUG GLOBAL TYPE ENVIRONMENT</a><br>
<a href="#DEBUG PROCEDURES">DEBUG PROCEDURES</a><br>
<a href="#DEBUG SOURCE FILES">DEBUG SOURCE FILES</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer-debug -
print internal infer data structures</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer debug
--global-tenv <br>
infer debug --procedures</b> <i>[options]</i> <b><br>
infer debug --source-files</b> <i>[options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">If
<b>--procedures</b> is passed, print information about each
procedures captured by infer.</p>
<p style="margin-left:11%; margin-top: 1em">If
<b>--source-files</b> is passed, print information about
captured source files.</p>
<p style="margin-left:11%; margin-top: 1em">If
<b>--global-tenv</b> is passed, print the global type
environment (if any).</p>
<p style="margin-left:11%; margin-top: 1em">At least one of
the above options must be passed.</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
| groff | pager | plain }</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;"><b>--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<h2>DEBUG GLOBAL TYPE ENVIRONMENT
<a name="DEBUG GLOBAL TYPE ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--global-tenv</b></p>
<p style="margin-left:17%;">Activates: Print the global
type environment. (Conversely: <b>--no-global-tenv</b>)</p>
<h2>DEBUG PROCEDURES
<a name="DEBUG PROCEDURES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--procedures</b></p>
<p style="margin-left:17%;">Activates: Print functions and
methods discovered by infer (Conversely:
<b>--no-procedures</b>)</p>
<p style="margin-left:11%;"><b>--procedures-attributes</b></p>
<p style="margin-left:17%;">Activates: Print the attributes
of each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-attributes</b>)</p>
<p style="margin-left:11%;"><b>--procedures-cfg</b></p>
<p style="margin-left:17%;">Activates: Output a dotty file
in
infer-out/captured/&lt;file_name&gt;/&lt;proc_name&gt;.dot
for each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-cfg</b>)</p>
<p style="margin-left:11%;"><b>--no-procedures-definedness</b></p>
<p style="margin-left:17%;">Deactivates: Include procedures
definedness in the output of <b>--procedures</b>, i.e.
whether the procedure definition was found, or only the
procedure declaration, or the procedure is an auto-generated
Objective-C accessor (Conversely:
<b>--procedures-definedness</b>)</p>
<p style="margin-left:11%;"><b>--procedures-filter</b>
<i>filter</i></p>
<p style="margin-left:17%;">With <b>--procedures</b>, only
print functions and methods (procedures) matching the
specified <i>filter</i>. A procedure filter is of the form
<i>path_pattern:procedure_name</i>. Patterns are interpreted
as OCaml Str regular expressions. For instance, to keep only
methods named &quot;foo&quot;, one can use the filter
&quot;.*:foo&quot;, or &quot;foo&quot; for short.</p>
<p style="margin-left:11%;"><b>--procedures-name</b></p>
<p style="margin-left:17%;">Activates: Include procedures
names in the output of <b>--procedures</b> (Conversely:
<b>--no-procedures-name</b>)</p>
<p style="margin-left:11%;"><b>--no-procedures-source-file</b></p>
<p style="margin-left:17%;">Deactivates: Include the source
file in which the procedure definition or declaration was
found in the output of <b>--procedures</b> (Conversely:
<b>--procedures-source-file</b>)</p>
<p style="margin-left:11%;"><b>--procedures-summary</b></p>
<p style="margin-left:17%;">Activates: Print the summaries
of each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-summary</b>)</p>
<h2>DEBUG SOURCE FILES
<a name="DEBUG SOURCE FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--source-files</b></p>
<p style="margin-left:17%;">Activates: Print source files
discovered by infer (Conversely:
<b>--no-source-files</b>)</p>
<p style="margin-left:11%;"><b>--source-files-cfg</b></p>
<p style="margin-left:17%;">Activates: Output a dotty file
in infer-out/captured for each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-cfg</b>)</p>
<p style="margin-left:11%;"><b>--source-files-filter</b>
<i>filter</i></p>
<p style="margin-left:17%;">With <b>--source-files</b>,
only print source files matching the specified
<i>filter</i>. The filter is a pattern that should match the
file path. Patterns are interpreted as OCaml Str regular
expressions.</p>
<p style="margin-left:11%;"><b>--source-files-freshly-captured</b></p>
<p style="margin-left:17%;">Activates: Print whether the
source file has been captured in the most recent capture
phase in the output of <b>--source-files</b>. (Conversely:
<b>--no-source-files-freshly-captured</b>)</p>
<p style="margin-left:11%;"><b>--source-files-procedure-names</b></p>
<p style="margin-left:17%;">Activates: Print the names of
procedure of each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-procedure-names</b>)</p>
<p style="margin-left:11%;"><b>--source-files-type-environment</b></p>
<p style="margin-left:17%;">Activates: Print the type
environment of each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-type-environment</b>)</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
<p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
<p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-explore</b>(1),
<b>infer-report</b>(1)</p>
<hr>
</body>
</html>

@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19.2 --> <!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Mon Jun 29 14:17:41 2020 --> <!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
@ -8,24 +8,23 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css"> <meta name="Content-Style" content="text/css">
<style type="text/css"> <style type="text/css">
p { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; } pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; } table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style> </style>
<title>infer-explore</title> <title>infer-explore</title>
</head> </head>
<body> <body>
<h1 align=center>infer-explore</h1> <h1 align="center">infer-explore</h1>
<a href="#NAME">NAME</a><br> <a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br> <a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br> <a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br> <a href="#OPTIONS">OPTIONS</a><br>
<a href="#EXPLORE BUGS">EXPLORE BUGS</a><br> <a href="#EXPLORE BUGS">EXPLORE BUGS</a><br>
<a href="#EXPLORE PROCEDURES">EXPLORE PROCEDURES</a><br>
<a href="#EXPLORE SOURCE FILES">EXPLORE SOURCE FILES</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br> <a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br> <a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br> <a href="#SEE ALSO">SEE ALSO</a><br>
@ -33,41 +32,35 @@
<hr> <hr>
<h2>NAME
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">infer-explore - <p style="margin-left:11%; margin-top: 1em">infer-explore -
explore the error traces in infer reports</p> explore the error traces in infer reports</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a> <a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer <p style="margin-left:11%; margin-top: 1em"><b>infer
explore</b> <i>[options]</i> <b><br> explore</b> <i>[options]</i></p>
infer explore --procedures</b> <i>[options]</i> <b><br>
infer explore --source-files</b> <i>[options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a> <a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">If <p style="margin-left:11%; margin-top: 1em">Show the list
<b>--procedures</b> is passed, print information about each of bugs on the console and explore symbolic program traces
procedure captured by infer.</p> emitted by infer to explain a report. Can also generate an
HTML report from a JSON report.</p>
<p style="margin-left:11%; margin-top: 1em">If
<b>--source-files</b> is passed, print information about
captured source files.</p>
<p style="margin-left:11%; margin-top: 1em">Otherwise, show
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.</p>
<h2>OPTIONS
<a name="OPTIONS"></a> <a name="OPTIONS"></a>
<h2>OPTIONS</h2> </h2>
@ -94,8 +87,9 @@ internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:17%;">Write results and internal <p style="margin-left:17%;">Write results and internal
files in the specified directory</p> files in the specified directory</p>
<h2>EXPLORE BUGS
<a name="EXPLORE BUGS"></a> <a name="EXPLORE BUGS"></a>
<h2>EXPLORE BUGS</h2> </h2>
@ -122,119 +116,9 @@ omitted, prompt for input.</p>
excerpts around trace elements (Conversely: excerpts around trace elements (Conversely:
<b>--source-preview</b>)</p> <b>--source-preview</b>)</p>
<a name="EXPLORE PROCEDURES"></a> <h2>ENVIRONMENT
<h2>EXPLORE PROCEDURES</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--procedures</b></p>
<p style="margin-left:17%;">Activates: Print functions and
methods discovered by infer (Conversely:
<b>--no-procedures</b>)</p>
<p style="margin-left:11%;"><b>--procedures-attributes</b></p>
<p style="margin-left:17%;">Activates: Print the attributes
of each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-attributes</b>)</p>
<p style="margin-left:11%;"><b>--no-procedures-definedness</b></p>
<p style="margin-left:17%;">Deactivates: Include procedures
definedness in the output of <b>--procedures</b>, i.e.
whether the procedure definition was found, or only the
procedure declaration, or the procedure is an auto-generated
Objective-C accessor (Conversely:
<b>--procedures-definedness</b>)</p>
<p style="margin-left:11%;"><b>--procedures-filter</b>
<i>filter</i></p>
<p style="margin-left:17%;">With <b>--procedures</b>, only
print functions and methods (procedures) matching the
specified <i>filter</i>. A procedure filter is of the form
<i>path_pattern:procedure_name</i>. Patterns are interpreted
as OCaml Str regular expressions. For instance, to keep only
methods named &quot;foo&quot;, one can use the filter
&quot;.*:foo&quot;, or &quot;foo&quot; for short.</p>
<p style="margin-left:11%;"><b>--procedures-name</b></p>
<p style="margin-left:17%;">Activates: Include procedures
names in the output of <b>--procedures</b> (Conversely:
<b>--no-procedures-name</b>)</p>
<p style="margin-left:11%;"><b>--no-procedures-source-file</b></p>
<p style="margin-left:17%;">Deactivates: Include the source
file in which the procedure definition or declaration was
found in the output of <b>--procedures</b> (Conversely:
<b>--procedures-source-file</b>)</p>
<p style="margin-left:11%;"><b>--procedures-summary</b></p>
<p style="margin-left:17%;">Activates: Print the summaries
of each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-summary</b>)</p>
<a name="EXPLORE SOURCE FILES"></a>
<h2>EXPLORE SOURCE FILES</h2>
<p style="margin-left:11%; margin-top: 1em"><b>--source-files</b></p>
<p style="margin-left:17%;">Activates: Print source files
discovered by infer (Conversely:
<b>--no-source-files</b>)</p>
<p style="margin-left:11%;"><b>--source-files-cfg</b></p>
<p style="margin-left:17%;">Activates: Output a dotty file
in infer-out/captured for each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-cfg</b>)</p>
<p style="margin-left:11%;"><b>--source-files-filter</b>
<i>filter</i></p>
<p style="margin-left:17%;">With <b>--source-files</b>,
only print source files matching the specified
<i>filter</i>. The filter is a pattern that should match the
file path. Patterns are interpreted as OCaml Str regular
expressions.</p>
<p style="margin-left:11%;"><b>--source-files-freshly-captured</b></p>
<p style="margin-left:17%;">Activates: Print whether the
source file has been captured in the most recent capture
phase in the output of <b>--source-files</b>. (Conversely:
<b>--no-source-files-freshly-captured</b>)</p>
<p style="margin-left:11%;"><b>--source-files-procedure-names</b></p>
<p style="margin-left:17%;">Activates: Print the names of
procedure of each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-procedure-names</b>)</p>
<p style="margin-left:11%;"><b>--source-files-type-environment</b></p>
<p style="margin-left:17%;">Activates: Print the type
environment of each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-type-environment</b>)</p>
<a name="ENVIRONMENT"></a> <a name="ENVIRONMENT"></a>
<h2>ENVIRONMENT</h2> </h2>
@ -244,8 +128,9 @@ environment of each source file in the output of
<p style="margin-left:17%;">See the ENVIRONMENT section in <p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p> the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a> <a name="FILES"></a>
<h2>FILES</h2> </h2>
@ -254,8 +139,9 @@ the manual of <b>infer</b>(1).</p>
<p style="margin-left:17%;">See the FILES section in the <p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p> manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a> <a name="SEE ALSO"></a>
<h2>SEE ALSO</h2> </h2>

@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19.2 --> <!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Mon Jun 29 14:17:41 2020 --> <!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
@ -8,16 +8,17 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css"> <meta name="Content-Style" content="text/css">
<style type="text/css"> <style type="text/css">
p { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; } pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; } table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style> </style>
<title>infer-help</title> <title>infer-help</title>
</head> </head>
<body> <body>
<h1 align=center>infer-help</h1> <h1 align="center">infer-help</h1>
<a href="#NAME">NAME</a><br> <a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br> <a href="#SYNOPSIS">SYNOPSIS</a><br>
@ -29,15 +30,17 @@
<hr> <hr>
<h2>NAME
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">infer-help - <p style="margin-left:11%; margin-top: 1em">infer-help -
Show and generate documentation.</p> Show and generate documentation.</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a> <a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer help <p style="margin-left:11%; margin-top: 1em"><b>infer help
@ -50,8 +53,9 @@ infer help --list-checkers <br>
infer help --list-issue-types <br> infer help --list-issue-types <br>
infer help --write-website</b> <i>website_root</i></p> infer help --write-website</b> <i>website_root</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a> <a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Without <p style="margin-left:11%; margin-top: 1em">Without
@ -77,8 +81,9 @@ for the <i>fbinfer.com</i> website. (Used in scripts, not
meant to be used except when publishing content to meant to be used except when publishing content to
<i>fbinfer.com</i>)</p> <i>fbinfer.com</i>)</p>
<h2>OPTIONS
<a name="OPTIONS"></a> <a name="OPTIONS"></a>
<h2>OPTIONS</h2> </h2>
@ -134,8 +139,9 @@ documenting issue types and checkers under
Infer directory to generate its website at Infer directory to generate its website at
<i>fbinfer.com</i> at <i>website/</i>.</p> <i>fbinfer.com</i> at <i>website/</i>.</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a> <a name="ENVIRONMENT"></a>
<h2>ENVIRONMENT</h2> </h2>
@ -145,8 +151,9 @@ Infer directory to generate its website at
<p style="margin-left:17%;">See the ENVIRONMENT section in <p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p> the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a> <a name="FILES"></a>
<h2>FILES</h2> </h2>

@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19.2 --> <!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Mon Jun 29 14:17:41 2020 --> <!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
@ -8,16 +8,17 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css"> <meta name="Content-Style" content="text/css">
<style type="text/css"> <style type="text/css">
p { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; } pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; } table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style> </style>
<title>infer-report</title> <title>infer-report</title>
</head> </head>
<body> <body>
<h1 align=center>infer-report</h1> <h1 align="center">infer-report</h1>
<a href="#NAME">NAME</a><br> <a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br> <a href="#SYNOPSIS">SYNOPSIS</a><br>
@ -31,22 +32,25 @@
<hr> <hr>
<h2>NAME
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">infer-report - <p style="margin-left:11%; margin-top: 1em">infer-report -
compute and manipulate infer results</p> compute and manipulate infer results</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a> <a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer <p style="margin-left:11%; margin-top: 1em"><b>infer
report</b> <i>[options]</i> [<i>file.specs</i>...]</p> report</b> <i>[options]</i> [<i>file.specs</i>...]</p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a> <a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Read, convert, <p style="margin-left:11%; margin-top: 1em">Read, convert,
@ -57,8 +61,9 @@ is printed to standard output unless option -q is used.</p>
file are passed on the command line, process all the .specs file are passed on the command line, process all the .specs
in the results directory.</p> in the results directory.</p>
<h2>OPTIONS
<a name="OPTIONS"></a> <a name="OPTIONS"></a>
<h2>OPTIONS</h2> </h2>
@ -74,18 +79,18 @@ are specified, they are applied in the order in which they
are specified. Each filter is applied to each issue are specified. Each filter is applied to each issue
detected, and only issues which are accepted by all filters detected, and only issues which are accepted by all filters
are reported. Each filter is of the form: are reported. Each filter is of the form:
&lsquo;&lt;issue_type_regex&gt;:&lt;filename_regex&gt;:&lt;reason_string&gt;&lsquo;. &rsquo;&lt;issue_type_regex&gt;:&lt;filename_regex&gt;:&lt;reason_string&gt;&rsquo;.
The first two components are OCaml Str regular expressions, The first two components are OCaml Str regular expressions,
with an optional &lsquo;!&lsquo; character prefix. If a with an optional &rsquo;!&rsquo; character prefix. If a
regex has a &lsquo;!&lsquo; prefix, the polarity is regex has a &rsquo;!&rsquo; prefix, the polarity is
inverted, and the filter becomes a &quot;blacklist&quot; inverted, and the filter becomes a &quot;blacklist&quot;
instead of a &quot;whitelist&quot;. Each filter is instead of a &quot;whitelist&quot;. Each filter is
interpreted as an implication: an issue matches if it does interpreted as an implication: an issue matches if it does
not match the &lsquo;issue_type_regex&lsquo; or if it does not match the &rsquo;issue_type_regex&rsquo; or if it does
match the &lsquo;filename_regex&lsquo;. The filenames that match the &rsquo;filename_regex&rsquo;. The filenames that
are tested by the regex are relative to the are tested by the regex are relative to the
&lsquo;--project-root&lsquo; directory. The &rsquo;--project-root&rsquo; directory. The
&lsquo;&lt;reason_string&gt;&lsquo; is a non-empty string &rsquo;&lt;reason_string&gt;&rsquo; is a non-empty string
used to explain why the issue was filtered.</p> used to explain why the issue was filtered.</p>
<p style="margin-left:11%;"><b>--cost-issues-tests</b> <p style="margin-left:11%;"><b>--cost-issues-tests</b>
@ -94,6 +99,14 @@ used to explain why the issue was filtered.</p>
<p style="margin-left:17%;">Write a list of cost issues in <p style="margin-left:17%;">Write a list of cost issues in
a format suitable for cost tests to <i>file</i></p> a format suitable for cost tests to <i>file</i></p>
<p style="margin-left:11%;"><b>--cost-tests-only-autoreleasepool</b></p>
<p style="margin-left:17%;">Activates: [EXPERIMENTAL]
Report only autoreleasepool size results in cost tests
(Conversely:
<b>--no-cost-tests-only-autoreleasepool</b>)</p>
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p> <p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
<p style="margin-left:17%;">Activates: Debug mode (also <p style="margin-left:17%;">Activates: Debug mode (also
@ -160,14 +173,18 @@ have run. In particular, note that disabling issue types
does not make the corresponding checker not run.</p> does not make the corresponding checker not run.</p>
<p style="margin-left:11%;">Available issue types are as <p style="margin-left:11%;">Available issue types are as
follows:</p> follows: <br>
ARRAY_OUT_OF_BOUNDS_L1 (disabled by default), <br>
<p style="margin-left:11%; margin-top: 1em">ARRAY_OUT_OF_BOUNDS_L1
(disabled by default), <br>
ARRAY_OUT_OF_BOUNDS_L2 (disabled by default), <br> ARRAY_OUT_OF_BOUNDS_L2 (disabled by default), <br>
ARRAY_OUT_OF_BOUNDS_L3 (disabled by default), <br> ARRAY_OUT_OF_BOUNDS_L3 (disabled by default), <br>
ASSIGN_POINTER_WARNING (enabled by default), <br> ASSIGN_POINTER_WARNING (enabled by default), <br>
AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE (enabled by
default), <br>
AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE_UI_THREAD (enabled
by <br>
default), <br>
AUTORELEASEPOOL_SIZE_UNREACHABLE_AT_EXIT (disabled by
default), <br>
Abduction_case_not_implemented (enabled by default), <br> Abduction_case_not_implemented (enabled by default), <br>
Array_of_pointsto (enabled by default), <br> Array_of_pointsto (enabled by default), <br>
Assert_failure (enabled by default), <br> Assert_failure (enabled by default), <br>
@ -263,6 +280,7 @@ INFERBO_ALLOC_IS_NEGATIVE (enabled by default), <br>
INFERBO_ALLOC_IS_ZERO (enabled by default), <br> INFERBO_ALLOC_IS_ZERO (enabled by default), <br>
INFERBO_ALLOC_MAY_BE_BIG (enabled by default), <br> INFERBO_ALLOC_MAY_BE_BIG (enabled by default), <br>
INFERBO_ALLOC_MAY_BE_NEGATIVE (enabled by default), <br> INFERBO_ALLOC_MAY_BE_NEGATIVE (enabled by default), <br>
INFINITE_AUTORELEASEPOOL_SIZE (disabled by default), <br>
INFINITE_EXECUTION_TIME (disabled by default), <br> INFINITE_EXECUTION_TIME (disabled by default), <br>
INHERENTLY_DANGEROUS_FUNCTION (enabled by default), <br> INHERENTLY_DANGEROUS_FUNCTION (enabled by default), <br>
INSECURE_INTENT_HANDLING (enabled by default), <br> INSECURE_INTENT_HANDLING (enabled by default), <br>
@ -291,6 +309,7 @@ default), <br>
Missing_fld (enabled by default), <br> Missing_fld (enabled by default), <br>
NULLPTR_DEREFERENCE (disabled by default), <br> NULLPTR_DEREFERENCE (disabled by default), <br>
NULL_DEREFERENCE (enabled by default), <br> NULL_DEREFERENCE (enabled by default), <br>
OPTIONAL_EMPTY_ACCESS (disabled by default), <br>
PARAMETER_NOT_NULL_CHECKED (enabled by default), <br> PARAMETER_NOT_NULL_CHECKED (enabled by default), <br>
POINTER_TO_CONST_OBJC_CLASS (enabled by default), <br> POINTER_TO_CONST_OBJC_CLASS (enabled by default), <br>
PRECONDITION_NOT_FOUND (enabled by default), <br> PRECONDITION_NOT_FOUND (enabled by default), <br>
@ -315,7 +334,8 @@ STRONG_DELEGATE_WARNING (enabled by default), <br>
STRONG_SELF_NOT_CHECKED (enabled by default), <br> STRONG_SELF_NOT_CHECKED (enabled by default), <br>
Symexec_memory_error (enabled by default), <br> Symexec_memory_error (enabled by default), <br>
THREAD_SAFETY_VIOLATION (enabled by default), <br> THREAD_SAFETY_VIOLATION (enabled by default), <br>
TOPL_ERROR (enabled by default), <br> TOPL_BIABD_ERROR (enabled by default), <br>
TOPL_PULSE_ERROR (enabled by default), <br>
UNINITIALIZED_VALUE (enabled by default), <br> UNINITIALIZED_VALUE (enabled by default), <br>
UNREACHABLE_CODE (enabled by default), <br> UNREACHABLE_CODE (enabled by default), <br>
UNTRUSTED_BUFFER_ACCESS (disabled by default), <br> UNTRUSTED_BUFFER_ACCESS (disabled by default), <br>
@ -475,8 +495,9 @@ files in the specified directory</p>
(Conversely: (Conversely:
<b>--no-skip-analysis-in-path-skips-compilation</b>)</p> <b>--no-skip-analysis-in-path-skips-compilation</b>)</p>
<h2>HOISTING OPTIONS
<a name="HOISTING OPTIONS"></a> <a name="HOISTING OPTIONS"></a>
<h2>HOISTING OPTIONS</h2> </h2>
@ -487,8 +508,9 @@ loop-invariant calls only when the function is expensive,
i.e. at least linear (Conversely: i.e. at least linear (Conversely:
<b>--hoisting-report-only-expensive</b>)</p> <b>--hoisting-report-only-expensive</b>)</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a> <a name="ENVIRONMENT"></a>
<h2>ENVIRONMENT</h2> </h2>
@ -498,8 +520,9 @@ i.e. at least linear (Conversely:
<p style="margin-left:17%;">See the ENVIRONMENT section in <p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p> the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a> <a name="FILES"></a>
<h2>FILES</h2> </h2>
@ -508,8 +531,9 @@ the manual of <b>infer</b>(1).</p>
<p style="margin-left:17%;">See the FILES section in the <p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p> manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a> <a name="SEE ALSO"></a>
<h2>SEE ALSO</h2> </h2>

@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19.2 --> <!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Mon Jun 29 14:17:41 2020 --> <!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
@ -8,16 +8,17 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css"> <meta name="Content-Style" content="text/css">
<style type="text/css"> <style type="text/css">
p { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; } pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; } table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style> </style>
<title>infer-reportdiff</title> <title>infer-reportdiff</title>
</head> </head>
<body> <body>
<h1 align=center>infer-reportdiff</h1> <h1 align="center">infer-reportdiff</h1>
<a href="#NAME">NAME</a><br> <a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br> <a href="#SYNOPSIS">SYNOPSIS</a><br>
@ -30,24 +31,27 @@
<hr> <hr>
<h2>NAME
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">infer-reportdiff <p style="margin-left:11%; margin-top: 1em">infer-reportdiff
- compute the differences between two infer reports</p> - compute the differences between two infer reports</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a> <a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer <p style="margin-left:11%; margin-top: 1em"><b>infer
reportdiff --report-current</b> <i>file</i> reportdiff --report-current</b> <i>file</i>
<b>--report-previous</b> <i>file [options]</i></p> <b>--report-previous</b> <i>file [options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a> <a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Given two infer <p style="margin-left:11%; margin-top: 1em">Given two infer
@ -65,12 +69,20 @@ directory: <br>
<p style="margin-left:11%; margin-top: 1em">All three files <p style="margin-left:11%; margin-top: 1em">All three files
follow the same format as normal infer reports.</p> follow the same format as normal infer reports.</p>
<h2>OPTIONS
<a name="OPTIONS"></a> <a name="OPTIONS"></a>
<h2>OPTIONS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>--costs-current</b> <p style="margin-left:11%; margin-top: 1em"><b>--cost-tests-only-autoreleasepool</b></p>
<p style="margin-left:17%;">Activates: [EXPERIMENTAL]
Report only autoreleasepool size results in cost tests
(Conversely:
<b>--no-cost-tests-only-autoreleasepool</b>)</p>
<p style="margin-left:11%;"><b>--costs-current</b>
<i>path</i></p> <i>path</i></p>
<p style="margin-left:17%;">Costs report of the latest <p style="margin-left:17%;">Costs report of the latest
@ -171,8 +183,9 @@ fixed-then-introduced duplicated types while computing
differential reports (Conversely: differential reports (Conversely:
<b>--skip-duplicated-types</b>)</p> <b>--skip-duplicated-types</b>)</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a> <a name="ENVIRONMENT"></a>
<h2>ENVIRONMENT</h2> </h2>
@ -182,8 +195,9 @@ differential reports (Conversely:
<p style="margin-left:17%;">See the ENVIRONMENT section in <p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p> the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a> <a name="FILES"></a>
<h2>FILES</h2> </h2>
@ -192,8 +206,9 @@ the manual of <b>infer</b>(1).</p>
<p style="margin-left:17%;">See the FILES section in the <p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p> manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a> <a name="SEE ALSO"></a>
<h2>SEE ALSO</h2> </h2>

@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19.2 --> <!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Mon Jun 29 14:17:41 2020 --> <!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
@ -8,16 +8,17 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css"> <meta name="Content-Style" content="text/css">
<style type="text/css"> <style type="text/css">
p { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; } pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; } table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style> </style>
<title>infer-run</title> <title>infer-run</title>
</head> </head>
<body> <body>
<h1 align=center>infer-run</h1> <h1 align="center">infer-run</h1>
<a href="#NAME">NAME</a><br> <a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br> <a href="#SYNOPSIS">SYNOPSIS</a><br>
@ -32,15 +33,17 @@
<hr> <hr>
<h2>NAME
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">infer-run - <p style="margin-left:11%; margin-top: 1em">infer-run -
capture source files, analyze, and report</p> capture source files, analyze, and report</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a> <a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer <p style="margin-left:11%; margin-top: 1em"><b>infer
@ -48,8 +51,9 @@ run</b> <i>[options]</i> <b><br>
infer</b> <i>[options]</i> <b>--</b> <i>compile infer</b> <i>[options]</i> <b>--</b> <i>compile
command</i></p> command</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a> <a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Calling <p style="margin-left:11%; margin-top: 1em">Calling
@ -60,13 +64,14 @@ to performing the following sequence of commands:</p>
capture</b> <i>[options]</i> <b><br> capture</b> <i>[options]</i> <b><br>
infer analyze</b> <i>[options]</i></p> infer analyze</b> <i>[options]</i></p>
<h2>OPTIONS
<a name="OPTIONS"></a> <a name="OPTIONS"></a>
<h2>OPTIONS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>--censor-report</b> <p style="margin-left:11%; margin-top: 1em"><i><b>--censor-report</b>
<i>+string</i></p> +string</i></p>
<p style="margin-left:17%;">Specify a filter for issues to <p style="margin-left:17%;">Specify a filter for issues to
be censored by adding a 'censored_reason' field in the json be censored by adding a 'censored_reason' field in the json
@ -77,18 +82,18 @@ are specified, they are applied in the order in which they
are specified. Each filter is applied to each issue are specified. Each filter is applied to each issue
detected, and only issues which are accepted by all filters detected, and only issues which are accepted by all filters
are reported. Each filter is of the form: are reported. Each filter is of the form:
&lsquo;&lt;issue_type_regex&gt;:&lt;filename_regex&gt;:&lt;reason_string&gt;&lsquo;. &rsquo;&lt;issue_type_regex&gt;:&lt;filename_regex&gt;:&lt;reason_string&gt;&rsquo;.
The first two components are OCaml Str regular expressions, The first two components are OCaml Str regular expressions,
with an optional &lsquo;!&lsquo; character prefix. If a with an optional &rsquo;!&rsquo; character prefix. If a
regex has a &lsquo;!&lsquo; prefix, the polarity is regex has a &rsquo;!&rsquo; prefix, the polarity is
inverted, and the filter becomes a &quot;blacklist&quot; inverted, and the filter becomes a &quot;blacklist&quot;
instead of a &quot;whitelist&quot;. Each filter is instead of a &quot;whitelist&quot;. Each filter is
interpreted as an implication: an issue matches if it does interpreted as an implication: an issue matches if it does
not match the &lsquo;issue_type_regex&lsquo; or if it does not match the &rsquo;issue_type_regex&rsquo; or if it does
match the &lsquo;filename_regex&lsquo;. The filenames that match the &rsquo;filename_regex&rsquo;. The filenames that
are tested by the regex are relative to the are tested by the regex are relative to the
&lsquo;--project-root&lsquo; directory. The &rsquo;--project-root&rsquo; directory. The
&lsquo;&lt;reason_string&gt;&lsquo; is a non-empty string &rsquo;&lt;reason_string&gt;&rsquo; is a non-empty string
used to explain why the issue was filtered.</p> used to explain why the issue was filtered.</p>
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p> <p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
@ -283,24 +288,25 @@ exit</p>
<p style="margin-left:17%;">Print version information in <p style="margin-left:17%;">Print version information in
json format and exit</p> json format and exit</p>
<table width="100%" border=0 rules="none" frame="void" <table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0"> cellspacing="0" cellpadding="0">
<tr valign="top" align="left"> <tr valign="top" align="left">
<td width="11%"></td> <td width="11%"></td>
<td width="3%"> <td width="3%">
<p style="margin-top: 1em" valign="top"><b>--</b></p></td> <p><b>--</b></p></td>
<td width="3%"></td> <td width="3%"></td>
<td width="83%"> <td width="83%">
<p style="margin-top: 1em" valign="top">Stop argument <p>Stop argument processing, use remaining arguments as a
processing, use remaining arguments as a build command</p></td> build command</p></td></tr>
</table> </table>
<h2>BUCK OPTIONS
<a name="BUCK OPTIONS"></a> <a name="BUCK OPTIONS"></a>
<h2>BUCK OPTIONS</h2> </h2>
@ -319,8 +325,9 @@ not Java. <b><br>
matched by the specified regular expression. Only valid for matched by the specified regular expression. Only valid for
<b>--buck-compilation-database</b>.</p> <b>--buck-compilation-database</b>.</p>
<h2>JAVA OPTIONS
<a name="JAVA OPTIONS"></a> <a name="JAVA OPTIONS"></a>
<h2>JAVA OPTIONS</h2> </h2>
@ -331,8 +338,9 @@ matched by the specified regular expression. Only valid for
by the specified OCaml regular expression (only supported by by the specified OCaml regular expression (only supported by
the javac integration for now).</p> the javac integration for now).</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a> <a name="ENVIRONMENT"></a>
<h2>ENVIRONMENT</h2> </h2>
@ -342,8 +350,9 @@ the javac integration for now).</p>
<p style="margin-left:17%;">See the ENVIRONMENT section in <p style="margin-left:17%;">See the ENVIRONMENT section in
the manual of <b>infer</b>(1).</p> the manual of <b>infer</b>(1).</p>
<h2>FILES
<a name="FILES"></a> <a name="FILES"></a>
<h2>FILES</h2> </h2>
@ -352,8 +361,9 @@ the manual of <b>infer</b>(1).</p>
<p style="margin-left:17%;">See the FILES section in the <p style="margin-left:17%;">See the FILES section in the
manual of <b>infer</b>(1).</p> manual of <b>infer</b>(1).</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a> <a name="SEE ALSO"></a>
<h2>SEE ALSO</h2> </h2>

@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19.2 --> <!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Mon Jun 29 14:17:42 2020 --> <!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
@ -8,16 +8,17 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css"> <meta name="Content-Style" content="text/css">
<style type="text/css"> <style type="text/css">
p { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; } pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; } table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style> </style>
<title>infer</title> <title>infer</title>
</head> </head>
<body> <body>
<h1 align=center>infer</h1> <h1 align="center">infer</h1>
<a href="#NAME">NAME</a><br> <a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br> <a href="#SYNOPSIS">SYNOPSIS</a><br>
@ -30,15 +31,17 @@
<hr> <hr>
<h2>NAME
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">infer - static <p style="margin-left:11%; margin-top: 1em">infer - static
analysis for Java and C/C++/Objective-C/Objective-C++</p> analysis for Java and C/C++/Objective-C/Objective-C++</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a> <a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer <p style="margin-left:11%; margin-top: 1em"><b>infer
@ -55,8 +58,9 @@ infer --compilation-database[-escaped]</b> <i>file
infer</b> <i>[options]</i> <b>-- compile command <br> infer</b> <i>[options]</i> <b>-- compile command <br>
infer</b> <i>[options]</i></p> infer</b> <i>[options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a> <a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Infer is a <p style="margin-left:11%; margin-top: 1em">Infer is a
@ -76,8 +80,9 @@ specified via the <b>--</b> option or one of the
<b>infer</b> behaves as <b>infer-run</b>(1). Otherwise, <b>infer</b> behaves as <b>infer-run</b>(1). Otherwise,
<b>infer</b> behaves as <b>infer-analyze</b>(1).</p> <b>infer</b> behaves as <b>infer-analyze</b>(1).</p>
<h2>OPTIONS
<a name="OPTIONS"></a> <a name="OPTIONS"></a>
<h2>OPTIONS</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Every infer <p style="margin-left:11%; margin-top: 1em">Every infer
@ -117,12 +122,12 @@ reserved for internal use). <b><br>
<p style="margin-left:17%;">Activates: checker <p style="margin-left:17%;">Activates: checker
annotation-reachability: Given a pair of source and sink annotation-reachability: Given a pair of source and sink
annotation, e.g. &lsquo;@PerformanceCritical&lsquo; and annotation, e.g. &rsquo;@PerformanceCritical&rsquo; and
&lsquo;@Expensive&lsquo;, this checker will warn whenever &rsquo;@Expensive&rsquo;, this checker will warn whenever
some method annotated with some method annotated with
&lsquo;@PerformanceCritical&lsquo; calls, directly or &rsquo;@PerformanceCritical&rsquo; calls, directly or
indirectly, another method annotated with indirectly, another method annotated with
&lsquo;@Expensive&lsquo; (Conversely: &rsquo;@Expensive&rsquo; (Conversely:
<b>--no-annotation-reachability</b>)</p> <b>--no-annotation-reachability</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
@ -167,10 +172,9 @@ Example:</p>
&quot;.*::Trusted::.*&quot; ] } <br> &quot;.*::Trusted::.*&quot; ] } <br>
} <br> } <br>
} <br> } <br>
}</p> } <br>
This will cause us to create a new ISOLATED_REACHING_CONNECT
<p style="margin-left:11%; margin-top: 1em">This will cause <br>
us to create a new ISOLATED_REACHING_CONNECT <br>
issue for every function whose source path starts with issue for every function whose source path starts with
&quot;isolated/&quot; <br> &quot;isolated/&quot; <br>
that may reach the function named &quot;connect&quot;, that may reach the function named &quot;connect&quot;,
@ -289,6 +293,24 @@ default, all recursive dependencies are captured.</p>
<p style="margin-left:17%;">Activates: Buck integration for <p style="margin-left:17%;">Activates: Buck integration for
Java targets. (Conversely: <b>--no-buck-java</b>)</p> Java targets. (Conversely: <b>--no-buck-java</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--buck-java-flavor</b></p>
<p style="margin-left:17%;">Activates: Buck integration for
Java which uses the buck flavor #infer-java-capture instead
of genrules like buck-java. (Conversely:
<b>--no-buck-java-flavor</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--buck-java-flavor-suppress-config</b></p>
<p style="margin-left:17%;">Activates: Suppress setting
buck config values for the infer binary and its version in
the buck-java-flavor integration. (Conversely:
<b>--no-buck-java-flavor-suppress-config</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br> <b>infer-capture</b>(1). <b><br>
--buck-merge-all-deps</b></p> --buck-merge-all-deps</b></p>
@ -344,18 +366,18 @@ are specified, they are applied in the order in which they
are specified. Each filter is applied to each issue are specified. Each filter is applied to each issue
detected, and only issues which are accepted by all filters detected, and only issues which are accepted by all filters
are reported. Each filter is of the form: are reported. Each filter is of the form:
&lsquo;&lt;issue_type_regex&gt;:&lt;filename_regex&gt;:&lt;reason_string&gt;&lsquo;. &rsquo;&lt;issue_type_regex&gt;:&lt;filename_regex&gt;:&lt;reason_string&gt;&rsquo;.
The first two components are OCaml Str regular expressions, The first two components are OCaml Str regular expressions,
with an optional &lsquo;!&lsquo; character prefix. If a with an optional &rsquo;!&rsquo; character prefix. If a
regex has a &lsquo;!&lsquo; prefix, the polarity is regex has a &rsquo;!&rsquo; prefix, the polarity is
inverted, and the filter becomes a &quot;blacklist&quot; inverted, and the filter becomes a &quot;blacklist&quot;
instead of a &quot;whitelist&quot;. Each filter is instead of a &quot;whitelist&quot;. Each filter is
interpreted as an implication: an issue matches if it does interpreted as an implication: an issue matches if it does
not match the &lsquo;issue_type_regex&lsquo; or if it does not match the &rsquo;issue_type_regex&rsquo; or if it does
match the &lsquo;filename_regex&lsquo;. The filenames that match the &rsquo;filename_regex&rsquo;. The filenames that
are tested by the regex are relative to the are tested by the regex are relative to the
&lsquo;--project-root&lsquo; directory. The &rsquo;--project-root&rsquo; directory. The
&lsquo;&lt;reason_string&gt;&lsquo; is a non-empty string &rsquo;&lt;reason_string&gt;&rsquo; is a non-empty string
used to explain why the issue was filtered.</p> used to explain why the issue was filtered.</p>
<p style="margin-left:11%;">See also <b>infer-report</b>(1) <p style="margin-left:11%;">See also <b>infer-report</b>(1)
@ -457,7 +479,7 @@ given the same before. Not compatible with
<p style="margin-left:17%;">Activates: checker cost: <p style="margin-left:17%;">Activates: checker cost:
Computes the time complexity of functions and methods. Can Computes the time complexity of functions and methods. Can
be used to detect changes in runtime complexity with be used to detect changes in runtime complexity with
&lsquo;infer reportdiff&lsquo;. (Conversely: &rsquo;infer reportdiff&rsquo;. (Conversely:
<b>--no-cost</b>)</p> <b>--no-cost</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
@ -477,6 +499,15 @@ disable all other checkers (Conversely:
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--cost-tests-only-autoreleasepool</b></p>
<p style="margin-left:17%;">Activates: [EXPERIMENTAL]
Report only autoreleasepool size results in cost tests
(Conversely:
<b>--no-cost-tests-only-autoreleasepool</b>)</p>
<p style="margin-left:11%;">See also <b>infer-report</b>(1)
and <b>infer-reportdiff</b>(1). <b><br>
--costs-current</b> <i>path</i></p> --costs-current</b> <i>path</i></p>
<p style="margin-left:17%;">Costs report of the latest <p style="margin-left:17%;">Costs report of the latest
@ -630,14 +661,18 @@ have run. In particular, note that disabling issue types
does not make the corresponding checker not run.</p> does not make the corresponding checker not run.</p>
<p style="margin-left:11%;">Available issue types are as <p style="margin-left:11%;">Available issue types are as
follows:</p> follows: <br>
ARRAY_OUT_OF_BOUNDS_L1 (disabled by default), <br>
<p style="margin-left:11%; margin-top: 1em">ARRAY_OUT_OF_BOUNDS_L1
(disabled by default), <br>
ARRAY_OUT_OF_BOUNDS_L2 (disabled by default), <br> ARRAY_OUT_OF_BOUNDS_L2 (disabled by default), <br>
ARRAY_OUT_OF_BOUNDS_L3 (disabled by default), <br> ARRAY_OUT_OF_BOUNDS_L3 (disabled by default), <br>
ASSIGN_POINTER_WARNING (enabled by default), <br> ASSIGN_POINTER_WARNING (enabled by default), <br>
AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE (enabled by
default), <br>
AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE_UI_THREAD (enabled
by <br>
default), <br>
AUTORELEASEPOOL_SIZE_UNREACHABLE_AT_EXIT (disabled by
default), <br>
Abduction_case_not_implemented (enabled by default), <br> Abduction_case_not_implemented (enabled by default), <br>
Array_of_pointsto (enabled by default), <br> Array_of_pointsto (enabled by default), <br>
Assert_failure (enabled by default), <br> Assert_failure (enabled by default), <br>
@ -733,6 +768,7 @@ INFERBO_ALLOC_IS_NEGATIVE (enabled by default), <br>
INFERBO_ALLOC_IS_ZERO (enabled by default), <br> INFERBO_ALLOC_IS_ZERO (enabled by default), <br>
INFERBO_ALLOC_MAY_BE_BIG (enabled by default), <br> INFERBO_ALLOC_MAY_BE_BIG (enabled by default), <br>
INFERBO_ALLOC_MAY_BE_NEGATIVE (enabled by default), <br> INFERBO_ALLOC_MAY_BE_NEGATIVE (enabled by default), <br>
INFINITE_AUTORELEASEPOOL_SIZE (disabled by default), <br>
INFINITE_EXECUTION_TIME (disabled by default), <br> INFINITE_EXECUTION_TIME (disabled by default), <br>
INHERENTLY_DANGEROUS_FUNCTION (enabled by default), <br> INHERENTLY_DANGEROUS_FUNCTION (enabled by default), <br>
INSECURE_INTENT_HANDLING (enabled by default), <br> INSECURE_INTENT_HANDLING (enabled by default), <br>
@ -761,6 +797,7 @@ default), <br>
Missing_fld (enabled by default), <br> Missing_fld (enabled by default), <br>
NULLPTR_DEREFERENCE (disabled by default), <br> NULLPTR_DEREFERENCE (disabled by default), <br>
NULL_DEREFERENCE (enabled by default), <br> NULL_DEREFERENCE (enabled by default), <br>
OPTIONAL_EMPTY_ACCESS (disabled by default), <br>
PARAMETER_NOT_NULL_CHECKED (enabled by default), <br> PARAMETER_NOT_NULL_CHECKED (enabled by default), <br>
POINTER_TO_CONST_OBJC_CLASS (enabled by default), <br> POINTER_TO_CONST_OBJC_CLASS (enabled by default), <br>
PRECONDITION_NOT_FOUND (enabled by default), <br> PRECONDITION_NOT_FOUND (enabled by default), <br>
@ -785,7 +822,8 @@ STRONG_DELEGATE_WARNING (enabled by default), <br>
STRONG_SELF_NOT_CHECKED (enabled by default), <br> STRONG_SELF_NOT_CHECKED (enabled by default), <br>
Symexec_memory_error (enabled by default), <br> Symexec_memory_error (enabled by default), <br>
THREAD_SAFETY_VIOLATION (enabled by default), <br> THREAD_SAFETY_VIOLATION (enabled by default), <br>
TOPL_ERROR (enabled by default), <br> TOPL_BIABD_ERROR (enabled by default), <br>
TOPL_PULSE_ERROR (enabled by default), <br>
UNINITIALIZED_VALUE (enabled by default), <br> UNINITIALIZED_VALUE (enabled by default), <br>
UNREACHABLE_CODE (enabled by default), <br> UNREACHABLE_CODE (enabled by default), <br>
UNTRUSTED_BUFFER_ACCESS (disabled by default), <br> UNTRUSTED_BUFFER_ACCESS (disabled by default), <br>
@ -804,10 +842,8 @@ USE_AFTER_FREE (enabled by default), <br>
USE_AFTER_LIFETIME (enabled by default), <br> USE_AFTER_LIFETIME (enabled by default), <br>
VECTOR_INVALIDATION (enabled by default), <br> VECTOR_INVALIDATION (enabled by default), <br>
WEAK_SELF_IN_NO_ESCAPE_BLOCK (enabled by default), <br> WEAK_SELF_IN_NO_ESCAPE_BLOCK (enabled by default), <br>
Wrong_argument_number (enabled by default).</p> Wrong_argument_number (enabled by default). <br>
See also <b>infer-report</b>(1). <b><br>
<p style="margin-left:11%; margin-top: 1em">See also
<b>infer-report</b>(1). <b><br>
--dump-duplicate-symbols</b></p> --dump-duplicate-symbols</b></p>
<p style="margin-left:17%;">Activates: Dump all symbols <p style="margin-left:17%;">Activates: Dump all symbols
@ -830,7 +866,7 @@ or off.</p>
--eradicate</b></p> --eradicate</b></p>
<p style="margin-left:17%;">Activates: checker eradicate: <p style="margin-left:17%;">Activates: checker eradicate:
The eradicate &lsquo;@Nullable&lsquo; checker for Java The eradicate &rsquo;@Nullable&rsquo; checker for Java
annotations. (Conversely: <b>--no-eradicate</b>)</p> annotations. (Conversely: <b>--no-eradicate</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
@ -946,6 +982,13 @@ generated class files</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br> <b>infer-capture</b>(1). <b><br>
--global-tenv</b></p>
<p style="margin-left:17%;">Activates: Print the global
type environment. (Conversely: <b>--no-global-tenv</b>)</p>
<p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b><br>
--headers</b></p> --headers</b></p>
<p style="margin-left:17%;">Activates: Analyze code in <p style="margin-left:17%;">Activates: Analyze code in
@ -960,8 +1003,8 @@ header files (Conversely: <b>--no-headers</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1), <b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br> <b>infer-compile</b>(1), <b><br>
infer-explore</b>(1), <b>infer-help</b>(1), infer-debug</b>(1), <b>infer-explore</b>(1),
<b>infer-report</b>(1), <b><br> <b>infer-help</b>(1), <b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br> infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--help-checker</b> <i>+checker-id</i></p> --help-checker</b> <i>+checker-id</i></p>
@ -982,8 +1025,8 @@ undefined, and to <b>pager</b> otherwise.</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1), <b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br> <b>infer-compile</b>(1), <b><br>
infer-explore</b>(1), <b>infer-help</b>(1), infer-debug</b>(1), <b>infer-explore</b>(1),
<b>infer-report</b>(1), <b><br> <b>infer-help</b>(1), <b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br> infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--help-full</b></p> --help-full</b></p>
@ -993,8 +1036,8 @@ internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1), <b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br> <b>infer-compile</b>(1), <b><br>
infer-explore</b>(1), <b>infer-help</b>(1), infer-debug</b>(1), <b>infer-explore</b>(1),
<b>infer-report</b>(1), <b><br> <b>infer-help</b>(1), <b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br> infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--help-issue-type</b> <i>+UNIQUE_ID</i></p> --help-issue-type</b> <i>+UNIQUE_ID</i></p>
@ -1025,9 +1068,9 @@ report. (Conversely: <b>--no-html</b>)</p>
<p style="margin-left:17%;">Activates: checker <p style="margin-left:17%;">Activates: checker
immutable-cast: Detection of object cast from immutable immutable-cast: Detection of object cast from immutable
types to mutable types. For instance, it will detect casts types to mutable types. For instance, it will detect casts
from &lsquo;ImmutableList&lsquo; to &lsquo;List&lsquo;, from &rsquo;ImmutableList&rsquo; to &rsquo;List&rsquo;,
&lsquo;ImmutableMap&lsquo; to &lsquo;Map&lsquo;, and &rsquo;ImmutableMap&rsquo; to &rsquo;Map&rsquo;, and
&lsquo;ImmutableSet&lsquo; to &lsquo;Set&lsquo;. &rsquo;ImmutableSet&rsquo; to &rsquo;Set&rsquo;.
(Conversely: <b>--no-immutable-cast</b>)</p> (Conversely: <b>--no-immutable-cast</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
@ -1221,7 +1264,7 @@ issue types that infer might report. (Conversely:
<p style="margin-left:17%;">Activates: checker <p style="margin-left:17%;">Activates: checker
litho-required-props: Checks that all non-optional litho-required-props: Checks that all non-optional
&lsquo;@Prop&lsquo;s have been specified when constructing &rsquo;@Prop&rsquo;s have been specified when constructing
Litho components. (Conversely: Litho components. (Conversely:
<b>--no-litho-required-props</b>)</p> <b>--no-litho-required-props</b>)</p>
@ -1286,6 +1329,13 @@ that are invariant outside of loop bodies for efficiency.
and disable all other checkers (Conversely: and disable all other checkers (Conversely:
<b>--no-loop-hoisting-only</b>)</p> <b>--no-loop-hoisting-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--max-jobs</b> <i>int</i></p>
<p style="margin-left:17%;">Maximum number of analysis jobs
running simultaneously</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--max-nesting</b> <i>int</i></p> --max-nesting</b> <i>int</i></p>
@ -1311,17 +1361,8 @@ unknown_origin }</i></p>
<p style="margin-left:17%;">Specify the memory leak buckets <p style="margin-left:17%;">Specify the memory leak buckets
to be checked in C++:</p> to be checked in C++:</p>
<p style="margin-left:11%;">- <b>cpp</b> from C++ code</p> <p style="margin-left:11%;">- <b>cpp</b> from C++ code <br>
See also <b>infer-analyze</b>(1). <b><br>
<p style="margin-left:11%; margin-top: 1em">See also
<b>infer-analyze</b>(1). <b><br>
--perf-profiler-data-file</b> <i>file</i></p>
<p style="margin-left:17%;">DEPRECATED: Specify the file
containing perf profiler data to read</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--pmd-xml</b></p> --pmd-xml</b></p>
<p style="margin-left:17%;">Activates: Output issues in <p style="margin-left:17%;">Activates: Output issues in
@ -1350,11 +1391,11 @@ infer-run</b>(1). <b><br>
--printf-args</b></p> --printf-args</b></p>
<p style="margin-left:17%;">Activates: checker printf-args: <p style="margin-left:17%;">Activates: checker printf-args:
Detect mismatches between the Java &lsquo;printf&lsquo; Detect mismatches between the Java &rsquo;printf&rsquo;
format strings and the argument types For example, this format strings and the argument types For example, this
checker will warn about the type error in checker will warn about the type error in
&lsquo;printf(&quot;Hello %d&quot;, &rsquo;printf(&quot;Hello %d&quot;,
&quot;world&quot;)&lsquo; (Conversely: &quot;world&quot;)&rsquo; (Conversely:
<b>--no-printf-args</b>)</p> <b>--no-printf-args</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
@ -1373,16 +1414,26 @@ and disable all other checkers (Conversely:
methods discovered by infer (Conversely: methods discovered by infer (Conversely:
<b>--no-procedures</b>)</p> <b>--no-procedures</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--procedures-attributes</b></p> --procedures-attributes</b></p>
<p style="margin-left:17%;">Activates: Print the attributes <p style="margin-left:17%;">Activates: Print the attributes
of each procedure in the output of <b>--procedures</b> of each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-attributes</b>)</p> (Conversely: <b>--no-procedures-attributes</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--procedures-cfg</b></p>
<p style="margin-left:17%;">Activates: Output a dotty file
in
infer-out/captured/&lt;file_name&gt;/&lt;proc_name&gt;.dot
for each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-cfg</b>)</p>
<p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b><br>
--no-procedures-definedness</b></p> --no-procedures-definedness</b></p>
<p style="margin-left:17%;">Deactivates: Include procedures <p style="margin-left:17%;">Deactivates: Include procedures
@ -1392,8 +1443,8 @@ procedure declaration, or the procedure is an auto-generated
Objective-C accessor (Conversely: Objective-C accessor (Conversely:
<b>--procedures-definedness</b>)</p> <b>--procedures-definedness</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--procedures-filter</b> <i>filter</i></p> --procedures-filter</b> <i>filter</i></p>
<p style="margin-left:17%;">With <b>--procedures</b>, only <p style="margin-left:17%;">With <b>--procedures</b>, only
@ -1404,16 +1455,16 @@ as OCaml Str regular expressions. For instance, to keep only
methods named &quot;foo&quot;, one can use the filter methods named &quot;foo&quot;, one can use the filter
&quot;.*:foo&quot;, or &quot;foo&quot; for short.</p> &quot;.*:foo&quot;, or &quot;foo&quot; for short.</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--procedures-name</b></p> --procedures-name</b></p>
<p style="margin-left:17%;">Activates: Include procedures <p style="margin-left:17%;">Activates: Include procedures
names in the output of <b>--procedures</b> (Conversely: names in the output of <b>--procedures</b> (Conversely:
<b>--no-procedures-name</b>)</p> <b>--no-procedures-name</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--no-procedures-source-file</b></p> --no-procedures-source-file</b></p>
<p style="margin-left:17%;">Deactivates: Include the source <p style="margin-left:17%;">Deactivates: Include the source
@ -1421,16 +1472,16 @@ file in which the procedure definition or declaration was
found in the output of <b>--procedures</b> (Conversely: found in the output of <b>--procedures</b> (Conversely:
<b>--procedures-source-file</b>)</p> <b>--procedures-source-file</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--procedures-summary</b></p> --procedures-summary</b></p>
<p style="margin-left:17%;">Activates: Print the summaries <p style="margin-left:17%;">Activates: Print the summaries
of each procedure in the output of <b>--procedures</b> of each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-summary</b>)</p> (Conversely: <b>--no-procedures-summary</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--no-progress-bar</b>,<b>-P</b></p> --no-progress-bar</b>,<b>-P</b></p>
<p style="margin-left:17%;">Deactivates: Show a progress <p style="margin-left:17%;">Deactivates: Show a progress
@ -1493,6 +1544,20 @@ modelled as allocs in Pulse</p>
<p style="margin-left:17%;">Regex of methods that should be <p style="margin-left:17%;">Regex of methods that should be
modelled as release in Pulse</p> modelled as release in Pulse</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--pulse-model-return-nonnull</b> <i>+string</i></p>
<p style="margin-left:17%;">Methods that should be modelled
as returning non-null in Pulse</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--pulse-model-skip-pattern</b> <i>string</i></p>
<p style="margin-left:17%;">Regex of methods that should be
modelled as &quot;skip&quot; in Pulse</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--pulse-model-transfer-ownership</b> <i>+string</i></p> --pulse-model-transfer-ownership</b> <i>+string</i></p>
@ -1708,6 +1773,23 @@ files in the specified directory</p>
<b>infer-analyze</b>(1), <b>infer-capture</b>(1), <b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-explore</b>(1), <b><br> <b>infer-explore</b>(1), <b><br>
infer-report</b>(1), and <b>infer-run</b>(1). <b><br> infer-report</b>(1), and <b>infer-run</b>(1). <b><br>
--scheduler</b> <i>{ file | restart | callgraph }</i></p>
<p style="margin-left:17%;">Specify the scheduler used for
the analysis phase:</p>
<p style="margin-left:11%;">- file: schedule one job per
file <br>
- callgraph: schedule one job per procedure, following the
<br>
syntactic call graph. Usually faster than &quot;file&quot;.
<br>
- restart: same as callgraph but uses locking to try and
avoid <br>
duplicate work between different analysis processes and thus
<br>
performs better in some circumstances <br>
See also <b>infer-analyze</b>(1). <b><br>
--select</b> <i>N</i></p> --select</b> <i>N</i></p>
<p style="margin-left:17%;">Select bug number <i>N</i>. If <p style="margin-left:17%;">Select bug number <i>N</i>. If
@ -1719,7 +1801,7 @@ omitted, prompt for input.</p>
<p style="margin-left:17%;">Deactivates: checker <p style="margin-left:17%;">Deactivates: checker
self-in-block: An Objective-C-specific analysis to detect self-in-block: An Objective-C-specific analysis to detect
when a block captures &lsquo;self&lsquo;. (Conversely: when a block captures &rsquo;self&rsquo;. (Conversely:
<b>--self-in-block</b>)</p> <b>--self-in-block</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
@ -1808,8 +1890,8 @@ matches the given prefix</p>
discovered by infer (Conversely: discovered by infer (Conversely:
<b>--no-source-files</b>)</p> <b>--no-source-files</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--source-files-cfg</b></p> --source-files-cfg</b></p>
<p style="margin-left:17%;">Activates: Output a dotty file <p style="margin-left:17%;">Activates: Output a dotty file
@ -1817,8 +1899,8 @@ in infer-out/captured for each source file in the output of
<b>--source-files</b> (Conversely: <b>--source-files</b> (Conversely:
<b>--no-source-files-cfg</b>)</p> <b>--no-source-files-cfg</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--source-files-filter</b> <i>filter</i></p> --source-files-filter</b> <i>filter</i></p>
<p style="margin-left:17%;">With <b>--source-files</b>, <p style="margin-left:17%;">With <b>--source-files</b>,
@ -1827,8 +1909,8 @@ only print source files matching the specified
file path. Patterns are interpreted as OCaml Str regular file path. Patterns are interpreted as OCaml Str regular
expressions.</p> expressions.</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--source-files-freshly-captured</b></p> --source-files-freshly-captured</b></p>
<p style="margin-left:17%;">Activates: Print whether the <p style="margin-left:17%;">Activates: Print whether the
@ -1836,8 +1918,8 @@ source file has been captured in the most recent capture
phase in the output of <b>--source-files</b>. (Conversely: phase in the output of <b>--source-files</b>. (Conversely:
<b>--no-source-files-freshly-captured</b>)</p> <b>--no-source-files-freshly-captured</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--source-files-procedure-names</b></p> --source-files-procedure-names</b></p>
<p style="margin-left:17%;">Activates: Print the names of <p style="margin-left:17%;">Activates: Print the names of
@ -1845,8 +1927,8 @@ procedure of each source file in the output of
<b>--source-files</b> (Conversely: <b>--source-files</b> (Conversely:
<b>--no-source-files-procedure-names</b>)</p> <b>--no-source-files-procedure-names</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--source-files-type-environment</b></p> --source-files-type-environment</b></p>
<p style="margin-left:17%;">Activates: Print the type <p style="margin-left:17%;">Activates: Print the type
@ -1854,8 +1936,8 @@ environment of each source file in the output of
<b>--source-files</b> (Conversely: <b>--source-files</b> (Conversely:
<b>--no-source-files-type-environment</b>)</p> <b>--no-source-files-type-environment</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also <b>infer-debug</b>(1).
<b>infer-explore</b>(1). <b><br> <b><br>
--no-source-preview</b></p> --no-source-preview</b></p>
<p style="margin-left:17%;">Deactivates: print code <p style="margin-left:17%;">Deactivates: print code
@ -1913,20 +1995,37 @@ should be considered aliases of @ThreadSafe</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--topl</b></p> --topl-biabd</b></p>
<p style="margin-left:17%;">Activates: checker topl: <p style="margin-left:17%;">Activates: checker topl-biabd:
Detects errors based on user-provided state machines Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely: describing multi-object monitors. (Conversely:
<b>--no-topl</b>)</p> <b>--no-topl-biabd</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--topl-only</b></p> --topl-biabd-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl and <p style="margin-left:17%;">Activates: Enable topl-biabd
disable all other checkers (Conversely: and disable all other checkers (Conversely:
<b>--no-topl-only</b>)</p> <b>--no-topl-biabd-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--topl-pulse</b></p>
<p style="margin-left:17%;">Activates: checker topl-pulse:
Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely:
<b>--no-topl-pulse</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--topl-pulse-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl-pulse
and disable all other checkers (Conversely:
<b>--no-topl-pulse-only</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
@ -1981,7 +2080,7 @@ Infer directory to generate its website at
--Xbuck</b> <i>+string</i></p> --Xbuck</b> <i>+string</i></p>
<p style="margin-left:17%;">Pass values as command-line <p style="margin-left:17%;">Pass values as command-line
arguments to invocations of <i>&lsquo;buck build&lsquo;</i>. arguments to invocations of <i>&rsquo;buck build&rsquo;</i>.
Only valid for <b>--buck-clang</b>.</p> Only valid for <b>--buck-clang</b>.</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
@ -1989,7 +2088,7 @@ Only valid for <b>--buck-clang</b>.</p>
--Xbuck-no-inline</b> <i>+string</i></p> --Xbuck-no-inline</b> <i>+string</i></p>
<p style="margin-left:17%;">Pass values as command-line <p style="margin-left:17%;">Pass values as command-line
arguments to invocations of <i>&lsquo;buck build&lsquo;</i>, arguments to invocations of <i>&rsquo;buck build&rsquo;</i>,
don't inline any args starting with '@'. Only valid for don't inline any args starting with '@'. Only valid for
<b>--buck-clang</b>.</p> <b>--buck-clang</b>.</p>
@ -2009,39 +2108,47 @@ developer directory, to use for Buck clang targets</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br> <b>infer-capture</b>(1). <b><br>
--xcode-isysroot-suffix</b> <i>string</i></p>
<p style="margin-left:17%;">Specify the suffix of Xcode
isysroot directory, to avoid absolute paths in tests</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--xcpretty</b></p> --xcpretty</b></p>
<p style="margin-left:17%;">Activates: Infer will use <p style="margin-left:17%;">Activates: Infer will use
xcpretty together with xcodebuild to analyze an iOS app. xcpretty together with xcodebuild to analyze an iOS app.
xcpretty just needs to be in the path, infer command is xcpretty just needs to be in the path, infer command is
still just <i>&lsquo;infer -- &lt;xcodebuild still just <i>&rsquo;infer -- &lt;xcodebuild
command&gt;&lsquo;</i>. (Conversely: command&gt;&rsquo;</i>. (Conversely:
<b>--no-xcpretty</b>)</p> <b>--no-xcpretty</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-capture</b>(1).</p> <b>infer-capture</b>(1).</p>
<table width="100%" border=0 rules="none" frame="void" <table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0"> cellspacing="0" cellpadding="0">
<tr valign="top" align="left"> <tr valign="top" align="left">
<td width="11%"></td> <td width="11%"></td>
<td width="3%"> <td width="3%">
<p style="margin-top: 1em" valign="top"><b>--</b></p></td> <p><b>--</b></p></td>
<td width="3%"></td> <td width="3%"></td>
<td width="83%"> <td width="83%">
<p style="margin-top: 1em" valign="top">Stop argument <p>Stop argument processing, use remaining arguments as a
processing, use remaining arguments as a build command</p></td> build command</p></td></tr>
</table> </table>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-capture</b>(1) and <b>infer-run</b>(1).</p> <b>infer-capture</b>(1) and <b>infer-run</b>(1).</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a> <a name="ENVIRONMENT"></a>
<h2>ENVIRONMENT</h2> </h2>
<p style="margin-left:11%; margin-top: 1em">Extra arguments <p style="margin-left:11%; margin-top: 1em">Extra arguments
@ -2049,9 +2156,9 @@ may be passed to all infer commands using the
<b>INFER_ARGS</b> environment variable (see the <b>INFER_ARGS</b> environment variable (see the
<i>OPTIONS</i> section). <b>INFER_ARGS</b> is expected to <i>OPTIONS</i> section). <b>INFER_ARGS</b> is expected to
contain a string of ^-separated options. For instance, contain a string of ^-separated options. For instance,
calling &lsquo;INFER_ARGS=--debug^--print-logs infer&lsquo; calling &rsquo;INFER_ARGS=--debug^--print-logs infer&rsquo;
is equivalent to calling &lsquo;infer --debug is equivalent to calling &rsquo;infer --debug
--print-logs&lsquo;.</p> --print-logs&rsquo;.</p>
<p style="margin-left:11%; margin-top: 1em"><b>INFERCONFIG</b>: <p style="margin-left:11%; margin-top: 1em"><b>INFERCONFIG</b>:
@ -2064,8 +2171,9 @@ commands will exit with an error code in some cases when
otherwise a simple warning would be emitted on stderr, for otherwise a simple warning would be emitted on stderr, for
instance if a deprecated form of an option is used.</p> instance if a deprecated form of an option is used.</p>
<h2>FILES
<a name="FILES"></a> <a name="FILES"></a>
<h2>FILES</h2> </h2>
@ -2097,16 +2205,17 @@ then its parent, etc., stopping at the first
[&quot;@gen&quot;,&quot;/* no infer */&quot;] <br> [&quot;@gen&quot;,&quot;/* no infer */&quot;] <br>
}</p> }</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a> <a name="SEE ALSO"></a>
<h2>SEE ALSO</h2> </h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-analyze</b>(1), <p style="margin-left:11%; margin-top: 1em"><b>infer-analyze</b>(1),
<b>infer-capture</b>(1), <b>infer-compile</b>(1), <b>infer-capture</b>(1), <b>infer-compile</b>(1),
<b>infer-explore</b>(1), <b>infer-help</b>(1), <b>infer-debug</b>(1), <b>infer-explore</b>(1),
<b>infer-report</b>(1), <b>infer-reportdiff</b>(1), <b>infer-help</b>(1), <b>infer-report</b>(1),
<b>infer-run</b>(1)</p> <b>infer-reportdiff</b>(1), <b>infer-run</b>(1)</p>
<hr> <hr>
</body> </body>
</html> </html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>index</title>
<link rel="stylesheet" href="./odoc.css"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
</head>
<body>
<main class="content">
<div class="by-name">
<h2>OCaml package documentation</h2>
<ol>
<li><a href="infer/index.html">infer</a></li>
</ol>
</div>
</main>
</body>
</html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage (infer.ASTLanguage)</title><link rel="stylesheet" href="../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="index.html">Up</a> <a href="index.html">infer</a> &#x00BB; ASTLanguage</nav><h1 id="ast-language-(al)"><a href="#ast-language-(al)" class="anchor"></a>AST Language (AL)</h1><p>Linter framework based on the <a href="ClangFrontend.html">Clang frontend</a>.</p><p>All modules: <a href="ASTLanguage/index.html"><code>ASTLanguage</code></a></p></header></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>AL (infer.ASTLanguage.AL)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; AL</nav><h1>Module <code>ASTLanguage.AL</code></h1></header><dl><dt class="spec value" id="val-do_frontend_checks"><a href="#val-do_frontend_checks" class="anchor"></a><code><span class="keyword">val</span> do_frontend_checks : <a href="../../ClangFrontend/CFrontend_config/index.html#type-translation_unit_context">ClangFrontend.CFrontend_config.translation_unit_context</a> <span>&#45;&gt;</span> <a href="../../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> <span>&#45;&gt;</span> unit</code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>DottyPrinter (infer.ASTLanguage.ALDebugger.EvaluationTracker.DottyPrinter)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">infer</a> &#x00BB; <a href="../../../index.html">ASTLanguage</a> &#x00BB; <a href="../../index.html">ALDebugger</a> &#x00BB; <a href="../index.html">EvaluationTracker</a> &#x00BB; DottyPrinter</nav><h1>Module <code>EvaluationTracker.DottyPrinter</code></h1></header><dl><dt class="spec value" id="val-dotty_of_ctl_evaluation"><a href="#val-dotty_of_ctl_evaluation" class="anchor"></a><code><span class="keyword">val</span> dotty_of_ctl_evaluation : <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> string</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ALDebugger (infer.ASTLanguage.ALDebugger)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; ALDebugger</nav><h1>Module <code>ASTLanguage.ALDebugger</code></h1></header><div class="spec module" id="module-EvaluationTracker"><a href="#module-EvaluationTracker" class="anchor"></a><code><span class="keyword">module</span> <a href="EvaluationTracker/index.html">EvaluationTracker</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div></div></body></html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ALUtils (infer.ASTLanguage.ALUtils)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; ALUtils</nav><h1>Module <code>ASTLanguage.ALUtils</code></h1></header><dl><dt class="spec value" id="val-location_from_dinfo"><a href="#val-location_from_dinfo" class="anchor"></a><code><span class="keyword">val</span> location_from_dinfo : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../../ATDGenerated/Clang_ast_t/index.html#type-decl_info">ATDGenerated.Clang_ast_t.decl_info</a> <span>&#45;&gt;</span> <a href="../../IBase/Location/index.html#type-t">IBase.Location.t</a></code></dt><dt class="spec value" id="val-location_from_an"><a href="#val-location_from_an" class="anchor"></a><code><span class="keyword">val</span> location_from_an : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <a href="../../IBase/Location/index.html#type-t">IBase.Location.t</a></code></dt><dt class="spec value" id="val-location_from_decl"><a href="#val-location_from_decl" class="anchor"></a><code><span class="keyword">val</span> location_from_decl : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> <span>&#45;&gt;</span> <a href="../../IBase/Location/index.html#type-t">IBase.Location.t</a></code></dt><dt class="spec value" id="val-ivar_name"><a href="#val-ivar_name" class="anchor"></a><code><span class="keyword">val</span> ivar_name : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt><dt class="spec value" id="val-cxx_ref_captured_in_block"><a href="#val-cxx_ref_captured_in_block" class="anchor"></a><code><span class="keyword">val</span> cxx_ref_captured_in_block : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt><dt class="spec value" id="val-decl_ref_or_selector_name"><a href="#val-decl_ref_or_selector_name" class="anchor"></a><code><span class="keyword">val</span> decl_ref_or_selector_name : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt><dt class="spec value" id="val-receiver_method_call"><a href="#val-receiver_method_call" class="anchor"></a><code><span class="keyword">val</span> receiver_method_call : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt><dt class="spec value" id="val-class_name"><a href="#val-class_name" class="anchor"></a><code><span class="keyword">val</span> class_name : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CIssue (infer.ASTLanguage.CIssue)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; CIssue</nav><h1>Module <code>ASTLanguage.CIssue</code></h1></header><dl><dt class="spec type" id="type-mode"><a href="#type-mode" class="anchor"></a><code><span class="keyword">type</span> mode</code><code> = </code><table class="variant"><tr id="type-mode.On" class="anchored"><td class="def constructor"><a href="#type-mode.On" class="anchor"></a><code>| </code><code><span class="constructor">On</span></code></td></tr><tr id="type-mode.Off" class="anchored"><td class="def constructor"><a href="#type-mode.Off" class="anchor"></a><code>| </code><code><span class="constructor">Off</span></code></td></tr></table></dt></dl><dl><dt class="spec value" id="val-should_run_check"><a href="#val-should_run_check" class="anchor"></a><code><span class="keyword">val</span> should_run_check : <a href="index.html#type-mode">mode</a> <span>&#45;&gt;</span> bool</code></dt></dl><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = </code><code>{</code><table class="record"><tr id="type-t.issue_type" class="anchored"><td class="def field"><a href="#type-t.issue_type" class="anchor"></a><code>issue_type : <a href="../../IBase/IssueType/index.html#type-t">IBase.IssueType.t</a>;</code></td></tr><tr id="type-t.description" class="anchored"><td class="def field"><a href="#type-t.description" class="anchor"></a><code>description : string;</code></td><td class="doc"><p>Description in the error message</p></td></tr><tr id="type-t.mode" class="anchored"><td class="def field"><a href="#type-t.mode" class="anchor"></a><code>mode : <a href="index.html#type-mode">mode</a>;</code></td></tr><tr id="type-t.loc" class="anchored"><td class="def field"><a href="#type-t.loc" class="anchor"></a><code>loc : <a href="../../IBase/Location/index.html#type-t">IBase.Location.t</a>;</code></td><td class="doc"><p>location in the code</p></td></tr><tr id="type-t.severity" class="anchored"><td class="def field"><a href="#type-t.severity" class="anchor"></a><code>severity : <a href="../../IBase/IssueType/index.html#type-severity">IBase.IssueType.severity</a>;</code></td></tr><tr id="type-t.suggestion" class="anchored"><td class="def field"><a href="#type-t.suggestion" class="anchor"></a><code>suggestion : <span>string option</span>;</code></td><td class="doc"><p>an optional suggestion or correction</p></td></tr></table><code>}</code></dt></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : Stdlib.Format.formatter <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CPredicatesOnTwoNodes (infer.ASTLanguage.CPredicatesOnTwoNodes)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; CPredicatesOnTwoNodes</nav><h1>Module <code>ASTLanguage.CPredicatesOnTwoNodes</code></h1></header><dl><dt class="spec value" id="val-decl_name_is_contained_in_name_of_decl"><a href="#val-decl_name_is_contained_in_name_of_decl" class="anchor"></a><code><span class="keyword">val</span> decl_name_is_contained_in_name_of_decl : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> bool</code></dt></dl></div></body></html>

@ -0,0 +1,6 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CTL (infer.ASTLanguage.CTL)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; CTL</nav><h1>Module <code>ASTLanguage.CTL</code></h1></header><aside><p>This module defines a language to define checkers. These checkers are interpreted over the AST of the program. A checker is defined by a CTL formula which expresses a condition saying when the checker should report a problem.</p></aside><dl><dt class="spec type" id="type-clause"><a href="#type-clause" class="anchor"></a><code><span class="keyword">type</span> clause</code><code> = </code><table class="variant"><tr id="type-clause.CLet" class="anchored"><td class="def constructor"><a href="#type-clause.CLet" class="anchor"></a><code>| </code><code><span class="constructor">CLet</span> <span class="keyword">of</span> <a href="../ALVar/index.html#type-formula_id">ALVar.formula_id</a> * <span><a href="../ALVar/index.html#type-t">ALVar.t</a> list</span> * <a href="../CTLTypes/index.html#type-t">CTLTypes.t</a></code></td><td class="doc"><p>Let clause: let id = definifion;</p></td></tr><tr id="type-clause.CSet" class="anchored"><td class="def constructor"><a href="#type-clause.CSet" class="anchor"></a><code>| </code><code><span class="constructor">CSet</span> <span class="keyword">of</span> <a href="../ALVar/index.html#type-keyword">ALVar.keyword</a> * <a href="../CTLTypes/index.html#type-t">CTLTypes.t</a></code></td><td class="doc"><p>Set clause: set id = definition</p></td></tr><tr id="type-clause.CDesc" class="anchored"><td class="def constructor"><a href="#type-clause.CDesc" class="anchor"></a><code>| </code><code><span class="constructor">CDesc</span> <span class="keyword">of</span> <a href="../ALVar/index.html#type-keyword">ALVar.keyword</a> * string</code></td><td class="doc"><p>Description clause eg: set message = &quot;...&quot;</p></td></tr><tr id="type-clause.CPath" class="anchored"><td class="def constructor"><a href="#type-clause.CPath" class="anchor"></a><code>| </code><code><span class="constructor">CPath</span> <span class="keyword">of</span> <span>[ `WhitelistPath <span>| `BlacklistPath</span> ]</span> * <span><a href="../ALVar/index.html#type-t">ALVar.t</a> list</span></code></td></tr></table></dt><dd><p>&quot;set&quot; clauses are used for defining mandatory variables that will be used by when reporting issues: eg for defining the condition.</p><p>&quot;desc&quot; clauses are used for defining the error message, the suggestion, the severity.</p><p>&quot;let&quot; clauses are used to define temporary formulas which are then used to abbreviate the another formula. For example</p><pre> let f = a And B
set formula = f OR f
set message = &quot;bla&quot;</pre></dd></dl><dl><dt class="spec type" id="type-ctl_checker"><a href="#type-ctl_checker" class="anchor"></a><code><span class="keyword">type</span> ctl_checker</code><code> = </code><code>{</code><table class="record"><tr id="type-ctl_checker.id" class="anchored"><td class="def field"><a href="#type-ctl_checker.id" class="anchor"></a><code>id : string;</code></td><td class="doc"><p>Checker's id</p></td></tr><tr id="type-ctl_checker.definitions" class="anchored"><td class="def field"><a href="#type-ctl_checker.definitions" class="anchor"></a><code>definitions : <span><a href="index.html#type-clause">clause</a> list</span>;</code></td><td class="doc"><p>A list of let/set definitions</p></td></tr></table><code>}</code></dt><dt class="spec type" id="type-al_file"><a href="#type-al_file" class="anchor"></a><code><span class="keyword">type</span> al_file</code><code> = </code><code>{</code><table class="record"><tr id="type-al_file.import_files" class="anchored"><td class="def field"><a href="#type-al_file.import_files" class="anchor"></a><code>import_files : <span>string list</span>;</code></td></tr><tr id="type-al_file.global_macros" class="anchored"><td class="def field"><a href="#type-al_file.global_macros" class="anchor"></a><code>global_macros : <span><a href="index.html#type-clause">clause</a> list</span>;</code></td></tr><tr id="type-al_file.global_paths" class="anchored"><td class="def field"><a href="#type-al_file.global_paths" class="anchor"></a><code>global_paths : <span><span>(string * <span><a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> list</span>)</span> list</span>;</code></td></tr><tr id="type-al_file.checkers" class="anchored"><td class="def field"><a href="#type-al_file.checkers" class="anchor"></a><code>checkers : <span><a href="index.html#type-ctl_checker">ctl_checker</a> list</span>;</code></td></tr></table><code>}</code></dt></dl><dl><dt class="spec value" id="val-print_checker"><a href="#val-print_checker" class="anchor"></a><code><span class="keyword">val</span> print_checker : <a href="index.html#type-ctl_checker">ctl_checker</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-eval_formula"><a href="#val-eval_formula" class="anchor"></a><code><span class="keyword">val</span> eval_formula : <span>?&#8288;keep_witness:bool</span> <span>&#45;&gt;</span> <a href="../CTLTypes/index.html#type-t">CTLTypes.t</a> <span>&#45;&gt;</span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span>&#45;&gt;</span> <span><a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> option</span></code></dt><dd><p>return the evaluation of the formula and a witness</p></dd></dl><dl><dt class="spec value" id="val-save_dotty_when_in_debug_mode"><a href="#val-save_dotty_when_in_debug_mode" class="anchor"></a><code><span class="keyword">val</span> save_dotty_when_in_debug_mode : <a href="../../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-next_state_via_transition"><a href="#val-next_state_via_transition" class="anchor"></a><code><span class="keyword">val</span> next_state_via_transition : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <a href="../CTLTypes/index.html#type-transitions">CTLTypes.transitions</a> <span>&#45;&gt;</span> <span><a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> list</span></code></dt><dt class="spec value" id="val-create_ctl_evaluation_tracker"><a href="#val-create_ctl_evaluation_tracker" class="anchor"></a><code><span class="keyword">val</span> create_ctl_evaluation_tracker : <a href="../../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a> <span>&#45;&gt;</span> unit</code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CTLExceptions (infer.ASTLanguage.CTLExceptions)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; CTLExceptions</nav><h1>Module <code>ASTLanguage.CTLExceptions</code></h1></header><dl><dt class="spec exception" id="exception-ALParserInvariantViolationException"><a href="#exception-ALParserInvariantViolationException" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">ALParserInvariantViolationException</span> <span class="keyword">of</span> string</code></dt><dd><p>Raised when the parser encounters a violation of a certain invariant</p></dd></dl><dl><dt class="spec type" id="type-exc_info"><a href="#type-exc_info" class="anchor"></a><code><span class="keyword">type</span> exc_info</code></dt></dl><dl><dt class="spec exception" id="exception-ALFileException"><a href="#exception-ALFileException" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">ALFileException</span> <span class="keyword">of</span> <a href="index.html#type-exc_info">exc_info</a></code></dt><dd><p>Raised when any exception from the lexer/parser of AL is caught, to include source-location info</p></dd></dl><dl><dt class="spec value" id="val-create_exc_info"><a href="#val-create_exc_info" class="anchor"></a><code><span class="keyword">val</span> create_exc_info : string <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="index.html#type-exc_info">exc_info</a></code></dt><dt class="spec value" id="val-json_of_exc_info"><a href="#val-json_of_exc_info" class="anchor"></a><code><span class="keyword">val</span> json_of_exc_info : <a href="index.html#type-exc_info">exc_info</a> <span>&#45;&gt;</span> Yojson.Basic.t</code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CTLParserHelper (infer.ASTLanguage.CTLParserHelper)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; CTLParserHelper</nav><h1>Module <code>ASTLanguage.CTLParserHelper</code></h1></header><dl><dt class="spec value" id="val-parse_al_file"><a href="#val-parse_al_file" class="anchor"></a><code><span class="keyword">val</span> parse_al_file : string <span>&#45;&gt;</span> <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.In_channel.t <span>&#45;&gt;</span> <span><a href="../CTL/index.html#type-al_file">CTL.al_file</a> option</span></code></dt><dt class="spec value" id="val-validate_al_files"><a href="#val-validate_al_files" class="anchor"></a><code><span class="keyword">val</span> validate_al_files : unit <span>&#45;&gt;</span> <span><span>(unit, string)</span> <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Result.t</span></code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CiOSVersionNumbers (infer.ASTLanguage.CiOSVersionNumbers)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; CiOSVersionNumbers</nav><h1>Module <code>ASTLanguage.CiOSVersionNumbers</code></h1></header><dl><dt class="spec type" id="type-human_readable_version"><a href="#type-human_readable_version" class="anchor"></a><code><span class="keyword">type</span> human_readable_version</code><code> = string</code></dt></dl><dl><dt class="spec value" id="val-version_of"><a href="#val-version_of" class="anchor"></a><code><span class="keyword">val</span> version_of : string <span>&#45;&gt;</span> <span><a href="index.html#type-human_readable_version">human_readable_version</a> option</span></code></dt><dt class="spec value" id="val-pp_diff_of_version_opt"><a href="#val-pp_diff_of_version_opt" class="anchor"></a><code><span class="keyword">val</span> pp_diff_of_version_opt : Stdlib.Format.formatter <span>&#45;&gt;</span> <span>(<span><a href="index.html#type-human_readable_version">human_readable_version</a> option</span> * <span><a href="index.html#type-human_readable_version">human_readable_version</a> option</span>)</span> <span>&#45;&gt;</span> unit</code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ComponentKit (infer.ASTLanguage.ComponentKit)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; ComponentKit</nav><h1>Module <code>ASTLanguage.ComponentKit</code></h1></header><dl><dt class="spec value" id="val-contains_ck_impl"><a href="#val-contains_ck_impl" class="anchor"></a><code><span class="keyword">val</span> contains_ck_impl : <span><a href="../../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> list</span> <span>&#45;&gt;</span> bool</code></dt><dd><p>Returns true if the passed-in list of decls contains an ObjCImplementationDecl of a descendant of CKComponent or CKComponentController.</p><p>Does not recurse into hierarchy.</p></dd></dl><dl><dt class="spec value" id="val-mutable_local_vars_advice"><a href="#val-mutable_local_vars_advice" class="anchor"></a><code><span class="keyword">val</span> mutable_local_vars_advice : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <span><a href="../CIssue/index.html#type-t">CIssue.t</a> option</span></code></dt><dt class="spec value" id="val-component_with_multiple_factory_methods_advice"><a href="#val-component_with_multiple_factory_methods_advice" class="anchor"></a><code><span class="keyword">val</span> component_with_multiple_factory_methods_advice : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <span><a href="../CIssue/index.html#type-t">CIssue.t</a> list</span></code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Ctl_lexer (infer.ASTLanguage.Ctl_lexer)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; Ctl_lexer</nav><h1>Module <code>ASTLanguage.Ctl_lexer</code></h1></header><dl><dt class="spec exception" id="exception-SyntaxError"><a href="#exception-SyntaxError" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">SyntaxError</span> <span class="keyword">of</span> string</code></dt></dl><dl><dt class="spec value" id="val-next_line"><a href="#val-next_line" class="anchor"></a><code><span class="keyword">val</span> next_line : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-__ocaml_lex_tables"><a href="#val-__ocaml_lex_tables" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_tables : Stdlib.Lexing.lex_tables</code></dt><dt class="spec value" id="val-token"><a href="#val-token" class="anchor"></a><code><span class="keyword">val</span> token : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="../Ctl_parser/index.html#type-token">Ctl_parser.token</a></code></dt><dt class="spec value" id="val-__ocaml_lex_token_rec"><a href="#val-__ocaml_lex_token_rec" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_token_rec : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="../Ctl_parser/index.html#type-token">Ctl_parser.token</a></code></dt><dt class="spec value" id="val-read_string"><a href="#val-read_string" class="anchor"></a><code><span class="keyword">val</span> read_string : <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Buffer.t <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="../Ctl_parser/index.html#type-token">Ctl_parser.token</a></code></dt><dt class="spec value" id="val-__ocaml_lex_read_string_rec"><a href="#val-__ocaml_lex_read_string_rec" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_read_string_rec : <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Buffer.t <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="../Ctl_parser/index.html#type-token">Ctl_parser.token</a></code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>RegisterCallback (infer.ASTLanguage.RegisterCallback)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; RegisterCallback</nav><h1>Module <code>ASTLanguage.RegisterCallback</code></h1></header><dl><dt class="spec value" id="val-register_frontend_checks"><a href="#val-register_frontend_checks" class="anchor"></a><code><span class="keyword">val</span> register_frontend_checks : unit <span>&#45;&gt;</span> unit</code></dt><dd><p>call this before running the clang frontend</p></dd></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Types_lexer (infer.ASTLanguage.Types_lexer)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ASTLanguage</a> &#x00BB; Types_lexer</nav><h1>Module <code>ASTLanguage.Types_lexer</code></h1></header><dl><dt class="spec exception" id="exception-SyntaxError"><a href="#exception-SyntaxError" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">SyntaxError</span> <span class="keyword">of</span> string</code></dt></dl><dl><dt class="spec value" id="val-next_line"><a href="#val-next_line" class="anchor"></a><code><span class="keyword">val</span> next_line : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-__ocaml_lex_tables"><a href="#val-__ocaml_lex_tables" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_tables : Stdlib.Lexing.lex_tables</code></dt><dt class="spec value" id="val-token"><a href="#val-token" class="anchor"></a><code><span class="keyword">val</span> token : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="../Types_parser/index.html#type-token">Types_parser.token</a></code></dt><dt class="spec value" id="val-__ocaml_lex_token_rec"><a href="#val-__ocaml_lex_token_rec" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_token_rec : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="../Types_parser/index.html#type-token">Types_parser.token</a></code></dt><dt class="spec value" id="val-read_string"><a href="#val-read_string" class="anchor"></a><code><span class="keyword">val</span> read_string : <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Buffer.t <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="../Types_parser/index.html#type-token">Types_parser.token</a></code></dt><dt class="spec value" id="val-__ocaml_lex_read_string_rec"><a href="#val-__ocaml_lex_read_string_rec" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_read_string_rec : <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Buffer.t <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="../Types_parser/index.html#type-token">Types_parser.token</a></code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__AL (infer.ASTLanguage__AL)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__AL</nav><h1>Module <code>ASTLanguage__AL</code></h1></header><dl><dt class="spec value" id="val-do_frontend_checks"><a href="#val-do_frontend_checks" class="anchor"></a><code><span class="keyword">val</span> do_frontend_checks : <a href="../ClangFrontend/CFrontend_config/index.html#type-translation_unit_context">ClangFrontend.CFrontend_config.translation_unit_context</a> <span>&#45;&gt;</span> <a href="../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> <span>&#45;&gt;</span> unit</code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>DottyPrinter (infer.ASTLanguage__ALDebugger.EvaluationTracker.DottyPrinter)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">infer</a> &#x00BB; <a href="../../index.html">ASTLanguage__ALDebugger</a> &#x00BB; <a href="../index.html">EvaluationTracker</a> &#x00BB; DottyPrinter</nav><h1>Module <code>EvaluationTracker.DottyPrinter</code></h1></header><dl><dt class="spec value" id="val-dotty_of_ctl_evaluation"><a href="#val-dotty_of_ctl_evaluation" class="anchor"></a><code><span class="keyword">val</span> dotty_of_ctl_evaluation : <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> string</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__ALDebugger (infer.ASTLanguage__ALDebugger)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__ALDebugger</nav><h1>Module <code>ASTLanguage__ALDebugger</code></h1></header><div class="spec module" id="module-EvaluationTracker"><a href="#module-EvaluationTracker" class="anchor"></a><code><span class="keyword">module</span> <a href="EvaluationTracker/index.html">EvaluationTracker</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div></div></body></html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__ALUtils (infer.ASTLanguage__ALUtils)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__ALUtils</nav><h1>Module <code>ASTLanguage__ALUtils</code></h1></header><dl><dt class="spec value" id="val-location_from_dinfo"><a href="#val-location_from_dinfo" class="anchor"></a><code><span class="keyword">val</span> location_from_dinfo : <a href="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../ATDGenerated/Clang_ast_t/index.html#type-decl_info">ATDGenerated.Clang_ast_t.decl_info</a> <span>&#45;&gt;</span> <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a></code></dt><dt class="spec value" id="val-location_from_an"><a href="#val-location_from_an" class="anchor"></a><code><span class="keyword">val</span> location_from_an : <a href="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a></code></dt><dt class="spec value" id="val-location_from_decl"><a href="#val-location_from_decl" class="anchor"></a><code><span class="keyword">val</span> location_from_decl : <a href="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> <span>&#45;&gt;</span> <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a></code></dt><dt class="spec value" id="val-ivar_name"><a href="#val-ivar_name" class="anchor"></a><code><span class="keyword">val</span> ivar_name : <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt><dt class="spec value" id="val-cxx_ref_captured_in_block"><a href="#val-cxx_ref_captured_in_block" class="anchor"></a><code><span class="keyword">val</span> cxx_ref_captured_in_block : <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt><dt class="spec value" id="val-decl_ref_or_selector_name"><a href="#val-decl_ref_or_selector_name" class="anchor"></a><code><span class="keyword">val</span> decl_ref_or_selector_name : <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt><dt class="spec value" id="val-receiver_method_call"><a href="#val-receiver_method_call" class="anchor"></a><code><span class="keyword">val</span> receiver_method_call : <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt><dt class="spec value" id="val-class_name"><a href="#val-class_name" class="anchor"></a><code><span class="keyword">val</span> class_name : <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> string</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CIssue (infer.ASTLanguage__CIssue)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__CIssue</nav><h1>Module <code>ASTLanguage__CIssue</code></h1></header><dl><dt class="spec type" id="type-mode"><a href="#type-mode" class="anchor"></a><code><span class="keyword">type</span> mode</code><code> = </code><table class="variant"><tr id="type-mode.On" class="anchored"><td class="def constructor"><a href="#type-mode.On" class="anchor"></a><code>| </code><code><span class="constructor">On</span></code></td></tr><tr id="type-mode.Off" class="anchored"><td class="def constructor"><a href="#type-mode.Off" class="anchor"></a><code>| </code><code><span class="constructor">Off</span></code></td></tr></table></dt></dl><dl><dt class="spec value" id="val-should_run_check"><a href="#val-should_run_check" class="anchor"></a><code><span class="keyword">val</span> should_run_check : <a href="index.html#type-mode">mode</a> <span>&#45;&gt;</span> bool</code></dt></dl><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = </code><code>{</code><table class="record"><tr id="type-t.issue_type" class="anchored"><td class="def field"><a href="#type-t.issue_type" class="anchor"></a><code>issue_type : <a href="../IBase/IssueType/index.html#type-t">IBase.IssueType.t</a>;</code></td></tr><tr id="type-t.description" class="anchored"><td class="def field"><a href="#type-t.description" class="anchor"></a><code>description : string;</code></td><td class="doc"><p>Description in the error message</p></td></tr><tr id="type-t.mode" class="anchored"><td class="def field"><a href="#type-t.mode" class="anchor"></a><code>mode : <a href="index.html#type-mode">mode</a>;</code></td></tr><tr id="type-t.loc" class="anchored"><td class="def field"><a href="#type-t.loc" class="anchor"></a><code>loc : <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a>;</code></td><td class="doc"><p>location in the code</p></td></tr><tr id="type-t.severity" class="anchored"><td class="def field"><a href="#type-t.severity" class="anchor"></a><code>severity : <a href="../IBase/IssueType/index.html#type-severity">IBase.IssueType.severity</a>;</code></td></tr><tr id="type-t.suggestion" class="anchored"><td class="def field"><a href="#type-t.suggestion" class="anchor"></a><code>suggestion : <span>string option</span>;</code></td><td class="doc"><p>an optional suggestion or correction</p></td></tr></table><code>}</code></dt></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : Stdlib.Format.formatter <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CPredicatesOnTwoNodes (infer.ASTLanguage__CPredicatesOnTwoNodes)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__CPredicatesOnTwoNodes</nav><h1>Module <code>ASTLanguage__CPredicatesOnTwoNodes</code></h1></header><dl><dt class="spec value" id="val-decl_name_is_contained_in_name_of_decl"><a href="#val-decl_name_is_contained_in_name_of_decl" class="anchor"></a><code><span class="keyword">val</span> decl_name_is_contained_in_name_of_decl : <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> bool</code></dt></dl></div></body></html>

@ -0,0 +1,6 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CTL (infer.ASTLanguage__CTL)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__CTL</nav><h1>Module <code>ASTLanguage__CTL</code></h1></header><aside><p>This module defines a language to define checkers. These checkers are interpreted over the AST of the program. A checker is defined by a CTL formula which expresses a condition saying when the checker should report a problem.</p></aside><dl><dt class="spec type" id="type-clause"><a href="#type-clause" class="anchor"></a><code><span class="keyword">type</span> clause</code><code> = </code><table class="variant"><tr id="type-clause.CLet" class="anchored"><td class="def constructor"><a href="#type-clause.CLet" class="anchor"></a><code>| </code><code><span class="constructor">CLet</span> <span class="keyword">of</span> <a href="../ASTLanguage/ALVar/index.html#type-formula_id">ASTLanguage.ALVar.formula_id</a> * <span><a href="../ASTLanguage/ALVar/index.html#type-t">ASTLanguage.ALVar.t</a> list</span> * <a href="../ASTLanguage/CTLTypes/index.html#type-t">ASTLanguage.CTLTypes.t</a></code></td><td class="doc"><p>Let clause: let id = definifion;</p></td></tr><tr id="type-clause.CSet" class="anchored"><td class="def constructor"><a href="#type-clause.CSet" class="anchor"></a><code>| </code><code><span class="constructor">CSet</span> <span class="keyword">of</span> <a href="../ASTLanguage/ALVar/index.html#type-keyword">ASTLanguage.ALVar.keyword</a> * <a href="../ASTLanguage/CTLTypes/index.html#type-t">ASTLanguage.CTLTypes.t</a></code></td><td class="doc"><p>Set clause: set id = definition</p></td></tr><tr id="type-clause.CDesc" class="anchored"><td class="def constructor"><a href="#type-clause.CDesc" class="anchor"></a><code>| </code><code><span class="constructor">CDesc</span> <span class="keyword">of</span> <a href="../ASTLanguage/ALVar/index.html#type-keyword">ASTLanguage.ALVar.keyword</a> * string</code></td><td class="doc"><p>Description clause eg: set message = &quot;...&quot;</p></td></tr><tr id="type-clause.CPath" class="anchored"><td class="def constructor"><a href="#type-clause.CPath" class="anchor"></a><code>| </code><code><span class="constructor">CPath</span> <span class="keyword">of</span> <span>[ `WhitelistPath <span>| `BlacklistPath</span> ]</span> * <span><a href="../ASTLanguage/ALVar/index.html#type-t">ASTLanguage.ALVar.t</a> list</span></code></td></tr></table></dt><dd><p>&quot;set&quot; clauses are used for defining mandatory variables that will be used by when reporting issues: eg for defining the condition.</p><p>&quot;desc&quot; clauses are used for defining the error message, the suggestion, the severity.</p><p>&quot;let&quot; clauses are used to define temporary formulas which are then used to abbreviate the another formula. For example</p><pre> let f = a And B
set formula = f OR f
set message = &quot;bla&quot;</pre></dd></dl><dl><dt class="spec type" id="type-ctl_checker"><a href="#type-ctl_checker" class="anchor"></a><code><span class="keyword">type</span> ctl_checker</code><code> = </code><code>{</code><table class="record"><tr id="type-ctl_checker.id" class="anchored"><td class="def field"><a href="#type-ctl_checker.id" class="anchor"></a><code>id : string;</code></td><td class="doc"><p>Checker's id</p></td></tr><tr id="type-ctl_checker.definitions" class="anchored"><td class="def field"><a href="#type-ctl_checker.definitions" class="anchor"></a><code>definitions : <span><a href="index.html#type-clause">clause</a> list</span>;</code></td><td class="doc"><p>A list of let/set definitions</p></td></tr></table><code>}</code></dt><dt class="spec type" id="type-al_file"><a href="#type-al_file" class="anchor"></a><code><span class="keyword">type</span> al_file</code><code> = </code><code>{</code><table class="record"><tr id="type-al_file.import_files" class="anchored"><td class="def field"><a href="#type-al_file.import_files" class="anchor"></a><code>import_files : <span>string list</span>;</code></td></tr><tr id="type-al_file.global_macros" class="anchored"><td class="def field"><a href="#type-al_file.global_macros" class="anchor"></a><code>global_macros : <span><a href="index.html#type-clause">clause</a> list</span>;</code></td></tr><tr id="type-al_file.global_paths" class="anchored"><td class="def field"><a href="#type-al_file.global_paths" class="anchor"></a><code>global_paths : <span><span>(string * <span><a href="../ASTLanguage/ALVar/index.html#type-alexp">ASTLanguage.ALVar.alexp</a> list</span>)</span> list</span>;</code></td></tr><tr id="type-al_file.checkers" class="anchored"><td class="def field"><a href="#type-al_file.checkers" class="anchor"></a><code>checkers : <span><a href="index.html#type-ctl_checker">ctl_checker</a> list</span>;</code></td></tr></table><code>}</code></dt></dl><dl><dt class="spec value" id="val-print_checker"><a href="#val-print_checker" class="anchor"></a><code><span class="keyword">val</span> print_checker : <a href="index.html#type-ctl_checker">ctl_checker</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-eval_formula"><a href="#val-eval_formula" class="anchor"></a><code><span class="keyword">val</span> eval_formula : <span>?&#8288;keep_witness:bool</span> <span>&#45;&gt;</span> <a href="../ASTLanguage/CTLTypes/index.html#type-t">ASTLanguage.CTLTypes.t</a> <span>&#45;&gt;</span> <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <a href="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a> <span>&#45;&gt;</span> <span><a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> option</span></code></dt><dd><p>return the evaluation of the formula and a witness</p></dd></dl><dl><dt class="spec value" id="val-save_dotty_when_in_debug_mode"><a href="#val-save_dotty_when_in_debug_mode" class="anchor"></a><code><span class="keyword">val</span> save_dotty_when_in_debug_mode : <a href="../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-next_state_via_transition"><a href="#val-next_state_via_transition" class="anchor"></a><code><span class="keyword">val</span> next_state_via_transition : <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <a href="../ASTLanguage/CTLTypes/index.html#type-transitions">ASTLanguage.CTLTypes.transitions</a> <span>&#45;&gt;</span> <span><a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> list</span></code></dt><dt class="spec value" id="val-create_ctl_evaluation_tracker"><a href="#val-create_ctl_evaluation_tracker" class="anchor"></a><code><span class="keyword">val</span> create_ctl_evaluation_tracker : <a href="../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a> <span>&#45;&gt;</span> unit</code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CTLExceptions (infer.ASTLanguage__CTLExceptions)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__CTLExceptions</nav><h1>Module <code>ASTLanguage__CTLExceptions</code></h1></header><dl><dt class="spec exception" id="exception-ALParserInvariantViolationException"><a href="#exception-ALParserInvariantViolationException" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">ALParserInvariantViolationException</span> <span class="keyword">of</span> string</code></dt><dd><p>Raised when the parser encounters a violation of a certain invariant</p></dd></dl><dl><dt class="spec type" id="type-exc_info"><a href="#type-exc_info" class="anchor"></a><code><span class="keyword">type</span> exc_info</code></dt></dl><dl><dt class="spec exception" id="exception-ALFileException"><a href="#exception-ALFileException" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">ALFileException</span> <span class="keyword">of</span> <a href="index.html#type-exc_info">exc_info</a></code></dt><dd><p>Raised when any exception from the lexer/parser of AL is caught, to include source-location info</p></dd></dl><dl><dt class="spec value" id="val-create_exc_info"><a href="#val-create_exc_info" class="anchor"></a><code><span class="keyword">val</span> create_exc_info : string <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="index.html#type-exc_info">exc_info</a></code></dt><dt class="spec value" id="val-json_of_exc_info"><a href="#val-json_of_exc_info" class="anchor"></a><code><span class="keyword">val</span> json_of_exc_info : <a href="index.html#type-exc_info">exc_info</a> <span>&#45;&gt;</span> Yojson.Basic.t</code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CTLParserHelper (infer.ASTLanguage__CTLParserHelper)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__CTLParserHelper</nav><h1>Module <code>ASTLanguage__CTLParserHelper</code></h1></header><dl><dt class="spec value" id="val-parse_al_file"><a href="#val-parse_al_file" class="anchor"></a><code><span class="keyword">val</span> parse_al_file : string <span>&#45;&gt;</span> <a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.In_channel.t <span>&#45;&gt;</span> <span><a href="../ASTLanguage/CTL/index.html#type-al_file">ASTLanguage.CTL.al_file</a> option</span></code></dt><dt class="spec value" id="val-validate_al_files"><a href="#val-validate_al_files" class="anchor"></a><code><span class="keyword">val</span> validate_al_files : unit <span>&#45;&gt;</span> <span><span>(unit, string)</span> <a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Result.t</span></code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CiOSVersionNumbers (infer.ASTLanguage__CiOSVersionNumbers)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__CiOSVersionNumbers</nav><h1>Module <code>ASTLanguage__CiOSVersionNumbers</code></h1></header><dl><dt class="spec type" id="type-human_readable_version"><a href="#type-human_readable_version" class="anchor"></a><code><span class="keyword">type</span> human_readable_version</code><code> = string</code></dt></dl><dl><dt class="spec value" id="val-version_of"><a href="#val-version_of" class="anchor"></a><code><span class="keyword">val</span> version_of : string <span>&#45;&gt;</span> <span><a href="index.html#type-human_readable_version">human_readable_version</a> option</span></code></dt><dt class="spec value" id="val-pp_diff_of_version_opt"><a href="#val-pp_diff_of_version_opt" class="anchor"></a><code><span class="keyword">val</span> pp_diff_of_version_opt : Stdlib.Format.formatter <span>&#45;&gt;</span> <span>(<span><a href="index.html#type-human_readable_version">human_readable_version</a> option</span> * <span><a href="index.html#type-human_readable_version">human_readable_version</a> option</span>)</span> <span>&#45;&gt;</span> unit</code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__ComponentKit (infer.ASTLanguage__ComponentKit)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__ComponentKit</nav><h1>Module <code>ASTLanguage__ComponentKit</code></h1></header><dl><dt class="spec value" id="val-contains_ck_impl"><a href="#val-contains_ck_impl" class="anchor"></a><code><span class="keyword">val</span> contains_ck_impl : <span><a href="../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> list</span> <span>&#45;&gt;</span> bool</code></dt><dd><p>Returns true if the passed-in list of decls contains an ObjCImplementationDecl of a descendant of CKComponent or CKComponentController.</p><p>Does not recurse into hierarchy.</p></dd></dl><dl><dt class="spec value" id="val-mutable_local_vars_advice"><a href="#val-mutable_local_vars_advice" class="anchor"></a><code><span class="keyword">val</span> mutable_local_vars_advice : <a href="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <span><a href="../ASTLanguage/CIssue/index.html#type-t">ASTLanguage.CIssue.t</a> option</span></code></dt><dt class="spec value" id="val-component_with_multiple_factory_methods_advice"><a href="#val-component_with_multiple_factory_methods_advice" class="anchor"></a><code><span class="keyword">val</span> component_with_multiple_factory_methods_advice : <a href="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a> <span>&#45;&gt;</span> <a href="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a> <span>&#45;&gt;</span> <span><a href="../ASTLanguage/CIssue/index.html#type-t">ASTLanguage.CIssue.t</a> list</span></code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__Ctl_lexer (infer.ASTLanguage__Ctl_lexer)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__Ctl_lexer</nav><h1>Module <code>ASTLanguage__Ctl_lexer</code></h1></header><dl><dt class="spec exception" id="exception-SyntaxError"><a href="#exception-SyntaxError" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">SyntaxError</span> <span class="keyword">of</span> string</code></dt></dl><dl><dt class="spec value" id="val-next_line"><a href="#val-next_line" class="anchor"></a><code><span class="keyword">val</span> next_line : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-__ocaml_lex_tables"><a href="#val-__ocaml_lex_tables" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_tables : Stdlib.Lexing.lex_tables</code></dt><dt class="spec value" id="val-token"><a href="#val-token" class="anchor"></a><code><span class="keyword">val</span> token : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="../ASTLanguage/Ctl_parser/index.html#type-token">ASTLanguage.Ctl_parser.token</a></code></dt><dt class="spec value" id="val-__ocaml_lex_token_rec"><a href="#val-__ocaml_lex_token_rec" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_token_rec : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="../ASTLanguage/Ctl_parser/index.html#type-token">ASTLanguage.Ctl_parser.token</a></code></dt><dt class="spec value" id="val-read_string"><a href="#val-read_string" class="anchor"></a><code><span class="keyword">val</span> read_string : <a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Buffer.t <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="../ASTLanguage/Ctl_parser/index.html#type-token">ASTLanguage.Ctl_parser.token</a></code></dt><dt class="spec value" id="val-__ocaml_lex_read_string_rec"><a href="#val-__ocaml_lex_read_string_rec" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_read_string_rec : <a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Buffer.t <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="../ASTLanguage/Ctl_parser/index.html#type-token">ASTLanguage.Ctl_parser.token</a></code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__RegisterCallback (infer.ASTLanguage__RegisterCallback)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__RegisterCallback</nav><h1>Module <code>ASTLanguage__RegisterCallback</code></h1></header><dl><dt class="spec value" id="val-register_frontend_checks"><a href="#val-register_frontend_checks" class="anchor"></a><code><span class="keyword">val</span> register_frontend_checks : unit <span>&#45;&gt;</span> unit</code></dt><dd><p>call this before running the clang frontend</p></dd></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__Types_lexer (infer.ASTLanguage__Types_lexer)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; ASTLanguage__Types_lexer</nav><h1>Module <code>ASTLanguage__Types_lexer</code></h1></header><dl><dt class="spec exception" id="exception-SyntaxError"><a href="#exception-SyntaxError" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">SyntaxError</span> <span class="keyword">of</span> string</code></dt></dl><dl><dt class="spec value" id="val-next_line"><a href="#val-next_line" class="anchor"></a><code><span class="keyword">val</span> next_line : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-__ocaml_lex_tables"><a href="#val-__ocaml_lex_tables" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_tables : Stdlib.Lexing.lex_tables</code></dt><dt class="spec value" id="val-token"><a href="#val-token" class="anchor"></a><code><span class="keyword">val</span> token : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="../ASTLanguage/Types_parser/index.html#type-token">ASTLanguage.Types_parser.token</a></code></dt><dt class="spec value" id="val-__ocaml_lex_token_rec"><a href="#val-__ocaml_lex_token_rec" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_token_rec : Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="../ASTLanguage/Types_parser/index.html#type-token">ASTLanguage.Types_parser.token</a></code></dt><dt class="spec value" id="val-read_string"><a href="#val-read_string" class="anchor"></a><code><span class="keyword">val</span> read_string : <a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Buffer.t <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> <a href="../ASTLanguage/Types_parser/index.html#type-token">ASTLanguage.Types_parser.token</a></code></dt><dt class="spec value" id="val-__ocaml_lex_read_string_rec"><a href="#val-__ocaml_lex_read_string_rec" class="anchor"></a><code><span class="keyword">val</span> __ocaml_lex_read_string_rec : <a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Buffer.t <span>&#45;&gt;</span> Stdlib.Lexing.lexbuf <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="../ASTLanguage/Types_parser/index.html#type-token">ASTLanguage.Types_parser.token</a></code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ATDGenerated (infer.ATDGenerated)</title><link rel="stylesheet" href="../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="index.html">Up</a> <a href="index.html">infer</a> &#x00BB; ATDGenerated</nav><h1 id="library-atdgenerated"><a href="#library-atdgenerated" class="anchor"></a>Library ATDGenerated</h1><p>Source code that is generated from ATD definitions.</p><p>The entry point of this library is the module <a href="ATDGenerated/index.html"><code>ATDGenerated</code></a>.</p></header></div></body></html>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save