[website] make doc-publish

Summary: Reflect TOPL and command-line changes.

Reviewed By: skcho

Differential Revision: D27291246

fbshipit-source-id: cd5d30d0e
master
Jules Villard 4 years ago committed by Facebook GitHub Bot
parent 346380c649
commit d65df3457f

@ -13,6 +13,6 @@
"checker-purity", "checker-quandary", "checker-racerd", "checker-purity", "checker-quandary", "checker-racerd",
"checker-resource-leak-lab", "checker-dotnet-resource-leak", "checker-resource-leak-lab", "checker-dotnet-resource-leak",
"checker-siof", "checker-self-in-block", "checker-starvation", "checker-siof", "checker-self-in-block", "checker-starvation",
"checker-topl-biabd", "checker-topl-pulse", "checker-uninit" "checker-topl", "checker-uninit"
] ]
} }

@ -2226,14 +2226,9 @@ These annotations can be found at `com.facebook.infer.annotation.*`.
other threads. The main utility of this annotation is in interfaces, where other threads. The main utility of this annotation is in interfaces, where
Infer cannot look up the implementation and decide for itself. Infer cannot look up the implementation and decide for itself.
## TOPL_BIABD_ERROR ## TOPL_ERROR
Reported as "Topl Biabd Error" by [topl-biabd](/docs/next/checker-topl-biabd). Reported as "Topl Error" by [topl](/docs/next/checker-topl).
Experimental.
## TOPL_PULSE_ERROR
Reported as "Topl Pulse Error" by [topl-pulse](/docs/next/checker-topl-pulse).
Experimental. Experimental.
## UNINITIALIZED_VALUE ## UNINITIALIZED_VALUE

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

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

