<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Nullsafe__ThirdPartyAnnotationInfo (infer.Nullsafe__ThirdPartyAnnotationInfo)</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>» Nullsafe__ThirdPartyAnnotationInfo</nav><h1>Module <code>Nullsafe__ThirdPartyAnnotationInfo</code></h1></header><aside><p>In-memory storage the information about nullability annotation of third-party methods.</p></aside><dl><dtclass="spec type"id="type-signature_info"><ahref="#type-signature_info"class="anchor"></a><code><spanclass="keyword">type</span> signature_info</code><code> = </code><code>{</code><tableclass="record"><trid="type-signature_info.filename"class="anchored"><tdclass="def field"><ahref="#type-signature_info.filename"class="anchor"></a><code>filename : string;</code></td><tdclass="doc"><p>File where the particular signature is stored</p></td></tr><trid="type-signature_info.line_number"class="anchored"><tdclass="def field"><ahref="#type-signature_info.line_number"class="anchor"></a><code>line_number : int;</code></td><tdclass="doc"><p>Line number with this signature</p></td></tr><trid="type-signature_info.signature"class="anchored"><tdclass="def field"><ahref="#type-signature_info.signature"class="anchor"></a><code>signature : <ahref="../Nullsafe/ThirdPartyMethod/index.html#type-t">Nullsafe.ThirdPartyMethod.t</a>;</code></td></tr></table><code>}</code></dt><dtclass="spec type"id="type-unique_repr"><ahref="#type-unique_repr"class="anchor"></a><code><spanclass="keyword">type</span> unique_repr</code><code> = </code><code>{</code><tableclass="record"><trid="type-unique_repr.class_name"class="anchored"><tdclass="def field"><ahref="#type-unique_repr.class_name"class="anchor"></a><code>class_name : <ahref="../Nullsafe/ThirdPartyMethod/index.html#type-fully_qualified_type">Nullsafe.ThirdPartyMethod.fully_qualified_type</a>;</code></td></tr><trid="type-unique_repr.method_name"class="anchored"><tdclass="def field"><ahref="#type-unique_repr.method_name"class="anchor"></a><code>method_name : <ahref="../Nullsafe/ThirdPartyMethod/index.html#type-method_name">Nullsafe.ThirdPartyMethod.method_name</a>;</code></td></tr><trid="type-unique_repr.param_types"class="anchored"><tdclass="def field"><ahref="#type-unique_repr.param_types"class="anchor"></a><code>param_types : <span><ahref="../Nullsafe/ThirdPartyMethod/index.html#type-fully_qualified_type">Nullsafe.ThirdPartyMethod.fully_qualified_type</a> list</span>;</code></td></tr></table><code>}</code></dt><dd><p>The minimum information that is needed to _uniquely_ identify the method. That why we don't</p><ul><li>include e.g. return type, access quilifiers, or whether the method is static (because Java</li><li>overload resolution rules ignore these things). In contrast, parameter types are essential,</li><li>because Java allows several methods with different types.</li></ul></dd></dl><dl><dtclass="spec value"id="val-pp_unique_repr"><ahref="#val-pp_unique_repr"class="anchor"></a><code><spanclass="keyword">val</span> pp_unique_repr : Stdlib.Format.formatter <span>-></span><ahref="index.html#type-unique_repr">unique_repr</a><span>-></span> unit</code></dt><dtclass="spec value"id="val-unique_repr_of_java_proc_name"><ahref="#val-unique_repr_of_java_proc_name"class="anchor"></a><code><spanclass="keyword">val</span> unique_repr_of_java_proc_name : <ahref="../IR/Procname/Java/index.html#type-t">IR.Procname.Java.t</a><span>-></span><ahref="index.html#type-unique_repr">unique_repr</a></code></dt></dl><dl><dtclass="spec type"id="type-storage"><ahref="#type-storage"class="anchor"></a><code><spanclass="keyword">type</span> storage</code></dt></dl><dl><dtclass="sp