ocaml-trace/ppxlib/Astlib/Ast_metadata/index.html
2025-09-15 14:25:35 +00:00

14 lines
5.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Ast_metadata (ppxlib.Astlib.Ast_metadata)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 3.1.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../../index.html">Index</a> &#x00BB; <a href="../../index.html">ppxlib</a> &#x00BB; <a href="../index.html">Astlib</a> &#x00BB; Ast_metadata</nav><header class="odoc-preamble"><h1>Module <code><span>Astlib.Ast_metadata</span></code></h1><p>Meta data related interface for a ppx rewriter</p></header><div class="odoc-tocs"><nav class="odoc-toc odoc-local-toc"><ul><li><a href="#cookies">Cookies</a></li></ul></nav></div><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-add_ppx_context_str"><a href="#val-add_ppx_context_str" class="anchor"></a><code><span><span class="keyword">val</span> add_ppx_context_str :
<span><span class="label">tool_name</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../../../ocaml/Parsetree/index.html#type-structure_item">Parsetree.structure_item</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../ocaml/Parsetree/index.html#type-structure_item">Parsetree.structure_item</a> list</span></span></code></div><div class="spec-doc"><p>Extract information from the current environment and encode it into an attribute which is prepended to the list of structure items in order to pass the information to an external processor.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-drop_ppx_context_str"><a href="#val-drop_ppx_context_str" class="anchor"></a><code><span><span class="keyword">val</span> drop_ppx_context_str :
<span><span class="label">restore</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../../../ocaml/Parsetree/index.html#type-structure_item">Parsetree.structure_item</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../ocaml/Parsetree/index.html#type-structure_item">Parsetree.structure_item</a> list</span></span></code></div><div class="spec-doc"><p>Drop the ocaml.ppx.context attribute from a structure. If <code>restore</code> is true, also restore the associated data in the current process.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_ppx_context_sig"><a href="#val-add_ppx_context_sig" class="anchor"></a><code><span><span class="keyword">val</span> add_ppx_context_sig :
<span><span class="label">tool_name</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../../../ocaml/Parsetree/index.html#type-signature_item">Parsetree.signature_item</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../ocaml/Parsetree/index.html#type-signature_item">Parsetree.signature_item</a> list</span></span></code></div><div class="spec-doc"><p>Same as <code>add_ppx_context_str</code>, but for signatures.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-drop_ppx_context_sig"><a href="#val-drop_ppx_context_sig" class="anchor"></a><code><span><span class="keyword">val</span> drop_ppx_context_sig :
<span><span class="label">restore</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../../../ocaml/Parsetree/index.html#type-signature_item">Parsetree.signature_item</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../ocaml/Parsetree/index.html#type-signature_item">Parsetree.signature_item</a> list</span></span></code></div><div class="spec-doc"><p>Same as <code>drop_ppx_context_str</code>, but for signatures.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-tool_name"><a href="#val-tool_name" class="anchor"></a><code><span><span class="keyword">val</span> tool_name : <span>unit <span class="arrow">&#45;&gt;</span></span> string</span></code></div><div class="spec-doc"><p>Can be used within a ppx preprocessor to know which tool is calling it <code>&quot;ocamlc&quot;</code>, <code>&quot;ocamlopt&quot;</code>, <code>&quot;ocamldoc&quot;</code>, <code>&quot;ocamldep&quot;</code>, <code>&quot;ocaml&quot;</code>, ...</p></div></div><h2 id="cookies"><a href="#cookies" class="anchor"></a>Cookies</h2><p>Cookies are used to pass information from a ppx processor to a further invocation of itself, when called from the OCaml toplevel (or other tools that support cookies).</p><div class="odoc-spec"><div class="spec value anchored" id="val-set_cookie"><a href="#val-set_cookie" class="anchor"></a><code><span><span class="keyword">val</span> set_cookie : <span>string <span class="arrow">&#45;&gt;</span></span> <span><a href="../../../ocaml/Parsetree/index.html#type-expression">Parsetree.expression</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_cookie"><a href="#val-get_cookie" class="anchor"></a><code><span><span class="keyword">val</span> get_cookie : <span>string <span class="arrow">&#45;&gt;</span></span> <span><a href="../../../ocaml/Parsetree/index.html#type-expression">Parsetree.expression</a> option</span></span></code></div></div></div></body></html>