@ -101,6 +101,13 @@ many linked to memory safety. (Conversely:
and disable all other checkers (Conversely: and disable all other checkers (Conversely:
<b>--no-biabduction-only</b>)</p> <b>--no-biabduction-only</b>)</p>
<p style="margin-left:11%;"><b>--biabduction-write-dotty</b></p>
<p style="margin-left:17%;">Activates: Produce dotty files
for specs and retain cycles reports in infer-out/captured.
(Conversely: <b>--no-biabduction-write-dotty</b>)</p>
<p style="margin-left:11%;"><b>--bufferoverrun</b></p> <p style="margin-left:11%;"><b>--bufferoverrun</b></p>
<p style="margin-left:17%;">Activates: checker <p style="margin-left:17%;">Activates: checker
@ -196,8 +203,8 @@ sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>, <b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>, <b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>, <b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely: <b>--write-html</b>) (Conversely: <b>--no-debug</b> |
<b>--no-debug</b> | <b>-G</b>)</p> <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b> <p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p> <i>level</i></p>
@ -321,6 +328,13 @@ disable all other checkers (Conversely:
<b>--no-impurity-only</b>)</p> <b>--no-impurity-only</b>)</p>
<p style="margin-left:11%;"><b>--impurity-report-immutable-modifications</b></p>
<p style="margin-left:17%;">Activates: Report modifications
to immutable fields in the Impurity checker (Conversely:
<b>--no-impurity-report-immutable-modifications</b>)</p>
<p style="margin-left:11%;"><b>--no-inefficient-keyset-iterator</b></p> <p style="margin-left:11%;"><b>--no-inefficient-keyset-iterator</b></p>
<p style="margin-left:17%;">Deactivates: checker <p style="margin-left:17%;">Deactivates: checker
@ -509,6 +523,13 @@ modelled as allocs in Pulse</p>
modelled as release in Pulse</p> modelled as release in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-return-first-arg</b>
<i>string</i></p>
<p style="margin-left:17%;">Regex of methods that should be
modelled as returning the first argument in Pulse</p>
<p style="margin-left:11%;"><b>--pulse-model-return-nonnull</b> <p style="margin-left:11%;"><b>--pulse-model-return-nonnull</b>
<i>string</i></p> <i>string</i></p>
@ -697,31 +718,18 @@ progress is being made because of concurrency errors.
and disable all other checkers (Conversely: and disable all other checkers (Conversely:
<b>--no-starvation-only</b>)</p> <b>--no-starvation-only</b>)</p>
<p style="margin-left:11%;"><b>--topl-biabd</b></p> <p style="margin-left:11%;"><b>--topl</b></p>
<p style="margin-left:17%;">Activates: checker topl-biabd: <p style="margin-left:17%;">Activates: checker topl:
Detects errors based on user-provided state machines Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely: describing multi-object monitors. (Conversely:
<b>--no-topl-biabd</b>)</p> <b>--no-topl</b>)</p>
<p style="margin-left:11%;"><b>--topl-biabd-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl-biabd <p style="margin-left:11%;"><b>--topl-only</b></p>
and disable all other checkers (Conversely:
<b>--no-topl-biabd-only</b>)</p>
<p style="margin-left:11%;"><b>--topl-pulse</b></p> <p style="margin-left:17%;">Activates: Enable topl and
disable all other checkers (Conversely:
<p style="margin-left:17%;">Activates: checker topl-pulse: <b>--no-topl-only</b>)</p>
Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely:
<b>--no-topl-pulse</b>)</p>
<p style="margin-left:11%;"><b>--topl-pulse-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl-pulse
and disable all other checkers (Conversely:
<b>--no-topl-pulse-only</b>)</p>
<p style="margin-left:11%;"><b>--no-uninit</b></p> <p style="margin-left:11%;"><b>--no-uninit</b></p>
@ -735,8 +743,25 @@ Warns when values are used before having been initialized.
disable all other checkers (Conversely: disable all other checkers (Conversely:
<b>--no-uninit-only</b>)</p> <b>--no-uninit-only</b>)</p>
<p style="margin-left:11%;"><b>--xcode-isysroot-suffix</b> <p style="margin-left:11%;"><b>--write-html</b></p>
<i>string</i></p>
<p style="margin-left:17%;">Activates: Produce html debug
output for the analyses in infer-out/captured. This shows
the abstract state of all analyses at each program point in
the source code. Each captured source file has its own html
page. This HTML file contains the source file, and at each
line of</p>
<p style="margin-left:11%;">the file there are links to the
nodes of the control flow graph <br>
of Infer's translation of that line of code into its
intermediate <br>
representation (SIL). This way it's possible to see what the
<br>
translation is, and the details of the symbolic execution on
each <br>
node. (Conversely: <b>--no-write-html</b>) <b><br>
--xcode-isysroot-suffix</b> <i>string</i></p>
<p style="margin-left:17%;">Specify the suffix of Xcode <p style="margin-left:17%;">Specify the suffix of Xcode
isysroot directory, to avoid absolute paths in tests</p> isysroot directory, to avoid absolute paths in tests</p>
@ -822,6 +847,13 @@ annotation reachability specs with the given sources
spec</p> spec</p>
<p style="margin-left:11%;"><b>--biabduction-unsafe-malloc</b></p>
<p style="margin-left:17%;">Activates: Assume that
malloc(3) never returns null. (Conversely:
<b>--no-biabduction-unsafe-malloc</b>)</p>
<p style="margin-left:11%;"><b>--clang-compound-literal-init-limit</b> <p style="margin-left:11%;"><b>--clang-compound-literal-init-limit</b>
<i>int</i></p> <i>int</i></p>
@ -849,22 +881,6 @@ common wrappers around these types such as
when the variables are not read explicitly by the when the variables are not read explicitly by the
program.</p> program.</p>
<p style="margin-left:11%;"><b>--ml-buckets</b>
<i>,-separated sequence of { all | cf | arc | narc | cpp |
<br>
unknown_origin }</i></p>
<p style="margin-left:17%;">Specify the memory leak buckets
to be checked in C++:</p>
<p style="margin-left:11%;">- <b>cpp</b> from C++ code
<b><br>
--unsafe-malloc</b></p>
<p style="margin-left:17%;">Activates: Assume that
malloc(3) never returns null. (Conversely:
<b>--no-unsafe-malloc</b>)</p>
<h2>JAVA OPTIONS <h2>JAVA OPTIONS
<a name="JAVA OPTIONS"></a> <a name="JAVA OPTIONS"></a>
</h2> </h2>

@ -104,8 +104,8 @@ sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>, <b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>, <b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>, <b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely: <b>--write-html</b>) (Conversely: <b>--no-debug</b> |
<b>--no-debug</b> | <b>-G</b>)</p> <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b> <p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p> <i>level</i></p>

@ -71,8 +71,8 @@ sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>, <b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>, <b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>, <b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely: <b>--write-html</b>) (Conversely: <b>--no-debug</b> |
<b>--no-debug</b> | <b>-G</b>)</p> <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b> <p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p> <i>level</i></p>

@ -94,8 +94,8 @@ files in the specified directory</p>
<p style="margin-left:11%; margin-top: 1em"><b>--html</b></p> <p style="margin-left:11%; margin-top: 1em"><b>--html</b></p>
<p style="margin-left:17%;">Activates: Generate html <p style="margin-left:17%;">Activates: Generate an html
report. (Conversely: <b>--no-html</b>)</p> report of issues found. (Conversely: <b>--no-html</b>)</p>
<p style="margin-left:11%;"><b>--max-nesting</b> <p style="margin-left:11%;"><b>--max-nesting</b>
<i>int</i></p> <i>int</i></p>

