Summary:
- some editing of the text
- the documentation of NULLPTR_DEREFERENCE was duplicated in
NULL_DEREFERENCE. Make the latter point to the former instead.
Reviewed By: skcho
Differential Revision: D27162785
fbshipit-source-id: 442d6efb9
master
Jules Villard4 years agocommitted byFacebook GitHub Bot
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage (infer.ASTLanguage)</title><linkrel="stylesheet"href="../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="index.html">Up</a>–<ahref="index.html">infer</a>» ASTLanguage</nav><h1id="ast-language-(al)"><ahref="#ast-language-(al)"class="anchor"></a>AST Language (AL)</h1><p>Linter framework based on the <ahref="ClangFrontend.html">Clang frontend</a>.</p><p>All modules: <ahref="ASTLanguage/index.html"><code>ASTLanguage</code></a></p></header></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage (infer.ASTLanguage)</title><linkrel="stylesheet"href="../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="index.html">Up</a>–<ahref="index.html">infer</a>» ASTLanguage</nav><h1id="ast-language-(al)"><ahref="#ast-language-(al)"class="anchor"></a>AST Language (AL)</h1><p>Linter framework based on the <ahref="ClangFrontend.html">Clang frontend</a>.</p><p>All modules: <ahref="ASTLanguage/index.html"><code>ASTLanguage</code></a></p></header></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>CTL (infer.ASTLanguage.CTL)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">ASTLanguage</a>» 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><dtclass="spec type"id="type-clause"><ahref="#type-clause"class="anchor"></a><code><spanclass="keyword">type</span> clause</code><code> = </code><tableclass="variant"><trid="type-clause.CLet"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CLet"class="anchor"></a><code>| </code><code><spanclass="constructor">CLet</span><spanclass="keyword">of</span><ahref="../ALVar/index.html#type-formula_id">ALVar.formula_id</a> * <span><ahref="../ALVar/index.html#type-t">ALVar.t</a> list</span> * <ahref="../CTLTypes/index.html#type-t">CTLTypes.t</a></code></td><tdclass="doc"><p>Let clause: let id = definifion;</p></td></tr><trid="type-clause.CSet"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CSet"class="anchor"></a><code>| </code><code><spanclass="constructor">CSet</span><spanclass="keyword">of</span><ahref="../ALVar/index.html#type-keyword">ALVar.keyword</a> * <ahref="../CTLTypes/index.html#type-t">CTLTypes.t</a></code></td><tdclass="doc"><p>Set clause: set id = definition</p></td></tr><trid="type-clause.CDesc"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CDesc"class="anchor"></a><code>| </code><code><spanclass="constructor">CDesc</span><spanclass="keyword">of</span><ahref="../ALVar/index.html#type-keyword">ALVar.keyword</a> * string</code></td><tdclass="doc"><p>Description clause eg: set message = "..."</p></td></tr><trid="type-clause.CPath"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CPath"class="anchor"></a><code>| </code><code><spanclass="constructor">CPath</span><spanclass="keyword">of</span><span>[ `WhitelistPath <span>| `BlacklistPath</span> ]</span> * <span><ahref="../ALVar/index.html#type-t">ALVar.t</a> list</span></code></td></tr></table></dt><dd><p>"set" clauses are used for defining mandatory variables that will be used by when reporting issues: eg for defining the condition.</p><p>"desc" clauses are used for defining the error message, the suggestion, the severity.</p><p>"let" 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
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>CTL (infer.ASTLanguage.CTL)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">ASTLanguage</a>» 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><dtclass="spec type"id="type-clause"><ahref="#type-clause"class="anchor"></a><code><spanclass="keyword">type</span> clause</code><code> = </code><tableclass="variant"><trid="type-clause.CLet"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CLet"class="anchor"></a><code>| </code><code><spanclass="constructor">CLet</span><spanclass="keyword">of</span><ahref="../ALVar/index.html#type-formula_id">ALVar.formula_id</a> * <span><ahref="../ALVar/index.html#type-t">ALVar.t</a> list</span> * <ahref="../CTLTypes/index.html#type-t">CTLTypes.t</a></code></td><tdclass="doc"><p>Let clause: let id = definifion;</p></td></tr><trid="type-clause.CSet"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CSet"class="anchor"></a><code>| </code><code><spanclass="constructor">CSet</span><spanclass="keyword">of</span><ahref="../ALVar/index.html#type-keyword">ALVar.keyword</a> * <ahref="../CTLTypes/index.html#type-t">CTLTypes.t</a></code></td><tdclass="doc"><p>Set clause: set id = definition</p></td></tr><trid="type-clause.CDesc"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CDesc"class="anchor"></a><code>| </code><code><spanclass="constructor">CDesc</span><spanclass="keyword">of</span><ahref="../ALVar/index.html#type-keyword">ALVar.keyword</a> * string</code></td><tdclass="doc"><p>Description clause eg: set message = "..."</p></td></tr><trid="type-clause.CPath"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CPath"class="anchor"></a><code>| </code><code><spanclass="constructor">CPath</span><spanclass="keyword">of</span><span>[ `WhitelistPath <span>| `BlacklistPath</span> ]</span> * <span><ahref="../ALVar/index.html#type-t">ALVar.t</a> list</span></code></td></tr></table></dt><dd><p>"set" clauses are used for defining mandatory variables that will be used by when reporting issues: eg for defining the condition.</p><p>"desc" clauses are used for defining the error message, the suggestion, the severity.</p><p>"let" 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
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>CTLExceptions (infer.ASTLanguage.CTLExceptions)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">ASTLanguage</a>» CTLExceptions</nav><h1>Module <code>ASTLanguage.CTLExceptions</code></h1></header><dl><dtclass="spec exception"id="exception-ALParserInvariantViolationException"><ahref="#exception-ALParserInvariantViolationException"class="anchor"></a><code><spanclass="keyword">exception</span></code><code><spanclass="exception">ALParserInvariantViolationException</span><spanclass="keyword">of</span> string</code></dt><dd><p>Raised when the parser encounters a violation of a certain invariant</p></dd></dl><dl><dtclass="spec type"id="type-exc_info"><ahref="#type-exc_info"class="anchor"></a><code><spanclass="keyword">type</span> exc_info</code></dt></dl><dl><dtclass="spec exception"id="exception-ALFileException"><ahref="#exception-ALFileException"class="anchor"></a><code><spanclass="keyword">exception</span></code><code><spanclass="exception">ALFileException</span><spanclass="keyword">of</span><ahref="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><dtclass="spec value"id="val-create_exc_info"><ahref="#val-create_exc_info"class="anchor"></a><code><spanclass="keyword">val</span> create_exc_info : string <span>-></span> Stdlib.Lexing.lexbuf <span>-></span><ahref="index.html#type-exc_info">exc_info</a></code></dt><dtclass="spec value"id="val-json_of_exc_info"><ahref="#val-json_of_exc_info"class="anchor"></a><code><spanclass="keyword">val</span> json_of_exc_info : <ahref="index.html#type-exc_info">exc_info</a><span>-></span> Yojson.Basic.t</code></dt></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>CTLExceptions (infer.ASTLanguage.CTLExceptions)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">ASTLanguage</a>» CTLExceptions</nav><h1>Module <code>ASTLanguage.CTLExceptions</code></h1></header><dl><dtclass="spec exception"id="exception-ALParserInvariantViolationException"><ahref="#exception-ALParserInvariantViolationException"class="anchor"></a><code><spanclass="keyword">exception</span></code><code><spanclass="exception">ALParserInvariantViolationException</span><spanclass="keyword">of</span> string</code></dt><dd><p>Raised when the parser encounters a violation of a certain invariant</p></dd></dl><dl><dtclass="spec type"id="type-exc_info"><ahref="#type-exc_info"class="anchor"></a><code><spanclass="keyword">type</span> exc_info</code></dt></dl><dl><dtclass="spec exception"id="exception-ALFileException"><ahref="#exception-ALFileException"class="anchor"></a><code><spanclass="keyword">exception</span></code><code><spanclass="exception">ALFileException</span><spanclass="keyword">of</span><ahref="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><dtclass="spec value"id="val-create_exc_info"><ahref="#val-create_exc_info"class="anchor"></a><code><spanclass="keyword">val</span> create_exc_info : string <span>-></span> Stdlib.Lexing.lexbuf <span>-></span><ahref="index.html#type-exc_info">exc_info</a></code></dt><dtclass="spec value"id="val-json_of_exc_info"><ahref="#val-json_of_exc_info"class="anchor"></a><code><spanclass="keyword">val</span> json_of_exc_info : <ahref="index.html#type-exc_info">exc_info</a><span>-></span> Yojson.Basic.t</code></dt></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ComponentKit (infer.ASTLanguage.ComponentKit)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">ASTLanguage</a>» ComponentKit</nav><h1>Module <code>ASTLanguage.ComponentKit</code></h1></header><dl><dtclass="spec value"id="val-contains_ck_impl"><ahref="#val-contains_ck_impl"class="anchor"></a><code><spanclass="keyword">val</span> contains_ck_impl : <span><ahref="../../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> list</span><span>-></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><dtclass="spec value"id="val-mutable_local_vars_advice"><ahref="#val-mutable_local_vars_advice"class="anchor"></a><code><spanclass="keyword">val</span> mutable_local_vars_advice : <ahref="../CLintersContext/index.html#type-context">CLintersContext.context</a><span>-></span><ahref="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a><span>-></span><span><ahref="../CIssue/index.html#type-t">CIssue.t</a> option</span></code></dt><dtclass="spec value"id="val-component_with_multiple_factory_methods_advice"><ahref="#val-component_with_multiple_factory_methods_advice"class="anchor"></a><code><spanclass="keyword">val</span> component_with_multiple_factory_methods_advice : <ahref="../CLintersContext/index.html#type-context">CLintersContext.context</a><span>-></span><ahref="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a><span>-></span><span><ahref="../CIssue/index.html#type-t">CIssue.t</a> list</span></code></dt></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ComponentKit (infer.ASTLanguage.ComponentKit)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">ASTLanguage</a>» ComponentKit</nav><h1>Module <code>ASTLanguage.ComponentKit</code></h1></header><dl><dtclass="spec value"id="val-contains_ck_impl"><ahref="#val-contains_ck_impl"class="anchor"></a><code><spanclass="keyword">val</span> contains_ck_impl : <span><ahref="../../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> list</span><span>-></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><dtclass="spec value"id="val-mutable_local_vars_advice"><ahref="#val-mutable_local_vars_advice"class="anchor"></a><code><spanclass="keyword">val</span> mutable_local_vars_advice : <ahref="../CLintersContext/index.html#type-context">CLintersContext.context</a><span>-></span><ahref="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a><span>-></span><span><ahref="../CIssue/index.html#type-t">CIssue.t</a> option</span></code></dt><dtclass="spec value"id="val-component_with_multiple_factory_methods_advice"><ahref="#val-component_with_multiple_factory_methods_advice"class="anchor"></a><code><spanclass="keyword">val</span> component_with_multiple_factory_methods_advice : <ahref="../CLintersContext/index.html#type-context">CLintersContext.context</a><span>-></span><ahref="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a><span>-></span><span><ahref="../CIssue/index.html#type-t">CIssue.t</a> list</span></code></dt></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>RegisterCallback (infer.ASTLanguage.RegisterCallback)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">ASTLanguage</a>» RegisterCallback</nav><h1>Module <code>ASTLanguage.RegisterCallback</code></h1></header><dl><dtclass="spec value"id="val-register_frontend_checks"><ahref="#val-register_frontend_checks"class="anchor"></a><code><spanclass="keyword">val</span> register_frontend_checks : unit <span>-></span> unit</code></dt><dd><p>call this before running the clang frontend</p></dd></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>RegisterCallback (infer.ASTLanguage.RegisterCallback)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">ASTLanguage</a>» RegisterCallback</nav><h1>Module <code>ASTLanguage.RegisterCallback</code></h1></header><dl><dtclass="spec value"id="val-register_frontend_checks"><ahref="#val-register_frontend_checks"class="anchor"></a><code><spanclass="keyword">val</span> register_frontend_checks : unit <span>-></span> unit</code></dt><dd><p>call this before running the clang frontend</p></dd></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CTL (infer.ASTLanguage__CTL)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» 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><dtclass="spec type"id="type-clause"><ahref="#type-clause"class="anchor"></a><code><spanclass="keyword">type</span> clause</code><code> = </code><tableclass="variant"><trid="type-clause.CLet"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CLet"class="anchor"></a><code>| </code><code><spanclass="constructor">CLet</span><spanclass="keyword">of</span><ahref="../ASTLanguage/ALVar/index.html#type-formula_id">ASTLanguage.ALVar.formula_id</a> * <span><ahref="../ASTLanguage/ALVar/index.html#type-t">ASTLanguage.ALVar.t</a> list</span> * <ahref="../ASTLanguage/CTLTypes/index.html#type-t">ASTLanguage.CTLTypes.t</a></code></td><tdclass="doc"><p>Let clause: let id = definifion;</p></td></tr><trid="type-clause.CSet"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CSet"class="anchor"></a><code>| </code><code><spanclass="constructor">CSet</span><spanclass="keyword">of</span><ahref="../ASTLanguage/ALVar/index.html#type-keyword">ASTLanguage.ALVar.keyword</a> * <ahref="../ASTLanguage/CTLTypes/index.html#type-t">ASTLanguage.CTLTypes.t</a></code></td><tdclass="doc"><p>Set clause: set id = definition</p></td></tr><trid="type-clause.CDesc"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CDesc"class="anchor"></a><code>| </code><code><spanclass="constructor">CDesc</span><spanclass="keyword">of</span><ahref="../ASTLanguage/ALVar/index.html#type-keyword">ASTLanguage.ALVar.keyword</a> * string</code></td><tdclass="doc"><p>Description clause eg: set message = "..."</p></td></tr><trid="type-clause.CPath"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CPath"class="anchor"></a><code>| </code><code><spanclass="constructor">CPath</span><spanclass="keyword">of</span><span>[ `WhitelistPath <span>| `BlacklistPath</span> ]</span> * <span><ahref="../ASTLanguage/ALVar/index.html#type-t">ASTLanguage.ALVar.t</a> list</span></code></td></tr></table></dt><dd><p>"set" clauses are used for defining mandatory variables that will be used by when reporting issues: eg for defining the condition.</p><p>"desc" clauses are used for defining the error message, the suggestion, the severity.</p><p>"let" 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
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CTL (infer.ASTLanguage__CTL)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» 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><dtclass="spec type"id="type-clause"><ahref="#type-clause"class="anchor"></a><code><spanclass="keyword">type</span> clause</code><code> = </code><tableclass="variant"><trid="type-clause.CLet"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CLet"class="anchor"></a><code>| </code><code><spanclass="constructor">CLet</span><spanclass="keyword">of</span><ahref="../ASTLanguage/ALVar/index.html#type-formula_id">ASTLanguage.ALVar.formula_id</a> * <span><ahref="../ASTLanguage/ALVar/index.html#type-t">ASTLanguage.ALVar.t</a> list</span> * <ahref="../ASTLanguage/CTLTypes/index.html#type-t">ASTLanguage.CTLTypes.t</a></code></td><tdclass="doc"><p>Let clause: let id = definifion;</p></td></tr><trid="type-clause.CSet"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CSet"class="anchor"></a><code>| </code><code><spanclass="constructor">CSet</span><spanclass="keyword">of</span><ahref="../ASTLanguage/ALVar/index.html#type-keyword">ASTLanguage.ALVar.keyword</a> * <ahref="../ASTLanguage/CTLTypes/index.html#type-t">ASTLanguage.CTLTypes.t</a></code></td><tdclass="doc"><p>Set clause: set id = definition</p></td></tr><trid="type-clause.CDesc"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CDesc"class="anchor"></a><code>| </code><code><spanclass="constructor">CDesc</span><spanclass="keyword">of</span><ahref="../ASTLanguage/ALVar/index.html#type-keyword">ASTLanguage.ALVar.keyword</a> * string</code></td><tdclass="doc"><p>Description clause eg: set message = "..."</p></td></tr><trid="type-clause.CPath"class="anchored"><tdclass="def constructor"><ahref="#type-clause.CPath"class="anchor"></a><code>| </code><code><spanclass="constructor">CPath</span><spanclass="keyword">of</span><span>[ `WhitelistPath <span>| `BlacklistPath</span> ]</span> * <span><ahref="../ASTLanguage/ALVar/index.html#type-t">ASTLanguage.ALVar.t</a> list</span></code></td></tr></table></dt><dd><p>"set" clauses are used for defining mandatory variables that will be used by when reporting issues: eg for defining the condition.</p><p>"desc" clauses are used for defining the error message, the suggestion, the severity.</p><p>"let" 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
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CTLExceptions (infer.ASTLanguage__CTLExceptions)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» ASTLanguage__CTLExceptions</nav><h1>Module <code>ASTLanguage__CTLExceptions</code></h1></header><dl><dtclass="spec exception"id="exception-ALParserInvariantViolationException"><ahref="#exception-ALParserInvariantViolationException"class="anchor"></a><code><spanclass="keyword">exception</span></code><code><spanclass="exception">ALParserInvariantViolationException</span><spanclass="keyword">of</span> string</code></dt><dd><p>Raised when the parser encounters a violation of a certain invariant</p></dd></dl><dl><dtclass="spec type"id="type-exc_info"><ahref="#type-exc_info"class="anchor"></a><code><spanclass="keyword">type</span> exc_info</code></dt></dl><dl><dtclass="spec exception"id="exception-ALFileException"><ahref="#exception-ALFileException"class="anchor"></a><code><spanclass="keyword">exception</span></code><code><spanclass="exception">ALFileException</span><spanclass="keyword">of</span><ahref="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><dtclass="spec value"id="val-create_exc_info"><ahref="#val-create_exc_info"class="anchor"></a><code><spanclass="keyword">val</span> create_exc_info : string <span>-></span> Stdlib.Lexing.lexbuf <span>-></span><ahref="index.html#type-exc_info">exc_info</a></code></dt><dtclass="spec value"id="val-json_of_exc_info"><ahref="#val-json_of_exc_info"class="anchor"></a><code><spanclass="keyword">val</span> json_of_exc_info : <ahref="index.html#type-exc_info">exc_info</a><span>-></span> Yojson.Basic.t</code></dt></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__CTLExceptions (infer.ASTLanguage__CTLExceptions)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» ASTLanguage__CTLExceptions</nav><h1>Module <code>ASTLanguage__CTLExceptions</code></h1></header><dl><dtclass="spec exception"id="exception-ALParserInvariantViolationException"><ahref="#exception-ALParserInvariantViolationException"class="anchor"></a><code><spanclass="keyword">exception</span></code><code><spanclass="exception">ALParserInvariantViolationException</span><spanclass="keyword">of</span> string</code></dt><dd><p>Raised when the parser encounters a violation of a certain invariant</p></dd></dl><dl><dtclass="spec type"id="type-exc_info"><ahref="#type-exc_info"class="anchor"></a><code><spanclass="keyword">type</span> exc_info</code></dt></dl><dl><dtclass="spec exception"id="exception-ALFileException"><ahref="#exception-ALFileException"class="anchor"></a><code><spanclass="keyword">exception</span></code><code><spanclass="exception">ALFileException</span><spanclass="keyword">of</span><ahref="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><dtclass="spec value"id="val-create_exc_info"><ahref="#val-create_exc_info"class="anchor"></a><code><spanclass="keyword">val</span> create_exc_info : string <span>-></span> Stdlib.Lexing.lexbuf <span>-></span><ahref="index.html#type-exc_info">exc_info</a></code></dt><dtclass="spec value"id="val-json_of_exc_info"><ahref="#val-json_of_exc_info"class="anchor"></a><code><spanclass="keyword">val</span> json_of_exc_info : <ahref="index.html#type-exc_info">exc_info</a><span>-></span> Yojson.Basic.t</code></dt></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__ComponentKit (infer.ASTLanguage__ComponentKit)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» ASTLanguage__ComponentKit</nav><h1>Module <code>ASTLanguage__ComponentKit</code></h1></header><dl><dtclass="spec value"id="val-contains_ck_impl"><ahref="#val-contains_ck_impl"class="anchor"></a><code><spanclass="keyword">val</span> contains_ck_impl : <span><ahref="../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> list</span><span>-></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><dtclass="spec value"id="val-mutable_local_vars_advice"><ahref="#val-mutable_local_vars_advice"class="anchor"></a><code><spanclass="keyword">val</span> mutable_local_vars_advice : <ahref="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a><span>-></span><ahref="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a><span>-></span><span><ahref="../ASTLanguage/CIssue/index.html#type-t">ASTLanguage.CIssue.t</a> option</span></code></dt><dtclass="spec value"id="val-component_with_multiple_factory_methods_advice"><ahref="#val-component_with_multiple_factory_methods_advice"class="anchor"></a><code><spanclass="keyword">val</span> component_with_multiple_factory_methods_advice : <ahref="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a><span>-></span><ahref="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a><span>-></span><span><ahref="../ASTLanguage/CIssue/index.html#type-t">ASTLanguage.CIssue.t</a> list</span></code></dt></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__ComponentKit (infer.ASTLanguage__ComponentKit)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» ASTLanguage__ComponentKit</nav><h1>Module <code>ASTLanguage__ComponentKit</code></h1></header><dl><dtclass="spec value"id="val-contains_ck_impl"><ahref="#val-contains_ck_impl"class="anchor"></a><code><spanclass="keyword">val</span> contains_ck_impl : <span><ahref="../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> list</span><span>-></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><dtclass="spec value"id="val-mutable_local_vars_advice"><ahref="#val-mutable_local_vars_advice"class="anchor"></a><code><spanclass="keyword">val</span> mutable_local_vars_advice : <ahref="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a><span>-></span><ahref="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a><span>-></span><span><ahref="../ASTLanguage/CIssue/index.html#type-t">ASTLanguage.CIssue.t</a> option</span></code></dt><dtclass="spec value"id="val-component_with_multiple_factory_methods_advice"><ahref="#val-component_with_multiple_factory_methods_advice"class="anchor"></a><code><spanclass="keyword">val</span> component_with_multiple_factory_methods_advice : <ahref="../ASTLanguage/CLintersContext/index.html#type-context">ASTLanguage.CLintersContext.context</a><span>-></span><ahref="../ASTLanguage/Ctl_parser_types/index.html#type-ast_node">ASTLanguage.Ctl_parser_types.ast_node</a><span>-></span><span><ahref="../ASTLanguage/CIssue/index.html#type-t">ASTLanguage.CIssue.t</a> list</span></code></dt></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__RegisterCallback (infer.ASTLanguage__RegisterCallback)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» ASTLanguage__RegisterCallback</nav><h1>Module <code>ASTLanguage__RegisterCallback</code></h1></header><dl><dtclass="spec value"id="val-register_frontend_checks"><ahref="#val-register_frontend_checks"class="anchor"></a><code><spanclass="keyword">val</span> register_frontend_checks : unit <span>-></span> unit</code></dt><dd><p>call this before running the clang frontend</p></dd></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ASTLanguage__RegisterCallback (infer.ASTLanguage__RegisterCallback)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» ASTLanguage__RegisterCallback</nav><h1>Module <code>ASTLanguage__RegisterCallback</code></h1></header><dl><dtclass="spec value"id="val-register_frontend_checks"><ahref="#val-register_frontend_checks"class="anchor"></a><code><spanclass="keyword">val</span> register_frontend_checks : unit <span>-></span> unit</code></dt><dd><p>call this before running the clang frontend</p></dd></dl></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ATDGenerated (infer.ATDGenerated)</title><linkrel="stylesheet"href="../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="index.html">Up</a>–<ahref="index.html">infer</a>» ATDGenerated</nav><h1id="library-atdgenerated"><ahref="#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 <ahref="ATDGenerated/index.html"><code>ATDGenerated</code></a>.</p></header></div></body></html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ATDGenerated (infer.ATDGenerated)</title><linkrel="stylesheet"href="../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="index.html">Up</a>–<ahref="index.html">infer</a>» ATDGenerated</nav><h1id="library-atdgenerated"><ahref="#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 <ahref="ATDGenerated/index.html"><code>ATDGenerated</code></a>.</p></header></div></body></html>