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.

2 lines
2.9 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ClangFrontend__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> &#x00BB; ClangFrontend__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="../ClangFrontend/ClangCommand/index.html#type-t">ClangFrontend.ClangCommand.t</a> <span>&#45;&gt;</span> <span>(<a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.In_channel.t <span>&#45;&gt;</span> <span class="type-var">'a</span>)</span> <span>&#45;&gt;</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="../ClangFrontend/ClangCommand/index.html#type-t">ClangFrontend.ClangCommand.t</a> <span>&#45;&gt;</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 <code>CFrontend</code>.</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="../ClangFrontend/CFrontend_config/index.html#type-translation_unit_context">ClangFrontend.CFrontend_config.translation_unit_context</a> <span>&#45;&gt;</span> <a href="../ATDGenerated/Clang_ast_t/index.html#type-decl">ATDGenerated.Clang_ast_t.decl</a> <span>&#45;&gt;</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>