You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Capture (infer.ClangFrontend.Capture)</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> » <a href="../index.html">ClangFrontend</a> » Capture</nav><h1>Module <code>ClangFrontend.Capture</code></h1></header><dl><dt class="spec value" id="val-run_clang"><a href="#val-run_clang" class="anchor"></a><code><span class="keyword">val</span> run_clang : <a href="../ClangCommand/index.html#type-t">ClangCommand.t</a> <span>-></span> <span>(<a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.In_channel.t <span>-></span> <span class="type-var">'a</span>)</span> <span>-></span> <span class="type-var">'a</span></code></dt><dt class="spec value" id="val-capture"><a href="#val-capture" class="anchor"></a><code><span class="keyword">val</span> capture : <a href="../ClangCommand/index.html#type-t">ClangCommand.t</a> <span>-></span> unit</code></dt><dd><p>If the command is detected to correspond to a source file, translate it.</p><ol><li>Given a compilation command, attach our <code>ASTExporter</code> clang plugin to the command and run it.</li><li>Our clang plugin emits the AST (Abstract Syntax Tree) as Biniou data that we deserialize. The AST format is described in <a href="../../ATDGenerated/Clang_ast_t/index.html"><code>Clang_ast_t</code></a> (and its Biniou API is in <a href="../../ATDGenerated/Clang_ast_b/index.html"><code>Clang_ast_b</code></a>).</li><li>If enabled, invoke translation to <a href="../../IR/Sil/index.html"><code>Sil</code></a> via <a href="../CFrontend/index.html"><code>CFrontend</code></a>.</li><li>If enabled, invoke linters callbacks from <code>ASTLanguage</code> (see below). More on linters here: <a href="http://fbinfer.com/docs/linters.html">http://fbinfer.com/docs/linters.html</a>.</li></ol></dd></dl><dl><dt class="spec value" id="val-al_callback_ref"><a href="#val-al_callback_ref" class="anchor"></a><code><span class="keyword">val</span> al_callback_ref : <span><span>(<a href="../CFrontend_config/index.html#type-translation_unit_context">CFrontend_config.translation_unit_context</a> <span>-></span> <a href="../../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> <span>-></span> unit)</span> <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.ref</span></code></dt><dd><p>callback set by AL to avoid circular dependencies between clang/ and al/ without having to expose the clang-only types involved all the way to integration/</p></dd></dl></div></body></html>
|