|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>IR__ProcAttributes (infer.IR__ProcAttributes)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.0"/><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> » IR__ProcAttributes</nav><h1>Module <code>IR__ProcAttributes</code></h1></header><aside><p>Attributes of a procedure.</p></aside><dl><dt class="spec type" id="type-objc_accessor_type"><a href="#type-objc_accessor_type" class="anchor"></a><code><span class="keyword">type</span> objc_accessor_type</code><code> = </code><table class="variant"><tr id="type-objc_accessor_type.Objc_getter" class="anchored"><td class="def constructor"><a href="#type-objc_accessor_type.Objc_getter" class="anchor"></a><code>| </code><code><span class="constructor">Objc_getter</span> <span class="keyword">of</span> <a href="../IR/Struct/index.html#type-field">IR.Struct.field</a></code></td></tr><tr id="type-objc_accessor_type.Objc_setter" class="anchored"><td class="def constructor"><a href="#type-objc_accessor_type.Objc_setter" class="anchor"></a><code>| </code><code><span class="constructor">Objc_setter</span> <span class="keyword">of</span> <a href="../IR/Struct/index.html#type-field">IR.Struct.field</a></code></td></tr></table></dt><dt class="spec type" id="type-var_data"><a href="#type-var_data" class="anchor"></a><code><span class="keyword">type</span> var_data</code><code> = </code><code>{</code><table class="record"><tr id="type-var_data.name" class="anchored"><td class="def field"><a href="#type-var_data.name" class="anchor"></a><code>name : <a href="../IR/Mangled/index.html#type-t">IR.Mangled.t</a>;</code></td></tr><tr id="type-var_data.typ" class="anchored"><td class="def field"><a href="#type-var_data.typ" class="anchor"></a><code>typ : <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a>;</code></td></tr><tr id="type-var_data.modify_in_block" class="anchored"><td class="def field"><a href="#type-var_data.modify_in_block" class="anchor"></a><code>modify_in_block : bool;</code></td><td class="doc"><p>__block attribute of Objective-C variables, means that it will be modified inside a block</p></td></tr><tr id="type-var_data.is_constexpr" class="anchored"><td class="def field"><a href="#type-var_data.is_constexpr" class="anchor"></a><code>is_constexpr : bool;</code></td></tr></table><code>}</code></dt><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.access" class="anchored"><td class="def field"><a href="#type-t.access" class="anchor"></a><code>access : <a href="../IR/PredSymb/index.html#type-access">IR.PredSymb.access</a>;</code></td><td class="doc"><p>visibility access</p></td></tr><tr id="type-t.captured" class="anchored"><td class="def field"><a href="#type-t.captured" class="anchor"></a><code>captured : <span><span>(<a href="../IR/Mangled/index.html#type-t">IR.Mangled.t</a> * <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span> list</span>;</code></td><td class="doc"><p>name and type of variables captured in blocks</p></td></tr><tr id="type-t.exceptions" class="anchored"><td class="def field"><a href="#type-t.exceptions" class="anchor"></a><code>exceptions : <span>string list</span>;</code></td><td class="doc"><p>exceptions thrown by the procedure</p></td></tr><tr id="type-t.formals" class="anchored"><td class="def field"><a href="#type-t.formals" class="anchor"></a><code>formals : <span><span>(<a href="../IR/Mangled/index.html#type-t">IR.Mangled.t</a> * <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span> list</span>;</code></td><td class="doc"><p>name and type of formal parameters</p></td></tr><tr id="type-t.const_formals" class="anchored"><td class="def field"><a href="#type-t.const_formals" class="anchor"></a><code>const_formals : <span>int list</span>;</code></td><td class="doc"><p>list of indices of formals that are const-qualified</p></td></tr><tr id="type-t.is_abstract" class="anchored"><td class="def field"><a href="#type-t.is_abstract" class="anchor"></a><code>is_abstract : bool;</code></td><td class="doc"><p>the procedure is abstract</p></td></tr><tr id="type-t.is_biabduction_model" class="anchored"><td class="def field"><a href="#type-t.is_biabduction_model" class="anchor"></a><code>is_biabduction_model : bool;</code></td><td class="doc"><p>the procedure is a model for the biabduction analysis</p></td></tr><tr id="type-t.is_bridge_method" class="anchored"><td class="def field"><a href="#type-t.is_bridge_method" class="anchor"></a><code>is_bridge_method : bool;</code></td><td class="doc"><p>the procedure is a bridge method</p></td></tr><tr id="type-t.is_defined" class="anchored"><td class="def field"><a href="#type-t.is_defined" class="anchor"></a><code>is_defined : bool;</code></td><td class="doc"><p>true if the procedure is defined, and not just declared</p></td></tr><tr id="type-t.is_java_synchronized_method" class="anchored"><td class="def field"><a href="#type-t.is_java_synchronized_method" class="anchor"></a><code>is_java_synchronized_method : bool;</code></td><td class="doc"><p>the procedure is a Java synchronized method</p></td></tr><tr id="type-t.passed_as_noescape_block_to" class="anchored"><td class="def field"><a href="#type-t.passed_as_noescape_block_to" class="anchor"></a><code>passed_as_noescape_block_to : <span><a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span>;</code></td><td class="doc"><p>Present if the procedure is an Objective-C block that has been passed to the given method in a position annotated with the NS_NOESCAPE attribute.</p></td></tr><tr id="type-t.is_no_return" class="anchored"><td class="def field"><a href="#type-t.is_no_return" class="anchor"></a><code>is_no_return : bool;</code></td><td class="doc"><p>the procedure is known not to return</p></td></tr><tr id="type-t.is_specialized" class="anchored"><td class="def field"><a href="#type-t.is_specialized" class="anchor"></a><code>is_specialized : bool;</code></td><td class="doc"><p>the procedure is a clone specialized for dynamic dispatch handling</p></td></tr><tr id="type-t.is_synthetic_method" class="anchored"><td class="def field"><a href="#type-t.is_synthetic_method" class="anchor"></a><code>is_synthetic_method : bool;</code></td><td class="doc"><p>the procedure is a synthetic method</p></td></tr><tr id="type-t.is_variadic" class="anchored"><td class="def field"><a href="#type-t.is_variadic" class="anchor"></a><code>is_variadic : bool;</code></td><td class="doc"><p>the procedure is variadic, only supported for Clang procedures</p></td></tr><tr id="type-t.sentinel_attr" class="anchored"><td class="def field"><a href="#type-t.sentinel_attr" class="anchor"></a><code>sentinel_attr : <span><span>(int * int)</span> option</span>;</code></td><td class="doc"><p>__attribute__((sentinel(int, int)))</p></td></tr><tr id="type-t.clang_method_kind" class="anchored"><td class="def field"><a href="#type-t.clang_method_kind" class="anchor"></a><code>clang_method_kind : <a href="../IR/ClangMethodKind/index.html#type-t">IR.ClangMethodKind.t</a>;</code></td><td class="doc"><p>the kind of method the procedure is</p></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 of this procedure in the source code</p></td></tr><tr id="type-t.translation_unit" class="anchored"><td class="def field"><a href="#type-t.translation_unit" class="anchor"></a><code>translation_unit : <a href="../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a>;</code></td><td class="doc"><p>source file where the procedure was captured</p></td></tr><tr id="type-t.locals" class="anchored"><td class="def field"><a href="#type-t.locals" class="anchor"></a><code><span class="keyword">mutable</span> locals : <span><a href="index.html#type-var_data">var_data</a> list</span>;</code></td><td class="doc"><p>name, type and attributes of local variables</p></td></tr><tr id="type-t.method_annotation" class="anchored"><td class="def field"><a href="#type-t.method_annotation" class="anchor"></a><code>method_annotation : <a href="../IR/Annot/Method/index.html#type-t">IR.Annot.Method.t</a>;</code></td><td class="doc"><p>annotations for all methods</p></td></tr><tr id="type-t.objc_accessor" class="anchored"><td class="def field"><a href="#type-t.objc_accessor" class="anchor"></a><code>objc_accessor : <span><a href="index.html#type-objc_accessor_type">objc_accessor_type</a> option</span>;</code></td><td class="doc"><p>type of ObjC accessor, if any</p></td></tr><tr id="type-t.proc_name" class="anchored"><td class="def field"><a href="#type-t.proc_name" class="anchor"></a><code>proc_name : <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a>;</code></td><td class="doc"><p>name of the procedure</p></td></tr><tr id="type-t.ret_type" class="anchored"><td class="def field"><a href="#type-t.ret_type" class="anchor"></a><code>ret_type : <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a>;</code></td><td class="doc"><p>return type</p></td></tr><tr id="type-t.has_added_return_param" class="anchored"><td class="def field"><a href="#type-t.has_added_return_param" class="anchor"></a><code>has_added_return_param : bool;</code></td><td class="doc"><p>whether or not a return param was added</p></td></tr></table><code>}</code></dt></dl><dl><dt class="spec value" id="val-default"><a href="#val-default" class="anchor"></a><code><span class="keyword">val</span> default : <a href="../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a> <span>-></span> <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><p>Create a proc_attributes with default values.</p></dd></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>-></span> <a href="index.html#type-t">t</a> <span>-></span> unit</code></dt><dt class="spec value" id="val-get_annotated_formals"><a href="#val-get_annotated_formals" class="anchor"></a><code><span class="keyword">val</span> get_annotated_formals : <a href="index.html#type-t">t</a> <span>-></span> <span><span>(<span>(<a href="../IR/Mangled/index.html#type-t">IR.Mangled.t</a> * <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span> * <a href="../IR/Annot/Item/index.html#type-t">IR.Annot.Item.t</a>)</span> list</span></code></dt></dl><div class="spec module" id="module-SQLite"><a href="#module-SQLite" class="anchor"></a><code><span class="keyword">module</span> <a href="SQLite/index.html">SQLite</a> : <a href="../IBase/SqliteUtils/index.html#module-type-Data">IBase.SqliteUtils.Data</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="../IBase/SqliteUtils/module-type-Data/index.html#type-t">t</a> = <a href="index.html#type-t">t</a></code></div></div></body></html> |