[website] new version 1.1.0

Summary: `make new-website-version`

Reviewed By: ngorogiannis

Differential Revision: D27335243

fbshipit-source-id: 2a07ae82d
master
Jules Villard 4 years ago committed by Facebook GitHub Bot
parent f9b6f2bdf1
commit eed1f3e180

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

File diff suppressed because it is too large Load Diff

@ -0,0 +1,624 @@
<!-- Creator : groff version 1.22.4 -->
<!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-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>
<p style="margin-left:11%;"><b>--workspace</b>
<i>path</i></p>
<p style="margin-left:17%;">Specifies the root of the
workspace, which is a directory containing
<b>--project-root</b>. This can be needed if the capture
phase is expected to require several <i>different</i>
project roots, all relative to a common workspace. Usually a
single project root is enough, though.</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-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-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-java-heap-size-gb</b>
<i>int</i></p>
<p style="margin-left:17%;">Explicitly set the size of the
Java heap of Buck processes, in gigabytes.</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. Please note you still
need to provide a compilation command.</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>--clang-yojson-file</b>
<i>file</i></p>
<p style="margin-left:17%;">Specify a file containing the
AST of the program, in yojson format. Please note you still
need to provide a compilation command.</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-non-capture-clang-commands</b></p>
<p style="margin-left:17%;">Activates: Skip clang commands
that Infer doesn't use to capture data (Conversely:
<b>--no-skip-non-capture-clang-commands</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,201 @@
<!-- Creator : groff version 1.22.4 -->
<!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-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,275 @@
<!-- Creator : groff version 1.22.4 -->
<!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>
<p style="margin-left:11%;"><b>--select</b>
<i>(N|all)</i></p>
<p style="margin-left:17%;">Select option number <i>N</i>
or <i>all</i> of them. If omitted, prompt for input.</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>
<p style="margin-left:11%;"><b>--procedures-summary-json</b></p>
<p style="margin-left:17%;">Activates: Emit the summaries
of each procedure in the output of <b>--procedures</b> as
JSON (Conversely: <b>--no-procedures-summary-json</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 -->
<!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 an html
report of issues found. (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|all)</i></p>
<p style="margin-left:17%;">Select option number <i>N</i>
or <i>all</i> of them. 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,165 @@
<!-- Creator : groff version 1.22.4 -->
<!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,583 @@
<!-- Creator : groff version 1.22.4 -->
<!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>--config-impact-data-file</b>
<i>file</i></p>
<p style="margin-left:17%;">[ConfigImpact] Specify the file
containing the config data</p>
<p style="margin-left:11%;"><b>--config-impact-issues-tests</b>
<i>file</i></p>
<p style="margin-left:17%;">Write a list of config impact
issues in a format suitable for config impact tests to
<i>file</i></p>
<p style="margin-left:11%;"><b>--config-impact-max-callees-to-print</b>
<i>int</i></p>
<p style="margin-left:17%;">Specify the maximum number of
unchecked callees to print in the config impact checker</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-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>
ARBITRARY_CODE_EXECUTION_UNDER_LOCK (enabled by default),
<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>
CONFIG_IMPACT (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>
DOTNET_RESOURCE_LEAK (enabled by default), <br>
DO_NOT_REPORT (enabled by default), <br>
EMPTY_VECTOR_ACCESS (enabled by default), <br>
ERADICATE_ANNOTATION_GRAPH (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_AUTORELEASEPOOL_SIZE (disabled by default), <br>
EXPENSIVE_EXECUTION_TIME (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>
GUARDEDBY_VIOLATION_NULLSAFE (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>
IPC_ON_UI_THREAD (enabled 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>
MODIFIES_IMMUTABLE (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 (enabled by default), <br>
NULL_DEREFERENCE (enabled by default), <br>
OPTIONAL_EMPTY_ACCESS (enabled 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>
PULSE_UNINITIALIZED_VALUE (disabled 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>
THREAD_SAFETY_VIOLATION_NULLSAFE (enabled by default), <br>
TOPL_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-config-impact-report</b>
<i>config-impact-report.json</i></p>
<p style="margin-left:17%;">Load costs analysis results
from a config-impact-report file.</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,238 @@
<!-- Creator : groff version 1.22.4 -->
<!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>--config-impact-current</b>
<i>path</i></p>
<p style="margin-left:17%;">Config impact report of the
latest revision</p>
<p style="margin-left:11%;"><b>--config-impact-max-callees-to-print</b>
<i>int</i></p>
<p style="margin-left:17%;">Specify the maximum number of
unchecked callees to print in the config impact checker</p>
<p style="margin-left:11%;"><b>--config-impact-previous</b>
<i>path</i></p>
<p style="margin-left:17%;">Config impact report of the
base revision to use for comparison</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>--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-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,373 @@
<!-- Creator : groff version 1.22.4 -->
<!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-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

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>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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>TypePtr (infer.ATDGenerated.Clang_ast_types.TypePtr)</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">ATDGenerated</a> &#x00BB; <a href="../index.html">Clang_ast_types</a> &#x00BB; TypePtr</nav><h1>Module <code>Clang_ast_types.TypePtr</code></h1></header><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></dt></dl><dl><dt class="spec extension"><code><span class="keyword">type</span> <a href="index.html#type-t">t</a> += </code><code><span class="extension">Ptr</span> <span class="keyword">of</span> int</code></dt></dl><dl><dt class="spec value" id="val-wrap"><a href="#val-wrap" class="anchor"></a><code><span class="keyword">val</span> wrap : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-unwrap"><a href="#val-unwrap" class="anchor"></a><code><span class="keyword">val</span> unwrap : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Clang_ast_types (infer.ATDGenerated.Clang_ast_types)</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">ATDGenerated</a> &#x00BB; Clang_ast_types</nav><h1>Module <code>ATDGenerated.Clang_ast_types</code></h1></header><div class="spec module" id="module-TypePtr"><a href="#module-TypePtr" class="anchor"></a><code><span class="keyword">module</span> <a href="TypePtr/index.html">TypePtr</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>Clang_ast_visit (infer.ATDGenerated.Clang_ast_visit)</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">ATDGenerated</a> &#x00BB; Clang_ast_visit</nav><h1>Module <code>ATDGenerated.Clang_ast_visit</code></h1></header><dl><dt class="spec type" id="type-visit_decl_t"><a href="#type-visit_decl_t" class="anchor"></a><code><span class="keyword">type</span> visit_decl_t</code><code> = Atdgen_runtime.Util.Validation.path <span>&#45;&gt;</span> <a href="../Clang_ast_t/index.html#type-decl">Clang_ast_t.decl</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-visit_stmt_t"><a href="#type-visit_stmt_t" class="anchor"></a><code><span class="keyword">type</span> visit_stmt_t</code><code> = Atdgen_runtime.Util.Validation.path <span>&#45;&gt;</span> <a href="../Clang_ast_t/index.html#type-stmt">Clang_ast_t.stmt</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-visit_type_t"><a href="#type-visit_type_t" class="anchor"></a><code><span class="keyword">type</span> visit_type_t</code><code> = Atdgen_runtime.Util.Validation.path <span>&#45;&gt;</span> <a href="../Clang_ast_t/index.html#type-c_type">Clang_ast_t.c_type</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-visit_src_loc_t"><a href="#type-visit_src_loc_t" class="anchor"></a><code><span class="keyword">type</span> visit_src_loc_t</code><code> = Atdgen_runtime.Util.Validation.path <span>&#45;&gt;</span> <a href="../Clang_ast_t/index.html#type-source_location">Clang_ast_t.source_location</a> <span>&#45;&gt;</span> unit</code></dt></dl><dl><dt class="spec value" id="val-empty_visitor"><a href="#val-empty_visitor" class="anchor"></a><code><span class="keyword">val</span> empty_visitor : <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-decl_visitor"><a href="#val-decl_visitor" class="anchor"></a><code><span class="keyword">val</span> decl_visitor : <span><a href="index.html#type-visit_decl_t">visit_decl_t</a> Stdlib.ref</span></code></dt><dt class="spec value" id="val-stmt_visitor"><a href="#val-stmt_visitor" class="anchor"></a><code><span class="keyword">val</span> stmt_visitor : <span><a href="index.html#type-visit_stmt_t">visit_stmt_t</a> Stdlib.ref</span></code></dt><dt class="spec value" id="val-type_visitor"><a href="#val-type_visitor" class="anchor"></a><code><span class="keyword">val</span> type_visitor : <span><a href="index.html#type-visit_type_t">visit_type_t</a> Stdlib.ref</span></code></dt><dt class="spec value" id="val-source_location_visitor"><a href="#val-source_location_visitor" class="anchor"></a><code><span class="keyword">val</span> source_location_visitor : <span><a href="index.html#type-visit_src_loc_t">visit_src_loc_t</a> Stdlib.ref</span></code></dt><dt class="spec value" id="val-visit_decl"><a href="#val-visit_decl" class="anchor"></a><code><span class="keyword">val</span> visit_decl : Atdgen_runtime.Util.Validation.path <span>&#45;&gt;</span> <a href="../Clang_ast_t/index.html#type-decl">Clang_ast_t.decl</a> <span>&#45;&gt;</span> <span><span class="type-var">'a</span> option</span></code></dt><dt class="spec value" id="val-visit_stmt"><a href="#val-visit_stmt" class="anchor"></a><code><span class="keyword">val</span> visit_stmt : Atdgen_runtime.Util.Validation.path <span>&#45;&gt;</span> <a href="../Clang_ast_t/index.html#type-stmt">Clang_ast_t.stmt</a> <span>&#45;&gt;</span> <span><span class="type-var">'a</span> option</span></code></dt><dt class="spec value" id="val-visit_type"><a href="#val-visit_type" class="anchor"></a><code><span class="keyword">val</span> visit_type : Atdgen_runtime.Util.Validation.path <span>&#45;&gt;</span> <a href="../Clang_ast_t/index.html#type-c_type">Clang_ast_t.c_type</a> <span>&#45;&gt;</span> <span><span class="type-var">'a</span> option</span></code></dt><dt class="spec value" id="val-visit_source_loc"><a href="#val-visit_source_loc" class="anchor"></a><code><span class="keyword">val</span> visit_source_loc : Atdgen_runtime.Util.Validation.path <span>&#45;&gt;</span> <a href="../Clang_ast_t/index.html#type-source_location">Clang_ast_t.source_location</a> <span>&#45;&gt;</span> <span><span class="type-var">'a</span> option</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>Clang_profiler_samples_t (infer.ATDGenerated.Clang_profiler_samples_t)</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">ATDGenerated</a> &#x00BB; Clang_profiler_samples_t</nav><h1>Module <code>ATDGenerated.Clang_profiler_samples_t</code></h1></header><dl><dt class="spec type" id="type-native_symbol"><a href="#type-native_symbol" class="anchor"></a><code><span class="keyword">type</span> native_symbol</code><code> = </code><code>{</code><table class="record"><tr id="type-native_symbol.name" class="anchored"><td class="def field"><a href="#type-native_symbol.name" class="anchor"></a><code>name : string;</code></td></tr><tr id="type-native_symbol.mangled_name" class="anchored"><td class="def field"><a href="#type-native_symbol.mangled_name" class="anchor"></a><code>mangled_name : <span>string option</span>;</code></td></tr><tr id="type-native_symbol.hashed_mangled_name" class="anchored"><td class="def field"><a href="#type-native_symbol.hashed_mangled_name" class="anchor"></a><code>hashed_mangled_name : <span>string option</span>;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-profiler_sample"><a href="#type-profiler_sample" class="anchor"></a><code><span class="keyword">type</span> profiler_sample</code><code> = </code><code>{</code><table class="record"><tr id="type-profiler_sample.test" class="anchored"><td class="def field"><a href="#type-profiler_sample.test" class="anchor"></a><code>test : string;</code></td></tr><tr id="type-profiler_sample.native_symbols" class="anchored"><td class="def field"><a href="#type-profiler_sample.native_symbols" class="anchor"></a><code>native_symbols : <span><a href="index.html#type-native_symbol">native_symbol</a> list</span>;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-profiler_samples"><a href="#type-profiler_samples" class="anchor"></a><code><span class="keyword">type</span> profiler_samples</code><code> = <span><a href="index.html#type-profiler_sample">profiler_sample</a> list</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>Config_impact_data_t (infer.ATDGenerated.Config_impact_data_t)</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">ATDGenerated</a> &#x00BB; Config_impact_data_t</nav><h1>Module <code>ATDGenerated.Config_impact_data_t</code></h1></header><dl><dt class="spec type" id="type-config_item"><a href="#type-config_item" class="anchor"></a><code><span class="keyword">type</span> config_item</code><code> = </code><code>{</code><table class="record"><tr id="type-config_item.method_name" class="anchored"><td class="def field"><a href="#type-config_item.method_name" class="anchor"></a><code>method_name : string;</code></td></tr><tr id="type-config_item.class_name" class="anchored"><td class="def field"><a href="#type-config_item.class_name" class="anchor"></a><code>class_name : string;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-config_data"><a href="#type-config_data" class="anchor"></a><code><span class="keyword">type</span> config_data</code><code> = <span><a href="index.html#type-config_item">config_item</a> list</span></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>Java_method_decl_t (infer.ATDGenerated.Java_method_decl_t)</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">ATDGenerated</a> &#x00BB; Java_method_decl_t</nav><h1>Module <code>ATDGenerated.Java_method_decl_t</code></h1></header><dl><dt class="spec type" id="type-java_method_decl"><a href="#type-java_method_decl" class="anchor"></a><code><span class="keyword">type</span> java_method_decl</code><code> = </code><code>{</code><table class="record"><tr id="type-java_method_decl.signature" class="anchored"><td class="def field"><a href="#type-java_method_decl.signature" class="anchor"></a><code>signature : <span>string option</span>;</code></td></tr><tr id="type-java_method_decl.unresolved_signature" class="anchored"><td class="def field"><a href="#type-java_method_decl.unresolved_signature" class="anchor"></a><code>unresolved_signature : bool;</code></td></tr><tr id="type-java_method_decl.method_name" class="anchored"><td class="def field"><a href="#type-java_method_decl.method_name" class="anchor"></a><code>method_name : string;</code></td></tr><tr id="type-java_method_decl.source_file" class="anchored"><td class="def field"><a href="#type-java_method_decl.source_file" class="anchor"></a><code>source_file : string;</code></td></tr><tr id="type-java_method_decl.start_line" class="anchored"><td class="def field"><a href="#type-java_method_decl.start_line" class="anchor"></a><code>start_line : int;</code></td></tr><tr id="type-java_method_decl.end_line" class="anchored"><td class="def field"><a href="#type-java_method_decl.end_line" class="anchor"></a><code>end_line : int;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-java_method_decls"><a href="#type-java_method_decls" class="anchor"></a><code><span class="keyword">type</span> java_method_decls</code><code> = <span><a href="index.html#type-java_method_decl">java_method_decl</a> list</span></code></dt></dl></div></body></html>

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

Loading…
Cancel
Save