@ -135,8 +135,8 @@ sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>, <b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>, <b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>, <b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely: <b>--write-html</b>) (Conversely: <b>--no-debug</b> |
<b>--no-debug</b> | <b>-G</b>)</p> <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b> <p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p> <i>level</i></p>
@ -367,8 +367,7 @@ STRONG_SELF_NOT_CHECKED (enabled by default), <br>
Symexec_memory_error (enabled by default), <br> Symexec_memory_error (enabled by default), <br>
THREAD_SAFETY_VIOLATION (enabled by default), <br> THREAD_SAFETY_VIOLATION (enabled by default), <br>
THREAD_SAFETY_VIOLATION_NULLSAFE (enabled by default), <br> THREAD_SAFETY_VIOLATION_NULLSAFE (enabled by default), <br>
TOPL_BIABD_ERROR (enabled by default), <br> TOPL_ERROR (enabled by default), <br>
TOPL_PULSE_ERROR (enabled by default), <br>
UNINITIALIZED_VALUE (enabled by default), <br> UNINITIALIZED_VALUE (enabled by default), <br>
UNREACHABLE_CODE (enabled by default), <br> UNREACHABLE_CODE (enabled by default), <br>
UNTRUSTED_BUFFER_ACCESS (disabled by default), <br> UNTRUSTED_BUFFER_ACCESS (disabled by default), <br>
@ -507,13 +506,6 @@ none | phabricator }</i></p>
emitting the report</p> emitting the report</p>
<p style="margin-left:11%;"><b>--report-immutable-modifications</b></p>
<p style="margin-left:17%;">Activates: Report modifications
to immutable fields (Conversely:
<b>--no-report-immutable-modifications</b>)</p>
<p style="margin-left:11%;"><b>--report-suppress-errors</b> <p style="margin-left:11%;"><b>--report-suppress-errors</b>
<i>+error_name</i></p> <i>+error_name</i></p>

@ -121,8 +121,8 @@ sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>, <b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>, <b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>, <b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely: <b>--write-html</b>) (Conversely: <b>--no-debug</b> |
<b>--no-debug</b> | <b>-G</b>)</p> <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b> <p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p> <i>level</i></p>

@ -102,8 +102,8 @@ sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>, <b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>, <b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>, <b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely: <b>--write-html</b>) (Conversely: <b>--no-debug</b> |
<b>--no-debug</b> | <b>-G</b>)</p> <b>-G</b>)</p>
<p style="margin-left:11%;"><b>--debug-level</b> <p style="margin-left:11%;"><b>--debug-level</b>
<i>level</i></p> <i>level</i></p>
@ -232,13 +232,6 @@ absolute path to a relative path to the root directory
(Conversely: <b>--no-report-force-relative-path</b>)</p> (Conversely: <b>--no-report-force-relative-path</b>)</p>
<p style="margin-left:11%;"><b>--report-immutable-modifications</b></p>
<p style="margin-left:17%;">Activates: Report modifications
to immutable fields (Conversely:
<b>--no-report-immutable-modifications</b>)</p>
<p style="margin-left:11%;"><b>--report-suppress-errors</b> <p style="margin-left:11%;"><b>--report-suppress-errors</b>
<i>+error_name</i></p> <i>+error_name</i></p>

@ -220,6 +220,22 @@ many linked to memory safety. (Conversely:
and disable all other checkers (Conversely: and disable all other checkers (Conversely:
<b>--no-biabduction-only</b>)</p> <b>--no-biabduction-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--biabduction-unsafe-malloc</b></p>
<p style="margin-left:17%;">Activates: Assume that
malloc(3) never returns null. (Conversely:
<b>--no-biabduction-unsafe-malloc</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--biabduction-write-dotty</b></p>
<p style="margin-left:17%;">Activates: Produce dotty files
for specs and retain cycles reports in infer-out/captured.
(Conversely: <b>--no-biabduction-write-dotty</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--bo-debug</b> <i>int</i></p> --bo-debug</b> <i>int</i></p>
@ -618,8 +634,8 @@ sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--print-buckets</b>, <b>--print-types</b>, <b>--print-buckets</b>, <b>--print-types</b>,
<b>--reports-include-ml-loc</b>, <b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>, <b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely: <b>--write-html</b>) (Conversely: <b>--no-debug</b> |
<b>--no-debug</b> | <b>-G</b>)</p> <b>-G</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-analyzejson</b>(1), <b>infer-analyze</b>(1), <b>infer-analyzejson</b>(1),
@ -907,8 +923,7 @@ STRONG_SELF_NOT_CHECKED (enabled by default), <br>
Symexec_memory_error (enabled by default), <br> Symexec_memory_error (enabled by default), <br>
THREAD_SAFETY_VIOLATION (enabled by default), <br> THREAD_SAFETY_VIOLATION (enabled by default), <br>
THREAD_SAFETY_VIOLATION_NULLSAFE (enabled by default), <br> THREAD_SAFETY_VIOLATION_NULLSAFE (enabled by default), <br>
TOPL_BIABD_ERROR (enabled by default), <br> TOPL_ERROR (enabled by default), <br>
TOPL_PULSE_ERROR (enabled by default), <br>
UNINITIALIZED_VALUE (enabled by default), <br> UNINITIALIZED_VALUE (enabled by default), <br>
UNREACHABLE_CODE (enabled by default), <br> UNREACHABLE_CODE (enabled by default), <br>
UNTRUSTED_BUFFER_ACCESS (disabled by default), <br> UNTRUSTED_BUFFER_ACCESS (disabled by default), <br>
@ -1157,8 +1172,8 @@ i.e. at least linear (Conversely:
<b>infer-report</b>(1). <b><br> <b>infer-report</b>(1). <b><br>
--html</b></p> --html</b></p>
<p style="margin-left:17%;">Activates: Generate html <p style="margin-left:17%;">Activates: Generate an html
report. (Conversely: <b>--no-html</b>)</p> report of issues found. (Conversely: <b>--no-html</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br> <b>infer-explore</b>(1). <b><br>
@ -1197,6 +1212,14 @@ Detects functions with potential side-effects. Same as
disable all other checkers (Conversely: disable all other checkers (Conversely:
<b>--no-impurity-only</b>)</p> <b>--no-impurity-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--impurity-report-immutable-modifications</b></p>
<p style="margin-left:17%;">Activates: Report modifications
to immutable fields in the Impurity checker (Conversely:
<b>--no-impurity-report-immutable-modifications</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--no-inefficient-keyset-iterator</b></p> --no-inefficient-keyset-iterator</b></p>
@ -1476,15 +1499,6 @@ results directories specified in the dependency file.
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--ml-buckets</b> <i>,-separated sequence of { all | cf | arc
| narc | cpp | <br>
unknown_origin }</i></p>
<p style="margin-left:17%;">Specify the memory leak buckets
to be checked in C++:</p>
<p style="margin-left:11%;">- <b>cpp</b> from C++ code <br>
See also <b>infer-analyze</b>(1). <b><br>
--pmd-xml</b></p> --pmd-xml</b></p>
<p style="margin-left:17%;">Activates: Output issues in <p style="margin-left:17%;">Activates: Output issues in
@ -1674,6 +1688,13 @@ modelled as allocs in Pulse</p>
<p style="margin-left:17%;">Regex of methods that should be <p style="margin-left:17%;">Regex of methods that should be
modelled as release in Pulse</p> modelled as release in Pulse</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--pulse-model-return-first-arg</b> <i>string</i></p>
<p style="margin-left:17%;">Regex of methods that should be
modelled as returning the first argument in Pulse</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--pulse-model-return-nonnull</b> <i>string</i></p> --pulse-model-return-nonnull</b> <i>string</i></p>
@ -1886,14 +1907,6 @@ emitting the report</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br> <b>infer-report</b>(1). <b><br>
--report-immutable-modifications</b></p>
<p style="margin-left:17%;">Activates: Report modifications
to immutable fields (Conversely:
<b>--no-report-immutable-modifications</b>)</p>
<p style="margin-left:11%;">See also <b>infer-report</b>(1)
and <b>infer-run</b>(1). <b><br>
--report-previous</b> <i>path</i></p> --report-previous</b> <i>path</i></p>
<p style="margin-left:17%;">Report of the base revision to <p style="margin-left:17%;">Report of the base revision to
@ -2161,37 +2174,20 @@ should be considered aliases of @ThreadSafe</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--topl-biabd</b></p> --topl</b></p>
<p style="margin-left:17%;">Activates: checker topl-biabd:
Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely:
<b>--no-topl-biabd</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--topl-biabd-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl-biabd
and disable all other checkers (Conversely:
<b>--no-topl-biabd-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--topl-pulse</b></p>
<p style="margin-left:17%;">Activates: checker topl-pulse: <p style="margin-left:17%;">Activates: checker topl:
Detects errors based on user-provided state machines Detects errors based on user-provided state machines
describing multi-object monitors. (Conversely: describing multi-object monitors. (Conversely:
<b>--no-topl-pulse</b>)</p> <b>--no-topl</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--topl-pulse-only</b></p> --topl-only</b></p>
<p style="margin-left:17%;">Activates: Enable topl-pulse <p style="margin-left:17%;">Activates: Enable topl and
and disable all other checkers (Conversely: disable all other checkers (Conversely:
<b>--no-topl-pulse-only</b>)</p> <b>--no-topl-only</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
@ -2209,14 +2205,6 @@ Warns when values are used before having been initialized.
disable all other checkers (Conversely: disable all other checkers (Conversely:
<b>--no-uninit-only</b>)</p> <b>--no-uninit-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--unsafe-malloc</b></p>
<p style="margin-left:17%;">Activates: Assume that
malloc(3) never returns null. (Conversely:
<b>--no-unsafe-malloc</b>)</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br> <b>infer-analyze</b>(1). <b><br>
--version</b></p> --version</b></p>
@ -2244,6 +2232,25 @@ single project root is enough, though.</p>
<p style="margin-left:11%;">See also <p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br> <b>infer-capture</b>(1). <b><br>
--write-html</b></p>
<p style="margin-left:17%;">Activates: Produce html debug
output for the analyses in infer-out/captured. This shows
the abstract state of all analyses at each program point in
the source code. Each captured source file has its own html
page. This HTML file contains the source file, and at each
line of</p>
<p style="margin-left:11%;">the file there are links to the
nodes of the control flow graph <br>
of Infer's translation of that line of code into its
intermediate <br>
representation (SIL). This way it's possible to see what the
<br>
translation is, and the details of the symbolic execution on
each <br>
node. (Conversely: <b>--no-write-html</b>) <br>
See also <b>infer-analyze</b>(1). <b><br>
--write-website</b> <i>path_to_website_dir</i></p> --write-website</b> <i>path_to_website_dir</i></p>
<p style="margin-left:17%;">Use to write website files <p style="margin-left:17%;">Use to write website files

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

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

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

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

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

File diff suppressed because one or more lines are too long

@ -1,2 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>PulseToplShallow (infer.Pulselib.PulseToplShallow)</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">Pulselib</a> &#x00BB; PulseToplShallow</nav><h1>Module <code>Pulselib.PulseToplShallow</code></h1></header><dl><dt class="spec value" id="val-analyze"><a href="#val-analyze" class="anchor"></a><code><span class="keyword">val</span> analyze : <span><a href="../PulseSummary/index.html#type-t">PulseSummary.t</a> <a href="../../TOPLlib/Topl/index.html#type-analysis_transformer">TOPLlib.Topl.analysis_transformer</a></span></code></dt><dd><p>Run pulse with Topl instrumentation if active. Inserts calls to the Topl automaton. Mutates the arguments: it is the caller's responsibility to instrument procedures at most once.</p></dd></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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,2 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Pulselib__PulseToplShallow (infer.Pulselib__PulseToplShallow)</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; Pulselib__PulseToplShallow</nav><h1>Module <code>Pulselib__PulseToplShallow</code></h1></header><dl><dt class="spec value" id="val-analyze"><a href="#val-analyze" class="anchor"></a><code><span class="keyword">val</span> analyze : <span><a href="../Pulselib/PulseSummary/index.html#type-t">Pulselib.PulseSummary.t</a> <a href="../TOPLlib/Topl/index.html#type-analysis_transformer">TOPLlib.Topl.analysis_transformer</a></span></code></dt><dd><p>Run pulse with Topl instrumentation if active. Inserts calls to the Topl automaton. Mutates the arguments: it is the caller's responsibility to instrument procedures at most once.</p></dd></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

@ -1,2 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ToplMonitor (infer.TOPLlib.ToplMonitor)</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">TOPLlib</a> &#x00BB; ToplMonitor</nav><h1>Module <code>TOPLlib.ToplMonitor</code></h1></header><dl><dt class="spec value" id="val-generate"><a href="#val-generate" class="anchor"></a><code><span class="keyword">val</span> generate : <a href="../ToplAutomaton/index.html#type-t">ToplAutomaton.t</a> <span>&#45;&gt;</span> <a href="../../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> <span><a href="../../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> option</span></code></dt><dd><p><code>generate automaton proc_name</code> returns a CFG, provided that <code>proc_name</code> is a recognized procedure name</p></dd></dl><dl><dt class="spec value" id="val-sourcefile"><a href="#val-sourcefile" class="anchor"></a><code><span class="keyword">val</span> sourcefile : unit <span>&#45;&gt;</span> <a href="../../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a></code></dt><dd><p>For debug.</p></dd></dl><dl><dt class="spec value" id="val-cfg"><a href="#val-cfg" class="anchor"></a><code><span class="keyword">val</span> cfg : unit <span>&#45;&gt;</span> <a href="../../IR/Cfg/index.html#type-t">IR.Cfg.t</a></code></dt><dd><p>For debug. This datastructure accumulates all the procedures that were synthesized by the current process. If the implementation is correct, then different processes synthesize the same procedures, given the same set of Topl properties. However, for debug, we print the datastructure in a filename that contains the PID, which is why <code>sourcefile</code> is exposed.</p></dd></dl></div></body></html>

@ -1,2 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ToplName (infer.TOPLlib.ToplName)</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">TOPLlib</a> &#x00BB; ToplName</nav><h1>Module <code>TOPLlib.ToplName</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> = string</code></dt></dl><dl><dt class="spec value" id="val-topl_property"><a href="#val-topl_property" class="anchor"></a><code><span class="keyword">val</span> topl_property : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-transition"><a href="#val-transition" class="anchor"></a><code><span class="keyword">val</span> transition : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-arg"><a href="#val-arg" class="anchor"></a><code><span class="keyword">val</span> arg : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-saved_arg"><a href="#val-saved_arg" class="anchor"></a><code><span class="keyword">val</span> saved_arg : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-reg"><a href="#val-reg" class="anchor"></a><code><span class="keyword">val</span> reg : string <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-state"><a href="#val-state" class="anchor"></a><code><span class="keyword">val</span> state : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-maybe"><a href="#val-maybe" class="anchor"></a><code><span class="keyword">val</span> maybe : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-execute"><a href="#val-execute" class="anchor"></a><code><span class="keyword">val</span> execute : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-execute_state"><a href="#val-execute_state" class="anchor"></a><code><span class="keyword">val</span> execute_state : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-save_args"><a href="#val-save_args" class="anchor"></a><code><span class="keyword">val</span> save_args : <a href="index.html#type-t">t</a></code></dt></dl></div></body></html>

@ -1,2 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ToplUtils (infer.TOPLlib.ToplUtils)</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">TOPLlib</a> &#x00BB; ToplUtils</nav><h1>Module <code>TOPLlib.ToplUtils</code></h1></header><dl><dt class="spec value" id="val-any_type"><a href="#val-any_type" class="anchor"></a><code><span class="keyword">val</span> any_type : <a href="../../IR/Typ/index.html#type-t">IR.Typ.t</a></code></dt><dd><p>For now, Topl is untyped. The &quot;any&quot; type is simulated with &quot;java.lang.Object&quot;.</p></dd></dl><dl><dt class="spec value" id="val-topl_class_name"><a href="#val-topl_class_name" class="anchor"></a><code><span class="keyword">val</span> topl_class_name : <a href="../../IR/Typ/Name/index.html#type-t">IR.Typ.Name.t</a></code></dt><dt class="spec value" id="val-topl_class_typ"><a href="#val-topl_class_typ" class="anchor"></a><code><span class="keyword">val</span> topl_class_typ : <a href="../../IR/Typ/index.html#type-t">IR.Typ.t</a></code></dt><dt class="spec value" id="val-topl_class_pvar"><a href="#val-topl_class_pvar" class="anchor"></a><code><span class="keyword">val</span> topl_class_pvar : <a href="../../IR/Pvar/index.html#type-t">IR.Pvar.t</a></code></dt><dt class="spec value" id="val-static_var"><a href="#val-static_var" class="anchor"></a><code><span class="keyword">val</span> static_var : string <span>&#45;&gt;</span> <a href="../../IR/Exp/index.html#type-t">IR.Exp.t</a></code></dt><dt class="spec value" id="val-local_var"><a href="#val-local_var" class="anchor"></a><code><span class="keyword">val</span> local_var : <a href="../../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <a href="../../IR/Exp/index.html#type-t">IR.Exp.t</a></code></dt><dt class="spec value" id="val-constant_int"><a href="#val-constant_int" class="anchor"></a><code><span class="keyword">val</span> constant_int : int <span>&#45;&gt;</span> <a href="../../IR/Exp/index.html#type-t">IR.Exp.t</a></code></dt><dt class="spec value" id="val-topl_call"><a href="#val-topl_call" class="anchor"></a><code><span class="keyword">val</span> topl_call : <a href="../../IR/Ident/index.html#type-t">IR.Ident.t</a> <span>&#45;&gt;</span> <a href="../../IR/Typ/index.html#type-desc">IR.Typ.desc</a> <span>&#45;&gt;</span> <a href="../../IBase/Location/index.html#type-t">IBase.Location.t</a> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <span><span>(<a href="../../IR/Exp/index.html#type-t">IR.Exp.t</a> * <a href="../../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span> list</span> <span>&#45;&gt;</span> <a href="../../IR/Sil/index.html#type-instr">IR.Sil.instr</a></code></dt><dd><p>Call a TOPL function; that is, a static member of &quot;topl.Property&quot; with java.lang.Object arguments and return <code>ret_id</code> of type <code>ret_typ</code>.</p></dd></dl><dl><dt class="spec value" id="val-is_synthesized"><a href="#val-is_synthesized" class="anchor"></a><code><span class="keyword">val</span> is_synthesized : <a href="../../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-debug"><a href="#val-debug" class="anchor"></a><code><span class="keyword">val</span> debug : <span><span>(<span class="type-var">'a</span>, Stdlib.Format.formatter, unit)</span> <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.format</span> <span>&#45;&gt;</span> <span class="type-var">'a</span></code></dt><dt class="spec value" id="val-make_field"><a href="#val-make_field" class="anchor"></a><code><span class="keyword">val</span> make_field : string <span>&#45;&gt;</span> <a href="../../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dt class="spec value" id="val-binop_to"><a href="#val-binop_to" class="anchor"></a><code><span class="keyword">val</span> binop_to : <a href="../ToplAst/index.html#type-binop">ToplAst.binop</a> <span>&#45;&gt;</span> <a href="../../IR/Binop/index.html#type-t">IR.Binop.t</a></code></dt></dl></div></body></html>

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>TOPLlib (infer.TOPLlib)</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; TOPLlib</nav><h1>Module <code>TOPLlib</code></h1></header><dl><dt class="spec module" id="module-Topl"><a href="#module-Topl" class="anchor"></a><code><span class="keyword">module</span> <a href="Topl/index.html">Topl</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplAst"><a href="#module-ToplAst" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplAst/index.html">ToplAst</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplAstOps"><a href="#module-ToplAstOps" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplAstOps/index.html">ToplAstOps</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplAutomaton"><a href="#module-ToplAutomaton" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplAutomaton/index.html">ToplAutomaton</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplLexer"><a href="#module-ToplLexer" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplLexer/index.html">ToplLexer</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplMonitor"><a href="#module-ToplMonitor" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplMonitor/index.html">ToplMonitor</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplName"><a href="#module-ToplName" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplName/index.html">ToplName</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplParser"><a href="#module-ToplParser" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplParser/index.html">ToplParser</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplUtils"><a href="#module-ToplUtils" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplUtils/index.html">ToplUtils</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>TOPLlib (infer.TOPLlib)</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; TOPLlib</nav><h1>Module <code>TOPLlib</code></h1></header><dl><dt class="spec module" id="module-Topl"><a href="#module-Topl" class="anchor"></a><code><span class="keyword">module</span> <a href="Topl/index.html">Topl</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplAst"><a href="#module-ToplAst" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplAst/index.html">ToplAst</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplAstOps"><a href="#module-ToplAstOps" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplAstOps/index.html">ToplAstOps</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplAutomaton"><a href="#module-ToplAutomaton" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplAutomaton/index.html">ToplAutomaton</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplLexer"><a href="#module-ToplLexer" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplLexer/index.html">ToplLexer</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-ToplParser"><a href="#module-ToplParser" class="anchor"></a><code><span class="keyword">module</span> <a href="ToplParser/index.html">ToplParser</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></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

@ -1,2 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>TOPLlib__ToplMonitor (infer.TOPLlib__ToplMonitor)</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; TOPLlib__ToplMonitor</nav><h1>Module <code>TOPLlib__ToplMonitor</code></h1></header><dl><dt class="spec value" id="val-generate"><a href="#val-generate" class="anchor"></a><code><span class="keyword">val</span> generate : <a href="../TOPLlib/ToplAutomaton/index.html#type-t">TOPLlib.ToplAutomaton.t</a> <span>&#45;&gt;</span> <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> <span><a href="../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> option</span></code></dt><dd><p><code>generate automaton proc_name</code> returns a CFG, provided that <code>proc_name</code> is a recognized procedure name</p></dd></dl><dl><dt class="spec value" id="val-sourcefile"><a href="#val-sourcefile" class="anchor"></a><code><span class="keyword">val</span> sourcefile : unit <span>&#45;&gt;</span> <a href="../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a></code></dt><dd><p>For debug.</p></dd></dl><dl><dt class="spec value" id="val-cfg"><a href="#val-cfg" class="anchor"></a><code><span class="keyword">val</span> cfg : unit <span>&#45;&gt;</span> <a href="../IR/Cfg/index.html#type-t">IR.Cfg.t</a></code></dt><dd><p>For debug. This datastructure accumulates all the procedures that were synthesized by the current process. If the implementation is correct, then different processes synthesize the same procedures, given the same set of Topl properties. However, for debug, we print the datastructure in a filename that contains the PID, which is why <code>sourcefile</code> is exposed.</p></dd></dl></div></body></html>

@ -1,2 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>TOPLlib__ToplName (infer.TOPLlib__ToplName)</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; TOPLlib__ToplName</nav><h1>Module <code>TOPLlib__ToplName</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> = string</code></dt></dl><dl><dt class="spec value" id="val-topl_property"><a href="#val-topl_property" class="anchor"></a><code><span class="keyword">val</span> topl_property : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-transition"><a href="#val-transition" class="anchor"></a><code><span class="keyword">val</span> transition : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-arg"><a href="#val-arg" class="anchor"></a><code><span class="keyword">val</span> arg : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-saved_arg"><a href="#val-saved_arg" class="anchor"></a><code><span class="keyword">val</span> saved_arg : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-reg"><a href="#val-reg" class="anchor"></a><code><span class="keyword">val</span> reg : string <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-state"><a href="#val-state" class="anchor"></a><code><span class="keyword">val</span> state : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-maybe"><a href="#val-maybe" class="anchor"></a><code><span class="keyword">val</span> maybe : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-execute"><a href="#val-execute" class="anchor"></a><code><span class="keyword">val</span> execute : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-execute_state"><a href="#val-execute_state" class="anchor"></a><code><span class="keyword">val</span> execute_state : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-save_args"><a href="#val-save_args" class="anchor"></a><code><span class="keyword">val</span> save_args : <a href="index.html#type-t">t</a></code></dt></dl></div></body></html>

@ -1,2 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>TOPLlib__ToplUtils (infer.TOPLlib__ToplUtils)</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; TOPLlib__ToplUtils</nav><h1>Module <code>TOPLlib__ToplUtils</code></h1></header><dl><dt class="spec value" id="val-any_type"><a href="#val-any_type" class="anchor"></a><code><span class="keyword">val</span> any_type : <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a></code></dt><dd><p>For now, Topl is untyped. The &quot;any&quot; type is simulated with &quot;java.lang.Object&quot;.</p></dd></dl><dl><dt class="spec value" id="val-topl_class_name"><a href="#val-topl_class_name" class="anchor"></a><code><span class="keyword">val</span> topl_class_name : <a href="../IR/Typ/Name/index.html#type-t">IR.Typ.Name.t</a></code></dt><dt class="spec value" id="val-topl_class_typ"><a href="#val-topl_class_typ" class="anchor"></a><code><span class="keyword">val</span> topl_class_typ : <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a></code></dt><dt class="spec value" id="val-topl_class_pvar"><a href="#val-topl_class_pvar" class="anchor"></a><code><span class="keyword">val</span> topl_class_pvar : <a href="../IR/Pvar/index.html#type-t">IR.Pvar.t</a></code></dt><dt class="spec value" id="val-static_var"><a href="#val-static_var" class="anchor"></a><code><span class="keyword">val</span> static_var : string <span>&#45;&gt;</span> <a href="../IR/Exp/index.html#type-t">IR.Exp.t</a></code></dt><dt class="spec value" id="val-local_var"><a href="#val-local_var" class="anchor"></a><code><span class="keyword">val</span> local_var : <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <a href="../IR/Exp/index.html#type-t">IR.Exp.t</a></code></dt><dt class="spec value" id="val-constant_int"><a href="#val-constant_int" class="anchor"></a><code><span class="keyword">val</span> constant_int : int <span>&#45;&gt;</span> <a href="../IR/Exp/index.html#type-t">IR.Exp.t</a></code></dt><dt class="spec value" id="val-topl_call"><a href="#val-topl_call" class="anchor"></a><code><span class="keyword">val</span> topl_call : <a href="../IR/Ident/index.html#type-t">IR.Ident.t</a> <span>&#45;&gt;</span> <a href="../IR/Typ/index.html#type-desc">IR.Typ.desc</a> <span>&#45;&gt;</span> <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <span><span>(<a href="../IR/Exp/index.html#type-t">IR.Exp.t</a> * <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span> list</span> <span>&#45;&gt;</span> <a href="../IR/Sil/index.html#type-instr">IR.Sil.instr</a></code></dt><dd><p>Call a TOPL function; that is, a static member of &quot;topl.Property&quot; with java.lang.Object arguments and return <code>ret_id</code> of type <code>ret_typ</code>.</p></dd></dl><dl><dt class="spec value" id="val-is_synthesized"><a href="#val-is_synthesized" class="anchor"></a><code><span class="keyword">val</span> is_synthesized : <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-debug"><a href="#val-debug" class="anchor"></a><code><span class="keyword">val</span> debug : <span><span>(<span class="type-var">'a</span>, Stdlib.Format.formatter, unit)</span> <a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.format</span> <span>&#45;&gt;</span> <span class="type-var">'a</span></code></dt><dt class="spec value" id="val-make_field"><a href="#val-make_field" class="anchor"></a><code><span class="keyword">val</span> make_field : string <span>&#45;&gt;</span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dt class="spec value" id="val-binop_to"><a href="#val-binop_to" class="anchor"></a><code><span class="keyword">val</span> binop_to : <a href="../TOPLlib/ToplAst/index.html#type-binop">TOPLlib.ToplAst.binop</a> <span>&#45;&gt;</span> <a href="../IR/Binop/index.html#type-t">IR.Binop.t</a></code></dt></dl></div></body></html>
Loading…
Cancel
Save