mirror of
https://github.com/nim-lang/Nim.git
synced 2026-08-03 14:09:05 +00:00
Deploy to GitHub pages
This commit is contained in:
223
compiler/aliasanalysis.html
Normal file
223
compiler/aliasanalysis.html
Normal file
@@ -0,0 +1,223 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>aliasanalysis</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">aliasanalysis</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#AliasKind" title="AliasKind = enum
|
||||
yes, no, maybe">AliasKind</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#PathKinds0" title="PathKinds0 = {nkDotExpr, nkCheckedFieldExpr, nkBracketExpr, nkDerefExpr,
|
||||
nkHiddenDeref, nkAddr, nkHiddenAddr, nkObjDownConv, nkObjUpConv}">PathKinds0</a></li>
|
||||
<li><a class="reference" href="#PathKinds1" title="PathKinds1 = {nkHiddenStdConv, nkHiddenSubConv}">PathKinds1</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">aliases
|
||||
<li><a class="reference" href="#aliases%2CPNode%2CPNode" title="aliases(obj, field: PNode): AliasKind">aliases(obj, field: PNode): AliasKind</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isAnalysableFieldAccess
|
||||
<li><a class="reference" href="#isAnalysableFieldAccess%2CPNode%2CPSym" title="isAnalysableFieldAccess(orig: PNode; owner: PSym): bool">isAnalysableFieldAccess(orig: PNode; owner: PSym): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">skipConvDfa
|
||||
<li><a class="reference" href="#skipConvDfa%2CPNode" title="skipConvDfa(n: PNode): PNode">skipConvDfa(n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliasanalysis.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliasanalysis.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="AliasKind">
|
||||
<dt><pre><a href="#AliasKind"><span class="Identifier">AliasKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">yes</span><span class="Other">,</span> <span class="Identifier">no</span><span class="Other">,</span> <span class="Identifier">maybe</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliasanalysis.nim#L56" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliasanalysis.nim#L56" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="PathKinds0">
|
||||
<dt><pre><a href="#PathKinds0"><span class="Identifier">PathKinds0</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkDotExpr</span><span class="Other">,</span> <span class="DecNumber">nkCheckedFieldExpr</span><span class="Other">,</span> <span class="DecNumber">nkBracketExpr</span><span class="Other">,</span> <span class="DecNumber">nkDerefExpr</span><span class="Other">,</span>
|
||||
<span class="DecNumber">nkHiddenDeref</span><span class="Other">,</span> <span class="DecNumber">nkAddr</span><span class="Other">,</span> <span class="DecNumber">nkHiddenAddr</span><span class="Other">,</span> <span class="DecNumber">nkObjDownConv</span><span class="Other">,</span> <span class="DecNumber">nkObjUpConv</span><span class="Other">}</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliasanalysis.nim#L7" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliasanalysis.nim#L7" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="PathKinds1">
|
||||
<dt><pre><a href="#PathKinds1"><span class="Identifier">PathKinds1</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkHiddenStdConv</span><span class="Other">,</span> <span class="DecNumber">nkHiddenSubConv</span><span class="Other">}</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliasanalysis.nim#L11" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliasanalysis.nim#L11" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="aliases-procs-all">
|
||||
<div id="aliases,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#aliases%2CPNode%2CPNode"><span class="Identifier">aliases</span></a><span class="Other">(</span><span class="Identifier">obj</span><span class="Other">,</span> <span class="Identifier">field</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="#AliasKind"><span class="Identifier">AliasKind</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliasanalysis.nim#L59" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliasanalysis.nim#L59" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isAnalysableFieldAccess-procs-all">
|
||||
<div id="isAnalysableFieldAccess,PNode,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isAnalysableFieldAccess%2CPNode%2CPSym"><span class="Identifier">isAnalysableFieldAccess</span></a><span class="Other">(</span><span class="Identifier">orig</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">owner</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliasanalysis.nim#L23" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliasanalysis.nim#L23" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="skipConvDfa-procs-all">
|
||||
<div id="skipConvDfa,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#skipConvDfa%2CPNode"><span class="Identifier">skipConvDfa</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliasanalysis.nim#L13" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliasanalysis.nim#L13" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:09 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
10
compiler/aliasanalysis.idx
Normal file
10
compiler/aliasanalysis.idx
Normal file
@@ -0,0 +1,10 @@
|
||||
nimTitle aliasanalysis aliasanalysis.html module aliasanalysis 0
|
||||
nim PathKinds0 aliasanalysis.html#PathKinds0 const PathKinds0 7
|
||||
nim PathKinds1 aliasanalysis.html#PathKinds1 const PathKinds1 11
|
||||
nim skipConvDfa aliasanalysis.html#skipConvDfa,PNode proc skipConvDfa(n: PNode): PNode 13
|
||||
nim isAnalysableFieldAccess aliasanalysis.html#isAnalysableFieldAccess,PNode,PSym proc isAnalysableFieldAccess(orig: PNode; owner: PSym): bool 23
|
||||
nim yes aliasanalysis.html#yes AliasKind.yes 56
|
||||
nim no aliasanalysis.html#no AliasKind.no 56
|
||||
nim maybe aliasanalysis.html#maybe AliasKind.maybe 56
|
||||
nim AliasKind aliasanalysis.html#AliasKind enum AliasKind 56
|
||||
nim aliases aliasanalysis.html#aliases,PNode,PNode proc aliases(obj, field: PNode): AliasKind 59
|
||||
169
compiler/aliases.html
Normal file
169
compiler/aliases.html
Normal file
@@ -0,0 +1,169 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>aliases</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">aliases</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#TAnalysisResult" title="TAnalysisResult = enum
|
||||
arNo, arMaybe, arYes">TAnalysisResult</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">isPartOf
|
||||
<li><a class="reference" href="#isPartOf%2CPNode%2CPNode" title="isPartOf(a, b: PNode): TAnalysisResult">isPartOf(a, b: PNode): TAnalysisResult</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliases.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliases.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Simple alias analysis for the HLO and the code generators.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="astalgo.html">astalgo</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="trees.html">trees</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="TAnalysisResult">
|
||||
<dt><pre><a href="#TAnalysisResult"><span class="Identifier">TAnalysisResult</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">arNo</span><span class="Other">,</span> <span class="Identifier">arMaybe</span><span class="Other">,</span> <span class="Identifier">arYes</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliases.nim#L21" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliases.nim#L21" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="isPartOf-procs-all">
|
||||
<div id="isPartOf,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isPartOf%2CPNode%2CPNode"><span class="Identifier">isPartOf</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="#TAnalysisResult"><span class="Identifier">TAnalysisResult</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<p>checks if location <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span></span></tt> can be part of location <tt class="docutils literal"><span class="pre"><span class="Identifier">b</span></span></tt>. We treat seqs and strings as pointers because the code gen often just passes them as such.</p>
|
||||
<p>Note: <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span></span></tt> can only be part of <tt class="docutils literal"><span class="pre"><span class="Identifier">b</span></span></tt>, if <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span></span></tt>'s type can be part of <tt class="docutils literal"><span class="pre"><span class="Identifier">b</span></span></tt>'s type. Since however type analysis is more expensive, we perform it only if necessary.</p>
|
||||
<p>cases:</p>
|
||||
<p>YES-cases:</p>
|
||||
<p><pre class="listing"><span class="Identifier">x</span> <span class="Operator"><|</span> <span class="Identifier">x</span> <span class="Comment"># for general trees</span>
|
||||
<span class="Identifier">x</span><span class="Punctuation">[</span><span class="Punctuation">]</span> <span class="Operator"><|</span> <span class="Identifier">x</span>
|
||||
<span class="Identifier">x</span><span class="Punctuation">[</span><span class="Identifier">i</span><span class="Punctuation">]</span> <span class="Operator"><|</span> <span class="Identifier">x</span>
|
||||
<span class="Identifier">x</span><span class="Operator">.</span><span class="Identifier">f</span> <span class="Operator"><|</span> <span class="Identifier">x</span></pre></p>
|
||||
<p>NO-cases:</p>
|
||||
<p><pre class="listing"><span class="Identifier">x</span> <span class="Operator">!<|</span> <span class="Identifier">y</span> <span class="Comment"># depending on type and symbol kind</span>
|
||||
<span class="Identifier">x</span><span class="Punctuation">[</span><span class="Identifier">constA</span><span class="Punctuation">]</span> <span class="Operator">!<|</span> <span class="Identifier">x</span><span class="Punctuation">[</span><span class="Identifier">constB</span><span class="Punctuation">]</span>
|
||||
<span class="Identifier">x</span><span class="Operator">.</span><span class="Identifier">f</span> <span class="Operator">!<|</span> <span class="Identifier">x</span><span class="Operator">.</span><span class="Identifier">g</span>
|
||||
<span class="Identifier">x</span><span class="Operator">.</span><span class="Identifier">f</span> <span class="Operator">!<|</span> <span class="Identifier">y</span><span class="Operator">.</span><span class="Identifier">f</span> <span class="Identifier">iff</span> <span class="Identifier">x</span> <span class="Operator">!<=</span> <span class="Identifier">y</span></pre></p>
|
||||
<p>MAYBE-cases:</p>
|
||||
<p><pre class="listing"><span class="Identifier">x</span><span class="Punctuation">[</span><span class="Punctuation">]</span> <span class="Operator">?<|</span> <span class="Identifier">y</span><span class="Punctuation">[</span><span class="Punctuation">]</span> <span class="Identifier">iff</span> <span class="Identifier">compatible</span> <span class="Keyword">type</span>
|
||||
|
||||
|
||||
<span class="Identifier">x</span><span class="Punctuation">[</span><span class="Punctuation">]</span> <span class="Operator">?<|</span> <span class="Identifier">y</span> <span class="Identifier">depending</span> <span class="Identifier">on</span> <span class="Keyword">type</span></pre></p>
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/aliases.nim#L73" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliases.nim#L73" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:10 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
6
compiler/aliases.idx
Normal file
6
compiler/aliases.idx
Normal file
@@ -0,0 +1,6 @@
|
||||
nimTitle aliases aliases.html module aliases 0
|
||||
nim arNo aliases.html#arNo TAnalysisResult.arNo 21
|
||||
nim arMaybe aliases.html#arMaybe TAnalysisResult.arMaybe 21
|
||||
nim arYes aliases.html#arYes TAnalysisResult.arYes 21
|
||||
nim TAnalysisResult aliases.html#TAnalysisResult enum TAnalysisResult 21
|
||||
nim isPartOf aliases.html#isPartOf,PNode,PNode proc isPartOf(a, b: PNode): TAnalysisResult 73
|
||||
5240
compiler/ast.html
Normal file
5240
compiler/ast.html
Normal file
File diff suppressed because one or more lines are too long
312
compiler/ast.idx
Normal file
312
compiler/ast.idx
Normal file
@@ -0,0 +1,312 @@
|
||||
nimTitle ast ast.html module ast 0
|
||||
nim program ast.html#program var program 33
|
||||
nim setupProgram ast.html#setupProgram,ConfigRef,IdentCache proc setupProgram(config: ConfigRef; cache: IdentCache) 35
|
||||
nim setIcMainModule ast.html#setIcMainModule,FileIndex proc setIcMainModule(fileIdx: FileIndex) 39
|
||||
nim loadSymCallback ast.html#loadSymCallback,PSym proc loadSymCallback(s: PSym) 56
|
||||
nim loadTypeCallback ast.html#loadTypeCallback,PType proc loadTypeCallback(t: PType) 59
|
||||
nim ensureMutable ast.html#ensureMutable,PSym proc ensureMutable(s: PSym) 62
|
||||
nim ensureMutable ast.html#ensureMutable,PType proc ensureMutable(t: PType) 66
|
||||
nim backendEnsureMutable ast.html#backendEnsureMutable,PSym proc backendEnsureMutable(s: PSym) 70
|
||||
nim backendEnsureMutable ast.html#backendEnsureMutable,PType proc backendEnsureMutable(t: PType) 75
|
||||
nim unsealForTransform ast.html#unsealForTransform,PType proc unsealForTransform(t: PType) 80
|
||||
nim owner ast.html#owner,PSym proc owner(s: PSym): PSym 90
|
||||
nim owner ast.html#owner,PType proc owner(s: PType): PSym 94
|
||||
nim setOwner ast.html#setOwner,PSym,PSym proc setOwner(s: PSym; owner: PSym) 98
|
||||
nim setOwner ast.html#setOwner,PType,PSym proc setOwner(s: PType; owner: PSym) 103
|
||||
nim kind ast.html#kind,PSym proc kind(s: PSym): TSymKind 108
|
||||
nim kind= ast.html#kind=,PSym,TSymKind proc kind=(s: PSym; val: TSymKind) 112
|
||||
nim gcUnsafetyReason ast.html#gcUnsafetyReason,PSym proc gcUnsafetyReason(s: PSym): PSym 117
|
||||
nim gcUnsafetyReason= ast.html#gcUnsafetyReason=,PSym,PSym proc gcUnsafetyReason=(s: PSym; val: PSym) 121
|
||||
nim transformedBody ast.html#transformedBody,PSym proc transformedBody(s: PSym): PNode 126
|
||||
nim transformedBody= ast.html#transformedBody=,PSym,PNode proc transformedBody=(s: PSym; val: PNode) 130
|
||||
nim guard ast.html#guard,PSym proc guard(s: PSym): PSym 136
|
||||
nim guard= ast.html#guard=,PSym,PSym proc guard=(s: PSym; val: PSym) 140
|
||||
nim bitsize ast.html#bitsize,PSym proc bitsize(s: PSym): int 145
|
||||
nim bitsize= ast.html#bitsize=,PSym,int proc bitsize=(s: PSym; val: int) 149
|
||||
nim alignment ast.html#alignment,PSym proc alignment(s: PSym): int 154
|
||||
nim alignment= ast.html#alignment=,PSym,int proc alignment=(s: PSym; val: int) 158
|
||||
nim magic ast.html#magic,PSym proc magic(s: PSym): TMagic 163
|
||||
nim magic= ast.html#magic=,PSym,TMagic proc magic=(s: PSym; val: TMagic) 167
|
||||
nim typ ast.html#typ,PSym proc typ(s: PSym): PType 172
|
||||
nim typ= ast.html#typ=,PSym,PType proc typ=(s: PSym; val: PType) 176
|
||||
nim info ast.html#info,PSym proc info(s: PSym): TLineInfo 181
|
||||
nim info= ast.html#info=,PSym,TLineInfo proc info=(s: PSym; val: TLineInfo) 185
|
||||
nim flags ast.html#flags,PSym proc flags(s: PSym): TSymFlags 209
|
||||
nim flags= ast.html#flags=,PSym,TSymFlags proc flags=(s: PSym; val: TSymFlags) 213
|
||||
nim ast ast.html#ast,PSym proc ast(s: PSym): PNode 218
|
||||
nim ast= ast.html#ast=,PSym,PNode proc ast=(s: PSym; val: PNode) 222
|
||||
nim options ast.html#options,PSym proc options(s: PSym): TOptions 227
|
||||
nim options= ast.html#options=,PSym,TOptions proc options=(s: PSym; val: TOptions) 231
|
||||
nim position ast.html#position,PSym proc position(s: PSym): int 236
|
||||
nim position= ast.html#position=,PSym,int proc position=(s: PSym; val: int) 240
|
||||
nim offset ast.html#offset,PSym proc offset(s: PSym): int32 248
|
||||
nim offset= ast.html#offset=,PSym,int32 proc offset=(s: PSym; val: int32) 252
|
||||
nim loc ast.html#loc,PSym proc loc(s: PSym): TLoc 257
|
||||
nim loc= ast.html#loc=,PSym,TLoc proc loc=(s: PSym; val: TLoc) 261
|
||||
nim annex ast.html#annex,PSym proc annex(s: PSym): PLib 266
|
||||
nim annex= ast.html#annex=,PSym,PLib proc annex=(s: PSym; val: PLib) 270
|
||||
nim constraint ast.html#constraint,PSym proc constraint(s: PSym): PNode 285
|
||||
nim constraint= ast.html#constraint=,PSym,PNode proc constraint=(s: PSym; val: PNode) 289
|
||||
nim instantiatedFrom ast.html#instantiatedFrom,PSym proc instantiatedFrom(s: PSym): PSym 294
|
||||
nim instantiatedFrom= ast.html#instantiatedFrom=,PSym,PSym proc instantiatedFrom=(s: PSym; val: PSym) 298
|
||||
nim setSnippet ast.html#setSnippet,PSym,sinkstring proc setSnippet(s: PSym; val: sink string) 303
|
||||
nim incl ast.html#incl,PSym,TSymFlag proc incl(s: PSym; flag: TSymFlag) 308
|
||||
nim incl ast.html#incl,PSym,set[TSymFlag] proc incl(s: PSym; flags: set[TSymFlag]) 313
|
||||
nim incl ast.html#incl,PSym,TLocFlag proc incl(s: PSym; flag: TLocFlag) 318
|
||||
nim excl ast.html#excl,PSym,TSymFlag proc excl(s: PSym; flag: TSymFlag) 324
|
||||
nim callConv ast.html#callConv,PType proc callConv(t: PType): TCallingConvention 343
|
||||
nim callConv= ast.html#callConv=,PType,TCallingConvention proc callConv=(t: PType; val: TCallingConvention) 347
|
||||
nim flags ast.html#flags,PType proc flags(t: PType): TTypeFlags 352
|
||||
nim flags= ast.html#flags=,PType,TTypeFlags proc flags=(t: PType; val: TTypeFlags) 356
|
||||
nim sons ast.html#sons,PType proc sons(t: PType): var TTypeSeq 361
|
||||
nim sons= ast.html#sons=,PType,sinkTTypeSeq proc sons=(t: PType; val: sink TTypeSeq) 365
|
||||
nim n ast.html#n,PType proc n(t: PType): PNode 370
|
||||
nim n= ast.html#n=,PType,PNode proc n=(t: PType; val: PNode) 374
|
||||
nim sym ast.html#sym,PType proc sym(t: PType): PSym 379
|
||||
nim sym= ast.html#sym=,PType,PSym proc sym=(t: PType; val: PSym) 383
|
||||
nim size ast.html#size,PType proc size(t: PType): BiggestInt 388
|
||||
nim size= ast.html#size=,PType,BiggestInt proc size=(t: PType; val: BiggestInt) 392
|
||||
nim align ast.html#align,PType proc align(t: PType): int16 396
|
||||
nim align= ast.html#align=,PType,int16 proc align=(t: PType; val: int16) 400
|
||||
nim paddingAtEnd ast.html#paddingAtEnd,PType proc paddingAtEnd(t: PType): int16 404
|
||||
nim paddingAtEnd= ast.html#paddingAtEnd=,PType,int16 proc paddingAtEnd=(t: PType; val: int16) 408
|
||||
nim loc ast.html#loc,PType proc loc(t: PType): TLoc 412
|
||||
nim loc= ast.html#loc=,PType,TLoc proc loc=(t: PType; val: TLoc) 416
|
||||
nim typeInst ast.html#typeInst,PType proc typeInst(t: PType): PType 421
|
||||
nim typeInst= ast.html#typeInst=,PType,PType proc typeInst=(t: PType; val: PType) 425
|
||||
nim incl ast.html#incl,PType,TTypeFlag proc incl(t: PType; flag: TTypeFlag) 430
|
||||
nim incl ast.html#incl,PType,set[TTypeFlag] proc incl(t: PType; flags: set[TTypeFlag]) 435
|
||||
nim excl ast.html#excl,PType,TTypeFlag proc excl(t: PType; flag: TTypeFlag) 440
|
||||
nim excl ast.html#excl,PType,set[TTypeFlag] proc excl(t: PType; flags: set[TTypeFlag]) 445
|
||||
nim typ ast.html#typ,PNode proc typ(n: PNode): PType 450
|
||||
nim typ= ast.html#typ=,PNode,sinkPType proc typ=(n: PNode; val: sink PType) 455
|
||||
nim setUseIc ast.html#setUseIc,bool proc setUseIc(useIc: bool) 468
|
||||
nim comment ast.html#comment,PNode proc comment(n: PNode): string 470
|
||||
nim comment= ast.html#comment=,PNode,string proc comment=(n: PNode; a: string) 483
|
||||
nim getPIdent ast.html#getPIdent,PNode proc getPIdent(a: PNode): PIdent 504
|
||||
nim id ast.html#id.t template id(a: PType | PSym): int 512
|
||||
nim IdGenerator ast.html#IdGenerator type IdGenerator 515
|
||||
nim idGeneratorFromModule ast.html#idGeneratorFromModule,PSym proc idGeneratorFromModule(m: PSym): IdGenerator 523
|
||||
nim idGeneratorForBackend ast.html#idGeneratorForBackend,PSym proc idGeneratorForBackend(m: PSym): IdGenerator 528
|
||||
nim idGeneratorForPackage ast.html#idGeneratorForPackage,int32 proc idGeneratorForPackage(nextIdWillBe: int32): IdGenerator 544
|
||||
nim nextTypeId ast.html#nextTypeId,IdGenerator proc nextTypeId(x: IdGenerator): ItemId 561
|
||||
nim ggDebug ast.html#ggDebug var ggDebug 590
|
||||
nim isCallExpr ast.html#isCallExpr,PNode proc isCallExpr(n: PNode): bool 592
|
||||
nim discardSons ast.html#discardSons,PNode proc discardSons(father: PNode) 595
|
||||
nim safeArrLen ast.html#safeArrLen,PNode proc safeArrLen(n: PNode): int 597
|
||||
nim add ast.html#add,PNode,PNode proc add(father, son: PNode) 603
|
||||
nim addAllowNil ast.html#addAllowNil,PNode,PNode proc addAllowNil(father, son: PNode) 607
|
||||
nim add ast.html#add,PType,PType proc add(father, son: PType) 610
|
||||
nim addAllowNil ast.html#addAllowNil,PType,PType proc addAllowNil(father, son: PType) 616
|
||||
nim `[]` ast.html#[],PType,int proc `[]`(n: PType; i: int): PType 621
|
||||
nim `[]=` ast.html#[]=,PType,int,PType proc `[]=`(n: PType; i: int; x: PType) 629
|
||||
nim `[]` ast.html#[],PType,BackwardsIndex proc `[]`(n: PType; i: BackwardsIndex): PType 637
|
||||
nim `[]=` ast.html#[]=,PType,BackwardsIndex,PType proc `[]=`(n: PType; i: BackwardsIndex; x: PType) 641
|
||||
nim getDeclPragma ast.html#getDeclPragma,PNode proc getDeclPragma(n: PNode): PNode 645
|
||||
nim extractPragma ast.html#extractPragma,PSym proc extractPragma(s: PSym): PNode 679
|
||||
nim skipPragmaExpr ast.html#skipPragmaExpr,PNode proc skipPragmaExpr(n: PNode): PNode 701
|
||||
nim setInfoRecursive ast.html#setInfoRecursive,PNode,TLineInfo proc setInfoRecursive(n: PNode; info: TLineInfo) 709
|
||||
nim newAtom ast.html#newAtom,PIdent,TLineInfo proc newAtom(ident: PIdent; info: TLineInfo): PNode 715
|
||||
nim newAtom ast.html#newAtom,TNodeKind,BiggestInt,TLineInfo proc newAtom(kind: TNodeKind; intVal: BiggestInt; info: TLineInfo): PNode 719
|
||||
nim newAtom ast.html#newAtom,TNodeKind,BiggestFloat,TLineInfo proc newAtom(kind: TNodeKind; floatVal: BiggestFloat; info: TLineInfo): PNode 723
|
||||
nim newAtom ast.html#newAtom,TNodeKind,sinkstring,TLineInfo proc newAtom(kind: TNodeKind; strVal: sink string; info: TLineInfo): PNode 727
|
||||
nim newTree ast.html#newTree,TNodeKind,TLineInfo,varargs[PNode] proc newTree(kind: TNodeKind; info: TLineInfo; children: varargs[PNode]): PNode 731
|
||||
nim newTree ast.html#newTree,TNodeKind,varargs[PNode] proc newTree(kind: TNodeKind; children: varargs[PNode]): PNode 737
|
||||
nim newTreeI ast.html#newTreeI,TNodeKind,TLineInfo,varargs[PNode] proc newTreeI(kind: TNodeKind; info: TLineInfo; children: varargs[PNode]): PNode 743
|
||||
nim newTreeIT ast.html#newTreeIT,TNodeKind,TLineInfo,PType,varargs[PNode] proc newTreeIT(kind: TNodeKind; info: TLineInfo; typ: PType; children: varargs[PNode]): PNode 749
|
||||
nim previouslyInferred ast.html#previouslyInferred.t,PType template previouslyInferred(t: PType): PType 755
|
||||
nim newSym ast.html#newSym,TSymKind,PIdent,IdGenerator,PSym,TLineInfo,TOptions proc newSym(symKind: TSymKind; name: PIdent; idgen: IdGenerator; owner: PSym;\n info: TLineInfo; options: TOptions = {}): PSym 767
|
||||
nim astdef ast.html#astdef,PSym proc astdef(s: PSym): PNode 782
|
||||
nim isMetaType ast.html#isMetaType,PType proc isMetaType(t: PType): bool 790
|
||||
nim isUnresolvedStatic ast.html#isUnresolvedStatic,PType proc isUnresolvedStatic(t: PType): bool 795
|
||||
nim linkTo ast.html#linkTo,PType,PSym proc linkTo(t: PType; s: PSym): PType 798
|
||||
nim linkTo ast.html#linkTo,PSym,PType proc linkTo(s: PSym; t: PType): PSym 803
|
||||
nim fileIdx ast.html#fileIdx.t,PSym template fileIdx(c: PSym): FileIndex 808
|
||||
nim filename ast.html#filename.t,PSym template filename(c: PSym): string 812
|
||||
nim appendToModule ast.html#appendToModule,PSym,PNode proc appendToModule(m: PSym; n: PNode) 816
|
||||
nim copyStrTable ast.html#copyStrTable,TStrTable,TStrTable proc copyStrTable(dest: var TStrTable; src: TStrTable) 825
|
||||
nim copyIdTable ast.html#copyIdTable,TIdTable[T],TIdTable[T] proc copyIdTable[T](dest: var TIdTable[T]; src: TIdTable[T]) 830
|
||||
nim copyObjectSet ast.html#copyObjectSet,TObjectSet,TObjectSet proc copyObjectSet(dest: var TObjectSet; src: TObjectSet) 835
|
||||
nim withInfo ast.html#withInfo,PNode,TLineInfo proc withInfo(n: PNode; info: TLineInfo): PNode 843
|
||||
nim newSymNode ast.html#newSymNode,PSym proc newSymNode(sym: PSym): PNode 848
|
||||
nim newOpenSym ast.html#newOpenSym,PNode proc newOpenSym(n: PNode): PNode 858
|
||||
nim newIntNode ast.html#newIntNode,TNodeKind,BiggestInt proc newIntNode(kind: TNodeKind; intVal: BiggestInt): PNode 861
|
||||
nim newIntNode ast.html#newIntNode,TNodeKind,Int128 proc newIntNode(kind: TNodeKind; intVal: Int128): PNode 865
|
||||
nim lastSon ast.html#lastSon,PNode proc lastSon(n: PNode): PNode 869
|
||||
nim setLastSon ast.html#setLastSon.t,PNode,PNode template setLastSon(n: PNode; s: PNode) 870
|
||||
nim firstSon ast.html#firstSon.t,PNode template firstSon(n: PNode): PNode 872
|
||||
nim secondSon ast.html#secondSon.t,PNode template secondSon(n: PNode): PNode 873
|
||||
nim hasSon ast.html#hasSon.t,PNode template hasSon(n: PNode): bool 875
|
||||
nim has2Sons ast.html#has2Sons.t,PNode template has2Sons(n: PNode): bool 876
|
||||
nim replaceFirstSon ast.html#replaceFirstSon,PNode,PNode proc replaceFirstSon(n, newson: PNode) 878
|
||||
nim replaceSon ast.html#replaceSon,PNode,int,PNode proc replaceSon(n: PNode; i: int; newson: PNode) 881
|
||||
nim last ast.html#last,PType proc last(n: PType): PType 884
|
||||
nim elementType ast.html#elementType,PType proc elementType(n: PType): PType 891
|
||||
nim skipModifier ast.html#skipModifier,PType proc skipModifier(n: PType): PType 895
|
||||
nim indexType ast.html#indexType,PType proc indexType(n: PType): PType 899
|
||||
nim baseClass ast.html#baseClass,PType proc baseClass(n: PType): PType 903
|
||||
nim base ast.html#base,PType proc base(t: PType): PType 907
|
||||
nim returnType ast.html#returnType,PType proc returnType(n: PType): PType 911
|
||||
nim setReturnType ast.html#setReturnType,PType,PType proc setReturnType(n, r: PType) 915
|
||||
nim setIndexType ast.html#setIndexType,PType,PType proc setIndexType(n, idx: PType) 919
|
||||
nim firstParamType ast.html#firstParamType,PType proc firstParamType(n: PType): PType 923
|
||||
nim firstGenericParam ast.html#firstGenericParam,PType proc firstGenericParam(n: PType): PType 930
|
||||
nim typeBodyImpl ast.html#typeBodyImpl,PType proc typeBodyImpl(n: PType): PType 934
|
||||
nim genericHead ast.html#genericHead,PType proc genericHead(n: PType): PType 938
|
||||
nim skipTypes ast.html#skipTypes,PType,TTypeKinds proc skipTypes(t: PType; kinds: TTypeKinds): PType 942
|
||||
nim newIntTypeNode ast.html#newIntTypeNode,BiggestInt,PType proc newIntTypeNode(intVal: BiggestInt; typ: PType): PNode 950
|
||||
nim newIntTypeNode ast.html#newIntTypeNode,Int128,PType proc newIntTypeNode(intVal: Int128; typ: PType): PNode 973
|
||||
nim newFloatNode ast.html#newFloatNode,TNodeKind,BiggestFloat proc newFloatNode(kind: TNodeKind; floatVal: BiggestFloat): PNode 977
|
||||
nim newProcNode ast.html#newProcNode,TNodeKind,TLineInfo,PNode,PNode,PNode,PNode,PNode,PNode,PNode proc newProcNode(kind: TNodeKind; info: TLineInfo; body: PNode;\n params, name, pattern, genericParams, pragmas, exceptions: PNode): PNode 981
|
||||
nim AttachedOpToStr ast.html#AttachedOpToStr const AttachedOpToStr 990
|
||||
nim `$` ast.html#$,PSym proc `$`(s: PSym): string 993
|
||||
nim len ast.html#len,PType proc len(n: PType): int 999
|
||||
nim sameTupleLengths ast.html#sameTupleLengths,PType,PType proc sameTupleLengths(a, b: PType): bool 1006
|
||||
nim tupleTypePairs ast.html#tupleTypePairs.i,PType,PType iterator tupleTypePairs(a, b: PType): (int, PType, PType) 1009
|
||||
nim underspecifiedPairs ast.html#underspecifiedPairs.i,PType,PType,int,int iterator underspecifiedPairs(a, b: PType; start = 0; without = 0): (PType, PType) 1013
|
||||
nim signatureLen ast.html#signatureLen,PType proc signatureLen(t: PType): int 1018
|
||||
nim paramsLen ast.html#paramsLen,PType proc paramsLen(t: PType): int 1021
|
||||
nim genericParamsLen ast.html#genericParamsLen,PType proc genericParamsLen(t: PType): int 1024
|
||||
nim genericInvocationParamsLen ast.html#genericInvocationParamsLen,PType proc genericInvocationParamsLen(t: PType): int 1028
|
||||
nim kidsLen ast.html#kidsLen,PType proc kidsLen(t: PType): int 1032
|
||||
nim genericParamHasConstraints ast.html#genericParamHasConstraints,PType proc genericParamHasConstraints(t: PType): bool 1035
|
||||
nim hasElementType ast.html#hasElementType,PType proc hasElementType(t: PType): bool 1037
|
||||
nim isEmptyTupleType ast.html#isEmptyTupleType,PType proc isEmptyTupleType(t: PType): bool 1038
|
||||
nim isSingletonTupleType ast.html#isSingletonTupleType,PType proc isSingletonTupleType(t: PType): bool 1039
|
||||
nim genericConstraint ast.html#genericConstraint,PType proc genericConstraint(t: PType): PType 1041
|
||||
nim genericInstParams ast.html#genericInstParams.i,PType iterator genericInstParams(t: PType): (bool, PType) 1043
|
||||
nim genericInstParamPairs ast.html#genericInstParamPairs.i,PType,PType iterator genericInstParamPairs(a, b: PType): (int, PType, PType) 1047
|
||||
nim genericInvocationParams ast.html#genericInvocationParams.i,PType iterator genericInvocationParams(t: PType): (bool, PType) 1051
|
||||
nim genericInvocationAndBodyElements ast.html#genericInvocationAndBodyElements.i,PType,PType iterator genericInvocationAndBodyElements(a, b: PType): (PType, PType) 1055
|
||||
nim genericInvocationParamPairs ast.html#genericInvocationParamPairs.i,PType,PType iterator genericInvocationParamPairs(a, b: PType): (bool, PType, PType) 1059
|
||||
nim genericBodyParams ast.html#genericBodyParams.i,PType iterator genericBodyParams(t: PType): (int, PType) 1066
|
||||
nim userTypeClassInstParams ast.html#userTypeClassInstParams.i,PType iterator userTypeClassInstParams(t: PType): (bool, PType) 1070
|
||||
nim ikids ast.html#ikids.i,PType iterator ikids(t: PType): (int, PType) 1074
|
||||
nim FirstParamAt ast.html#FirstParamAt const FirstParamAt 1078
|
||||
nim FirstGenericParamAt ast.html#FirstGenericParamAt const FirstGenericParamAt 1079
|
||||
nim paramTypes ast.html#paramTypes.i,PType iterator paramTypes(t: PType): (int, PType) 1081
|
||||
nim paramTypePairs ast.html#paramTypePairs.i,PType,PType iterator paramTypePairs(a, b: PType): (PType, PType) 1084
|
||||
nim paramTypeToNodeIndex ast.html#paramTypeToNodeIndex.t,int template paramTypeToNodeIndex(x: int): int 1087
|
||||
nim kids ast.html#kids.i,PType iterator kids(t: PType): PType 1089
|
||||
nim signature ast.html#signature.i,PType iterator signature(t: PType): PType 1092
|
||||
nim newType ast.html#newType,TTypeKind,IdGenerator,PSym,sinkPType proc newType(kind: TTypeKind; idgen: IdGenerator; owner: PSym; son: sink PType = nil): PType 1096
|
||||
nim setSons ast.html#setSons,PType,sinkseq[PType] proc setSons(dest: PType; sons: sink seq[PType]) 1114
|
||||
nim setSon ast.html#setSon,PType,sinkPType proc setSon(dest: PType; son: sink PType) 1117
|
||||
nim setSonsLen ast.html#setSonsLen,PType,int proc setSonsLen(dest: PType; len: int) 1119
|
||||
nim newSons ast.html#newSons,PNode,int proc newSons(father: PNode; length: int) 1130
|
||||
nim newSons ast.html#newSons,PType,int proc newSons(father: PType; length: int) 1133
|
||||
nim truncateInferredTypeCandidates ast.html#truncateInferredTypeCandidates,PType proc truncateInferredTypeCandidates(t: PType) 1137
|
||||
nim assignType ast.html#assignType,PType,PType proc assignType(dest, src: PType) 1142
|
||||
nim copyType ast.html#copyType,PType,IdGenerator,PSym proc copyType(t: PType; idgen: IdGenerator; owner: PSym): PType 1170
|
||||
nim exactReplica ast.html#exactReplica,PType,IdGenerator proc exactReplica(t: PType; idgen: IdGenerator): PType 1175
|
||||
nim copySym ast.html#copySym,PSym,IdGenerator proc copySym(s: PSym; idgen: IdGenerator): PSym 1191
|
||||
nim createModuleAlias ast.html#createModuleAlias,PSym,IdGenerator,PIdent,TLineInfo,TOptions proc createModuleAlias(s: PSym; idgen: IdGenerator; newIdent: PIdent;\n info: TLineInfo; options: TOptions): PSym 1207
|
||||
nim initStrTable ast.html#initStrTable proc initStrTable(): TStrTable 1219
|
||||
nim initIdTable ast.html#initIdTable proc initIdTable[T](): TIdTable[T] 1223
|
||||
nim resetIdTable ast.html#resetIdTable,TIdTable[T] proc resetIdTable[T](x: var TIdTable[T]) 1227
|
||||
nim initObjectSet ast.html#initObjectSet proc initObjectSet(): TObjectSet 1233
|
||||
nim initNodeTable ast.html#initNodeTable proc initNodeTable(ignoreTypes = false): TNodeTable 1237
|
||||
nim skipTypes ast.html#skipTypes,PType,TTypeKinds,int proc skipTypes(t: PType; kinds: TTypeKinds; maxIters: int): PType 1241
|
||||
nim skipTypesOrNil ast.html#skipTypesOrNil,PType,TTypeKinds proc skipTypesOrNil(t: PType; kinds: TTypeKinds): PType 1249
|
||||
nim isGCedMem ast.html#isGCedMem,PType proc isGCedMem(t: PType): bool 1257
|
||||
nim propagateToOwner ast.html#propagateToOwner,PType,PType proc propagateToOwner(owner, elem: PType; propagateHasAsgn = true) 1261
|
||||
nim rawAddSon ast.html#rawAddSon,PType,PType proc rawAddSon(father, son: PType; propagateHasAsgn = true) 1291
|
||||
nim addSonNilAllowed ast.html#addSonNilAllowed,PNode,PNode proc addSonNilAllowed(father, son: PNode) 1297
|
||||
nim delSon ast.html#delSon,PNode,int proc delSon(father: PNode; idx: int) 1300
|
||||
nim copyNode ast.html#copyNode,PNode proc copyNode(src: PNode): PNode 1305
|
||||
nim transitionSonsKind ast.html#transitionSonsKind,PNode,range[] proc transitionSonsKind(n: PNode; kind: range[nkComesFrom .. nkTupleConstr]) 1334
|
||||
nim transitionIntKind ast.html#transitionIntKind,PNode,range[] proc transitionIntKind(n: PNode; kind: range[nkCharLit .. nkUInt64Lit]) 1338
|
||||
nim transitionIntToFloatKind ast.html#transitionIntToFloatKind,PNode,range[] proc transitionIntToFloatKind(n: PNode; kind: range[nkFloatLit .. nkFloat128Lit]) 1342
|
||||
nim transitionNoneToSym ast.html#transitionNoneToSym,PNode proc transitionNoneToSym(n: PNode) 1346
|
||||
nim transitionSymKindCommon ast.html#transitionSymKindCommon.t,TSymKind template transitionSymKindCommon(k: TSymKind) 1349
|
||||
nim transitionGenericParamToType ast.html#transitionGenericParamToType,PSym proc transitionGenericParamToType(s: PSym) 1364
|
||||
nim transitionRoutineSymKind ast.html#transitionRoutineSymKind,PSym,range[] proc transitionRoutineSymKind(s: PSym; kind: range[skProc .. skTemplate]) 1367
|
||||
nim transitionToLet ast.html#transitionToLet,PSym proc transitionToLet(s: PSym) 1372
|
||||
nim shallowCopy ast.html#shallowCopy,PNode proc shallowCopy(src: PNode): PNode 1398
|
||||
nim copyTree ast.html#copyTree,PNode proc copyTree(src: PNode): PNode 1403
|
||||
nim copyTreeWithoutNode ast.html#copyTreeWithoutNode,PNode,PNode proc copyTreeWithoutNode(src, skippedNode: PNode): PNode 1410
|
||||
nim hasSonWith ast.html#hasSonWith,PNode,TNodeKind proc hasSonWith(n: PNode; kind: TNodeKind): bool 1417
|
||||
nim hasNilSon ast.html#hasNilSon,PNode proc hasNilSon(n: PNode): bool 1423
|
||||
nim containsNode ast.html#containsNode,PNode,TNodeKinds proc containsNode(n: PNode; kinds: TNodeKinds): bool 1431
|
||||
nim hasSubnodeWith ast.html#hasSubnodeWith,PNode,TNodeKind proc hasSubnodeWith(n: PNode; kind: TNodeKind): bool 1440
|
||||
nim getInt ast.html#getInt,PNode proc getInt(a: PNode): Int128 1449
|
||||
nim getInt64 ast.html#getInt64,PNode proc getInt64(a: PNode): int64 1462
|
||||
nim getFloat ast.html#getFloat,PNode proc getFloat(a: PNode): BiggestFloat 1469
|
||||
nim getStr ast.html#getStr,PNode proc getStr(a: PNode): string 1480
|
||||
nim getStrOrChar ast.html#getStrOrChar,PNode proc getStrOrChar(a: PNode): string 1492
|
||||
nim isGenericParams ast.html#isGenericParams,PNode proc isGenericParams(n: PNode): bool 1502
|
||||
nim isGenericRoutine ast.html#isGenericRoutine,PNode proc isGenericRoutine(n: PNode): bool 1506
|
||||
nim isGenericRoutineStrict ast.html#isGenericRoutineStrict,PSym proc isGenericRoutineStrict(s: PSym): bool 1509
|
||||
nim isGenericRoutine ast.html#isGenericRoutine,PSym proc isGenericRoutine(s: PSym): bool 1515
|
||||
nim skipGenericOwner ast.html#skipGenericOwner,PSym proc skipGenericOwner(s: PSym): PSym 1529
|
||||
nim originatingModule ast.html#originatingModule,PSym proc originatingModule(s: PSym): PSym 1540
|
||||
nim isRoutine ast.html#isRoutine,PSym proc isRoutine(s: PSym): bool 1544
|
||||
nim isCompileTimeProc ast.html#isCompileTimeProc,PSym proc isCompileTimeProc(s: PSym): bool 1547
|
||||
nim hasPattern ast.html#hasPattern,PSym proc hasPattern(s: PSym): bool 1551
|
||||
nim pairs ast.html#pairs.i,PNode iterator pairs(n: PNode): tuple[i: int, n: PNode] 1554
|
||||
nim isAtom ast.html#isAtom,PNode proc isAtom(n: PNode): bool 1557
|
||||
nim isEmptyType ast.html#isEmptyType,PType proc isEmptyType(t: PType): bool 1560
|
||||
nim makeStmtList ast.html#makeStmtList,PNode proc makeStmtList(n: PNode): PNode 1564
|
||||
nim skipStmtList ast.html#skipStmtList,PNode proc skipStmtList(n: PNode): PNode 1571
|
||||
nim toVar ast.html#toVar,PType,TTypeKind,IdGenerator proc toVar(typ: PType; kind: TTypeKind; idgen: IdGenerator): PType 1579
|
||||
nim toRef ast.html#toRef,PType,IdGenerator proc toRef(typ: PType; idgen: IdGenerator): PType 1586
|
||||
nim toObject ast.html#toObject,PType proc toObject(typ: PType): PType 1593
|
||||
nim toObjectFromRefPtrGeneric ast.html#toObjectFromRefPtrGeneric,PType proc toObjectFromRefPtrGeneric(typ: PType): PType 1601
|
||||
nim isImportedException ast.html#isImportedException,PType,ConfigRef proc isImportedException(t: PType; conf: ConfigRef): bool 1621
|
||||
nim isInfixAs ast.html#isInfixAs,PNode proc isInfixAs(n: PNode): bool 1630
|
||||
nim skipColon ast.html#skipColon,PNode proc skipColon(n: PNode): PNode 1633
|
||||
nim findUnresolvedStatic ast.html#findUnresolvedStatic,PNode proc findUnresolvedStatic(n: PNode): PNode 1638
|
||||
nim hasDestructor ast.html#hasDestructor.t,PType template hasDestructor(t: PType): bool 1659
|
||||
nim incompleteType ast.html#incompleteType.t,PType template incompleteType(t: PType): bool 1661
|
||||
nim typeCompleted ast.html#typeCompleted.t,PSym template typeCompleted(s: PSym) 1664
|
||||
nim detailedInfo ast.html#detailedInfo.t,PSym template detailedInfo(sym: PSym): string 1667
|
||||
nim isInlineIterator ast.html#isInlineIterator,PType proc isInlineIterator(typ: PType): bool 1670
|
||||
nim isIterator ast.html#isIterator,PType proc isIterator(typ: PType): bool 1673
|
||||
nim isClosureIterator ast.html#isClosureIterator,PType proc isClosureIterator(typ: PType): bool 1676
|
||||
nim isClosure ast.html#isClosure,PType proc isClosure(typ: PType): bool 1679
|
||||
nim isNimcall ast.html#isNimcall,PSym proc isNimcall(s: PSym): bool 1682
|
||||
nim isExplicitCallConv ast.html#isExplicitCallConv,PSym proc isExplicitCallConv(s: PSym): bool 1685
|
||||
nim isSinkParam ast.html#isSinkParam,PSym proc isSinkParam(s: PSym): bool 1688
|
||||
nim isSinkType ast.html#isSinkType,PType proc isSinkType(t: PType): bool 1691
|
||||
nim newProcType ast.html#newProcType,TLineInfo,IdGenerator,PSym proc newProcType(info: TLineInfo; idgen: IdGenerator; owner: PSym): PType 1694
|
||||
nim addParam ast.html#addParam,PType,PSym proc addParam(procType: PType; param: PSym) 1703
|
||||
nim canRaiseConservative ast.html#canRaiseConservative,PNode proc canRaiseConservative(fn: PNode): bool 1711
|
||||
nim canRaise ast.html#canRaise,PNode proc canRaise(fn: PNode): bool 1717
|
||||
nim toHumanStr ast.html#toHumanStr,TSymKind proc toHumanStr(kind: TSymKind): string 1744
|
||||
nim toHumanStr ast.html#toHumanStr,TTypeKind proc toHumanStr(kind: TTypeKind): string 1748
|
||||
nim skipHiddenAddr ast.html#skipHiddenAddr,PNode proc skipHiddenAddr(n: PNode): PNode 1752
|
||||
nim isNewStyleConcept ast.html#isNewStyleConcept,PNode proc isNewStyleConcept(n: PNode): bool 1755
|
||||
nim isOutParam ast.html#isOutParam,PType proc isOutParam(t: PType): bool 1759
|
||||
nim nodesToIgnoreSet ast.html#nodesToIgnoreSet const nodesToIgnoreSet 1762
|
||||
nim isTrue ast.html#isTrue,PNode proc isTrue(n: PNode): bool 1769
|
||||
nim TypeMapping ast.html#TypeMapping type TypeMapping 1774
|
||||
nim SymMapping ast.html#SymMapping type SymMapping 1775
|
||||
nim initSymMapping ast.html#initSymMapping.t template initSymMapping(): SymMapping 1777
|
||||
nim initTypeMapping ast.html#initTypeMapping.t template initTypeMapping(): TypeMapping 1778
|
||||
nim sameModules ast.html#sameModules,PSym,PSym proc sameModules(a, b: PSym): bool 1780
|
||||
nim sameOwners ast.html#sameOwners,PSym,PSym proc sameOwners(a, b: PSym): bool 1784
|
||||
nimgrp addallownil ast.html#addAllowNil-procs-all proc 607
|
||||
nimgrp isgenericroutine ast.html#isGenericRoutine-procs-all proc 1506
|
||||
nimgrp newintnode ast.html#newIntNode-procs-all proc 861
|
||||
nimgrp newinttypenode ast.html#newIntTypeNode-procs-all proc 950
|
||||
nimgrp loc ast.html#loc-procs-all proc 257
|
||||
nimgrp newtree ast.html#newTree-procs-all proc 731
|
||||
nimgrp []= ast.html#[]=-procs-all proc 629
|
||||
nimgrp add ast.html#add-procs-all proc 603
|
||||
nimgrp tohumanstr ast.html#toHumanStr-procs-all proc 1744
|
||||
nimgrp linkto ast.html#linkTo-procs-all proc 798
|
||||
nimgrp newatom ast.html#newAtom-procs-all proc 715
|
||||
nimgrp [] ast.html#[]-procs-all proc 621
|
||||
nimgrp newsons ast.html#newSons-procs-all proc 1130
|
||||
nimgrp owner ast.html#owner-procs-all proc 90
|
||||
nimgrp skiptypes ast.html#skipTypes-procs-all proc 942
|
||||
nimgrp setowner ast.html#setOwner-procs-all proc 98
|
||||
nimgrp ensuremutable ast.html#ensureMutable-procs-all proc 62
|
||||
nimgrp excl ast.html#excl-procs-all proc 324
|
||||
nimgrp loc= ast.html#loc=-procs-all proc 261
|
||||
nimgrp backendensuremutable ast.html#backendEnsureMutable-procs-all proc 70
|
||||
nimgrp flags= ast.html#flags=-procs-all proc 213
|
||||
nimgrp typ ast.html#typ-procs-all proc 172
|
||||
nimgrp incl ast.html#incl-procs-all proc 308
|
||||
nimgrp flags ast.html#flags-procs-all proc 209
|
||||
nimgrp typ= ast.html#typ=-procs-all proc 176
|
||||
875
compiler/ast2nif.html
Normal file
875
compiler/ast2nif.html
Normal file
@@ -0,0 +1,875 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>ast2nif</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">ast2nif</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#DecodeContext" title="DecodeContext = object">DecodeContext</a></li>
|
||||
<li><a class="reference" href="#LoadFlag" title="LoadFlag = enum
|
||||
LoadFullAst, AlwaysLoadInterface">LoadFlag</a></li>
|
||||
<li><a class="reference" href="#ModuleSuffix" title="ModuleSuffix = distinct string">ModuleSuffix</a></li>
|
||||
<li><a class="reference" href="#ParsedSymName" title="ParsedSymName = object
|
||||
name*: string
|
||||
module*: string
|
||||
count*: int">ParsedSymName</a></li>
|
||||
<li><a class="reference" href="#PrecompiledModule" title="PrecompiledModule = object
|
||||
topLevel*: PNode
|
||||
deps*: seq[ModuleSuffix]
|
||||
logOps*: seq[LogEntry]
|
||||
module*: PSym
|
||||
reexportedModules*: seq[(string, string)]
|
||||
genericOffers*: seq[tuple[generic, inst: PSym, concreteTypes: seq[PType],
|
||||
genericParamsCount: int]] ## generic instances this module created; modulegraphs.nim rebuilds
|
||||
## `procInstCache` from them so a consumer reuses the instance instead of
|
||||
## re-instantiating it in its own (operator-blind) module scope.
|
||||
typeOffers*: seq[tuple[generic: PSym, inst: PType]] ## generic TYPE instances this module created; modulegraphs.nim rebuilds
|
||||
## `typeInstCache` from them so a consumer reuses the baked instance
|
||||
## (e.g. a `mixin`/`compiles()`-dependent array bound) instead of
|
||||
## re-instantiating it with a different bound in its own scope.
|
||||
includes*: seq[string]">PrecompiledModule</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#BackendLocalMarker" title="BackendLocalMarker = "@bk"">BackendLocalMarker</a></li>
|
||||
<li><a class="reference" href="#SysModuleSuffix" title="SysModuleSuffix = "@sys"">SysModuleSuffix</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">createDecodeContext
|
||||
<li><a class="reference" href="#createDecodeContext%2CConfigRef%2CIdentCache" title="createDecodeContext(config: ConfigRef; cache: IdentCache): DecodeContext">createDecodeContext(config: ConfigRef; cache: IdentCache): DecodeContext</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">firstSon
|
||||
<li><a class="reference" href="#firstSon%2CCursor" title="firstSon(n: Cursor): Cursor">firstSon(n: Cursor): Cursor</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getMainModuleSuffix
|
||||
<li><a class="reference" href="#getMainModuleSuffix%2CDecodeContext" title="getMainModuleSuffix(c: DecodeContext): string">getMainModuleSuffix(c: DecodeContext): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">globalName
|
||||
<li><a class="reference" href="#globalName%2CPSym%2CConfigRef" title="globalName(sym: PSym; config: ConfigRef): string">globalName(sym: PSym; config: ConfigRef): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">icNifTypeName
|
||||
<li><a class="reference" href="#icNifTypeName%2CPType%2CConfigRef" title="icNifTypeName(typ: PType; config: ConfigRef): string">icNifTypeName(typ: PType; config: ConfigRef): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isStub
|
||||
<li><a class="reference" href="#isStub%2CPSym" title="isStub(s: PSym): bool">isStub(s: PSym): bool</a></li>
|
||||
<li><a class="reference" href="#isStub%2CPType" title="isStub(t: PType): bool">isStub(t: PType): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadedModuleTypes
|
||||
<li><a class="reference" href="#loadedModuleTypes%2CDecodeContext%2CFileIndex" title="loadedModuleTypes(c: var DecodeContext; module: FileIndex): seq[PType]">loadedModuleTypes(c: var DecodeContext; module: FileIndex): seq[PType]</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadNifModule
|
||||
<li><a class="reference" href="#loadNifModule%2CDecodeContext%2CFileIndex%2CTStrTable%2CTStrTable%2Cset%5BLoadFlag%5D" title="loadNifModule(c: var DecodeContext; f: FileIndex;
|
||||
interf, interfHidden: var TStrTable; flags: set[LoadFlag] = {}): PrecompiledModule">loadNifModule(c: var DecodeContext; f: FileIndex;
|
||||
interf, interfHidden: var TStrTable; flags: set[LoadFlag] = {}): PrecompiledModule</a></li>
|
||||
<li><a class="reference" href="#loadNifModule%2CDecodeContext%2CModuleSuffix%2CTStrTable%2CTStrTable%2Cset%5BLoadFlag%5D" title="loadNifModule(c: var DecodeContext; suffix: ModuleSuffix;
|
||||
interf, interfHidden: var TStrTable; flags: set[LoadFlag] = {}): PrecompiledModule">loadNifModule(c: var DecodeContext; suffix: ModuleSuffix;
|
||||
interf, interfHidden: var TStrTable; flags: set[LoadFlag] = {}): PrecompiledModule</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadSym
|
||||
<li><a class="reference" href="#loadSym%2CDecodeContext%2CPSym" title="loadSym(c: var DecodeContext; s: PSym)">loadSym(c: var DecodeContext; s: PSym)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadType
|
||||
<li><a class="reference" href="#loadType%2CDecodeContext%2CPType" title="loadType(c: var DecodeContext; t: PType)">loadType(c: var DecodeContext; t: PType)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">materializeLazyBody
|
||||
<li><a class="reference" href="#materializeLazyBody%2CDecodeContext%2CPNode" title="materializeLazyBody(c: var DecodeContext; node: PNode)">materializeLazyBody(c: var DecodeContext; node: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">moduleSymbolStubs
|
||||
<li><a class="reference" href="#moduleSymbolStubs%2CDecodeContext%2CFileIndex" title="moduleSymbolStubs(c: var DecodeContext; module: FileIndex): seq[PSym]">moduleSymbolStubs(c: var DecodeContext; module: FileIndex): seq[PSym]</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">nextBackendSymItem
|
||||
<li><a class="reference" href="#nextBackendSymItem%2CDecodeContext%2Cint32" title="nextBackendSymItem(c: var DecodeContext; module: int32): int32">nextBackendSymItem(c: var DecodeContext; module: int32): int32</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">nextBackendTypeItem
|
||||
<li><a class="reference" href="#nextBackendTypeItem%2CDecodeContext%2Cint32" title="nextBackendTypeItem(c: var DecodeContext; module: int32): int32">nextBackendTypeItem(c: var DecodeContext; module: int32): int32</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">nifModuleHasIncludes
|
||||
<li><a class="reference" href="#nifModuleHasIncludes%2CConfigRef%2CFileIndex" title="nifModuleHasIncludes(config: ConfigRef; fileIdx: FileIndex): bool">nifModuleHasIncludes(config: ConfigRef; fileIdx: FileIndex): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">parseSymName
|
||||
<li><a class="reference" href="#parseSymName%2Cstring" title="parseSymName(s: string): ParsedSymName">parseSymName(s: string): ParsedSymName</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">registerNifAstTags
|
||||
<li><a class="reference" href="#registerNifAstTags" title="registerNifAstTags()">registerNifAstTags()</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">resolveHookSym
|
||||
<li><a class="reference" href="#resolveHookSym%2CDecodeContext%2Cstring" title="resolveHookSym(c: var DecodeContext; name: string): PSym">resolveHookSym(c: var DecodeContext; name: string): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">scanIncludeGraph
|
||||
<li><a class="reference" href="#scanIncludeGraph%2CConfigRef" title="scanIncludeGraph(config: ConfigRef): seq[
|
||||
tuple[includer: string, includes: seq[string]]]">scanIncludeGraph(config: ConfigRef): seq[
|
||||
tuple[includer: string, includes: seq[string]]]</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">sealLoadedRoutines
|
||||
<li><a class="reference" href="#sealLoadedRoutines%2CDecodeContext" title="sealLoadedRoutines(c: var DecodeContext)">sealLoadedRoutines(c: var DecodeContext)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">setMainModule
|
||||
<li><a class="reference" href="#setMainModule%2CDecodeContext%2CFileIndex" title="setMainModule(c: var DecodeContext; fileIdx: FileIndex)">setMainModule(c: var DecodeContext; fileIdx: FileIndex)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">toClassSymId
|
||||
<li><a class="reference" href="#toClassSymId%2CConfigRef%2CItemId" title="toClassSymId(config: ConfigRef; typeId: ItemId): nifstreams.SymId">toClassSymId(config: ConfigRef; typeId: ItemId): nifstreams.SymId</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">toConverterIndexEntry
|
||||
<li><a class="reference" href="#toConverterIndexEntry%2CConfigRef%2CPSym" title="toConverterIndexEntry(config: ConfigRef; converterSym: PSym): (nifstreams.SymId,
|
||||
nifstreams.SymId)">toConverterIndexEntry(config: ConfigRef; converterSym: PSym): (nifstreams.SymId,
|
||||
nifstreams.SymId)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">toHookIndexEntry
|
||||
<li><a class="reference" href="#toHookIndexEntry%2CConfigRef%2CItemId%2CPSym" title="toHookIndexEntry(config: ConfigRef; typeId: ItemId; hookSym: PSym): HookIndexEntry">toHookIndexEntry(config: ConfigRef; typeId: ItemId; hookSym: PSym): HookIndexEntry</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">toMethodIndexEntry
|
||||
<li><a class="reference" href="#toMethodIndexEntry%2CConfigRef%2CPSym%2Cstring" title="toMethodIndexEntry(config: ConfigRef; methodSym: PSym; signature: string): (
|
||||
nifstreams.SymId, nifstreams.StrId)">toMethodIndexEntry(config: ConfigRef; methodSym: PSym; signature: string): (
|
||||
nifstreams.SymId, nifstreams.StrId)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">toNifFilename
|
||||
<li><a class="reference" href="#toNifFilename%2CConfigRef%2CFileIndex" title="toNifFilename(conf: ConfigRef; f: FileIndex): string">toNifFilename(conf: ConfigRef; f: FileIndex): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">tryResolveCompilerProc
|
||||
<li><a class="reference" href="#tryResolveCompilerProc%2CDecodeContext%2Cstring%2CFileIndex" title="tryResolveCompilerProc(c: var DecodeContext; name: string;
|
||||
moduleFileIdx: FileIndex): PSym">tryResolveCompilerProc(c: var DecodeContext; name: string;
|
||||
moduleFileIdx: FileIndex): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeLoweredModule
|
||||
<li><a class="reference" href="#writeLoweredModule%2CDecodeContext%2CConfigRef%2CPrecompiledModule%2CopenArray%5BLogEntry%5D%2Cstring" title="writeLoweredModule(c: var DecodeContext; config: ConfigRef;
|
||||
precomp: PrecompiledModule; hooks: openArray[LogEntry];
|
||||
outfile: string)">writeLoweredModule(c: var DecodeContext; config: ConfigRef;
|
||||
precomp: PrecompiledModule; hooks: openArray[LogEntry];
|
||||
outfile: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeNifModule
|
||||
<li><a class="reference" href="#writeNifModule%2CConfigRef%2Cint32%2CPNode%2Cseq%5BLogEntry%5D%2Cseq%5BPNode%5D%2Cseq%5Bint%5D%2Cseq%5B%5D%2Cseq%5Btuple%5BPSym%2CPSym%2Cseq%5BPType%5D%2Cint%5D%5D%2Cseq%5Btuple%5BPSym%2CPType%5D%5D%2Cseq%5BFileIndex%5D%2Cint32%2Cseq%5B%5D" title="writeNifModule(config: ConfigRef; thisModule: int32; n: PNode;
|
||||
opsLog: seq[LogEntry]; replayActions: seq[PNode] = @[];
|
||||
implDeps: seq[int] = @[];
|
||||
reexportedModules: seq[(string, string)] = @[]; genericOffers: seq[tuple[
|
||||
generic, inst: PSym, concreteTypes: seq[PType], genericParamsCount: int]] = @[];
|
||||
typeOffers: seq[tuple[generic: PSym, inst: PType]] = @[];
|
||||
resolvedImportDeps: seq[FileIndex] = @[];
|
||||
firstUnusedId: int32 = 0;
|
||||
expansions: seq[(PSym, TLineInfo)] = @[])">writeNifModule(config: ConfigRef; thisModule: int32; n: PNode;
|
||||
opsLog: seq[LogEntry]; replayActions: seq[PNode] = @[];
|
||||
implDeps: seq[int] = @[];
|
||||
reexportedModules: seq[(string, string)] = @[]; genericOffers: seq[tuple[
|
||||
generic, inst: PSym, concreteTypes: seq[PType], genericParamsCount: int]] = @[];
|
||||
typeOffers: seq[tuple[generic: PSym, inst: PType]] = @[];
|
||||
resolvedImportDeps: seq[FileIndex] = @[];
|
||||
firstUnusedId: int32 = 0;
|
||||
expansions: seq[(PSym, TLineInfo)] = @[])</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeSemDeps
|
||||
<li><a class="reference" href="#writeSemDeps%2CConfigRef%2Cint32%2Cseq%5Bstring%5D" title="writeSemDeps(config: ConfigRef; thisModule: int32; importPaths: seq[string])">writeSemDeps(config: ConfigRef; thisModule: int32; importPaths: seq[string])</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">AST to NIF bridge.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="astdef.html">astdef</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="icmodnames.html">icmodnames</a>, <a class="reference external" href="typekeys.html">typekeys</a>, <a class="reference external" href="icnifcore.html">icnifcore</a>, <a class="reference external" href="ic/enum2nif.html">ic/enum2nif</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="DecodeContext">
|
||||
<dt><pre><a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L1901" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L1901" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="LoadFlag">
|
||||
<dt><pre><a href="#LoadFlag"><span class="Identifier">LoadFlag</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">LoadFullAst</span><span class="Other">,</span> <span class="Identifier">AlwaysLoadInterface</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2030" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2030" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="ModuleSuffix">
|
||||
<dt><pre><a href="#ModuleSuffix"><span class="Identifier">ModuleSuffix</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">string</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L3095" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L3095" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="ParsedSymName">
|
||||
<dt><pre><a href="#ParsedSymName"><span class="Identifier">ParsedSymName</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">name</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
||||
<span class="Identifier">module</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
||||
<span class="Identifier">count</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L353" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L353" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="PrecompiledModule">
|
||||
<dt><pre><a href="#PrecompiledModule"><span class="Identifier">PrecompiledModule</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">topLevel</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a>
|
||||
<span class="Identifier">deps</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="#ModuleSuffix"><span class="Identifier">ModuleSuffix</span></a><span class="Other">]</span>
|
||||
<span class="Identifier">logOps</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#LogEntry"><span class="Identifier">LogEntry</span></a><span class="Other">]</span>
|
||||
<span class="Identifier">module</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a>
|
||||
<span class="Identifier">reexportedModules</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Other">(</span><span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">]</span>
|
||||
<span class="Identifier">genericOffers</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">generic</span><span class="Other">,</span> <span class="Identifier">inst</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">,</span> <span class="Identifier">concreteTypes</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">genericParamsCount</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">]</span><span class="Other">]</span> <span class="Comment">## generic instances this module created; modulegraphs.nim rebuilds</span>
|
||||
<span class="Comment">## `procInstCache` from them so a consumer reuses the instance instead of</span>
|
||||
<span class="Comment">## re-instantiating it in its own (operator-blind) module scope.</span>
|
||||
<span class="Identifier">typeOffers</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">generic</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">,</span> <span class="Identifier">inst</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">]</span><span class="Other">]</span> <span class="Comment">## generic TYPE instances this module created; modulegraphs.nim rebuilds</span>
|
||||
<span class="Comment">## `typeInstCache` from them so a consumer reuses the baked instance</span>
|
||||
<span class="Comment">## (e.g. a `mixin`/`compiles()`-dependent array bound) instead of</span>
|
||||
<span class="Comment">## re-instantiating it with a different bound in its own scope.</span>
|
||||
<span class="Identifier">includes</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L3096" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L3096" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="BackendLocalMarker">
|
||||
<dt><pre><a href="#BackendLocalMarker"><span class="Identifier">BackendLocalMarker</span></a> <span class="Other">=</span> <span class="StringLit">"@bk"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
Suffix marker for a PROCESS-LOCAL backend-minted entity (a closure <tt class="docutils literal"><span class="pre"><span class="Punctuation">:</span><span class="Identifier">env</span></span></tt> type/obj/field/hidden-param minted while the VM compiles a routine body to run a macro). Such entities have no stable cross-process identity, so each module that references one emits its OWN module-local def named <tt class="docutils literal"><span class="pre"><span class="Identifier">…</span><span class="Operator"><</span><span class="Identifier">thisModuleSuffix</span><span class="Operator">>@</span><span class="Identifier">bk</span></span></tt> and the loader homes it to the reading module with a <tt class="docutils literal"><span class="pre"><span class="Identifier">backendItemId</span></span></tt> (disjoint from real ids). See transf.transformBody. Reserved module-suffix sentinel for module-less magic singleton types — the <tt class="docutils literal"><span class="pre"><span class="Keyword">nil</span></span></tt> type is created via <tt class="docutils literal"><span class="pre"><span class="Identifier">newSysType</span></span></tt> with the graph idgen, whose <tt class="docutils literal"><span class="pre"><span class="Identifier">module</span></span></tt> can be <tt class="docutils literal"><span class="pre"><span class="Operator">-</span><span class="DecNumber">1</span></span></tt> (e.g. during VM const-eval before a real module is current), so its <tt class="docutils literal"><span class="pre"><span class="Identifier">uniqueId</span><span class="Operator">.</span><span class="Identifier">module</span></span></tt> is unresolvable. Such a type has no fields and an identity that is fully captured by its kind, so we serialize it with this sentinel and reconstruct it on load (see <tt class="docutils literal"><span class="pre"><span class="Identifier">createTypeStub</span></span></tt>) without ever touching a <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> file. A real <tt class="docutils literal"><span class="pre"><span class="Identifier">moduleSuffix</span></span></tt> never starts with '@'.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L39" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L39" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="SysModuleSuffix">
|
||||
<dt><pre><a href="#SysModuleSuffix"><span class="Identifier">SysModuleSuffix</span></a> <span class="Other">=</span> <span class="StringLit">"@sys"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L38" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L38" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="createDecodeContext-procs-all">
|
||||
<div id="createDecodeContext,ConfigRef,IdentCache">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#createDecodeContext%2CConfigRef%2CIdentCache"><span class="Identifier">createDecodeContext</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">)</span><span class="Other">:</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Supposed to be a global variable
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L1919" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L1919" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="firstSon-procs-all">
|
||||
<div id="firstSon,Cursor">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#firstSon%2CCursor"><span class="Identifier">firstSon</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">Cursor</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Cursor</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Non-consuming peek at the first child of a TagLit. The <tt class="docutils literal"><span class="pre"><span class="Identifier">inc</span></span></tt> is on a copy, so it never advances the caller's cursor.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L1859" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L1859" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getMainModuleSuffix-procs-all">
|
||||
<div id="getMainModuleSuffix,DecodeContext">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getMainModuleSuffix%2CDecodeContext"><span class="Identifier">getMainModuleSuffix</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2006" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2006" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="globalName-procs-all">
|
||||
<div id="globalName,PSym,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#globalName%2CPSym%2CConfigRef"><span class="Identifier">globalName</span></a><span class="Other">(</span><span class="Identifier">sym</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L337" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L337" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="icNifTypeName-procs-all">
|
||||
<div id="icNifTypeName,PType,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#icNifTypeName%2CPType%2CConfigRef"><span class="Identifier">icNifTypeName</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
The serialized NIF name of a type, recorded next to RTTI data definitions in the cnif artifact so a later run can re-demand the typeinfo when a reused TU still references it (the def-retention check). Backend-minted types have no NIF name.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L68" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L68" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isStub-procs-all">
|
||||
<div id="isStub,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isStub%2CPSym"><span class="Identifier">isStub</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2415" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2415" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="isStub,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isStub%2CPType"><span class="Identifier">isStub</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2414" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2414" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadedModuleTypes-procs-all">
|
||||
<div id="loadedModuleTypes,DecodeContext,FileIndex">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadedModuleTypes%2CDecodeContext%2CFileIndex"><span class="Identifier">loadedModuleTypes</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">]</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Stubs for every TYPE this module owns — but, unlike before, WITHOUT force- loading them. <tt class="docutils literal"><span class="pre"><span class="Identifier">writeLoweredModule</span></span></tt> emits a real def into the <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">t</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt> only for the ones already <tt class="docutils literal"><span class="pre"><span class="Identifier">Complete</span></span></tt> (= the lower stage actually loaded, hence possibly MUTATED — lambda-lifting flips a proc type to <tt class="docutils literal"><span class="pre"><span class="Identifier">ccClosure</span></span></tt> and grows env types with captured fields). Every untouched type stays <tt class="docutils literal"><span class="pre"><span class="Identifier">Partial</span></span></tt>, so a reference to it serializes as a <tt class="docutils literal"><span class="pre"><span class="Identifier">SymUse</span></span></tt> that a cg/emit consumer resolves from the <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt> (loader fallback <tt class="docutils literal"><span class="pre"><span class="Identifier">typeCursor</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">ensureSemBuf</span></span></tt>) — the lower stage leaves those defs unchanged, so re-emitting them into <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">t</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt> was pure cost. Collect names first: <tt class="docutils literal"><span class="pre"><span class="Identifier">createTypeStub</span></span></tt> may register modules / mutate <tt class="docutils literal"><span class="pre"><span class="Identifier">c</span><span class="Operator">.</span><span class="Identifier">types</span></span></tt>, which must not invalidate the index iterator.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2989" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2989" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadNifModule-procs-all">
|
||||
<div id="loadNifModule,DecodeContext,FileIndex,TStrTable,TStrTable,set[LoadFlag]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadNifModule%2CDecodeContext%2CFileIndex%2CTStrTable%2CTStrTable%2Cset%5BLoadFlag%5D"><span class="Identifier">loadNifModule</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">interf</span><span class="Other">,</span> <span class="Identifier">interfHidden</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">flags</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="#LoadFlag"><span class="Identifier">LoadFlag</span></a><span class="Other">]</span> <span class="Other">=</span> <span class="Other">{</span><span class="Other">}</span><span class="Other">)</span><span class="Other">:</span> <a href="#PrecompiledModule"><span class="Identifier">PrecompiledModule</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L3394" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L3394" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="loadNifModule,DecodeContext,ModuleSuffix,TStrTable,TStrTable,set[LoadFlag]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadNifModule%2CDecodeContext%2CModuleSuffix%2CTStrTable%2CTStrTable%2Cset%5BLoadFlag%5D"><span class="Identifier">loadNifModule</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">suffix</span><span class="Other">:</span> <a href="#ModuleSuffix"><span class="Identifier">ModuleSuffix</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">interf</span><span class="Other">,</span> <span class="Identifier">interfHidden</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">flags</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="#LoadFlag"><span class="Identifier">LoadFlag</span></a><span class="Other">]</span> <span class="Other">=</span> <span class="Other">{</span><span class="Other">}</span><span class="Other">)</span><span class="Other">:</span> <a href="#PrecompiledModule"><span class="Identifier">PrecompiledModule</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L3372" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L3372" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadSym-procs-all">
|
||||
<div id="loadSym,DecodeContext,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadSym%2CDecodeContext%2CPSym"><span class="Identifier">loadSym</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2622" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2622" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadType-procs-all">
|
||||
<div id="loadType,DecodeContext,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadType%2CDecodeContext%2CPType"><span class="Identifier">loadType</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2498" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2498" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="materializeLazyBody-procs-all">
|
||||
<div id="materializeLazyBody,DecodeContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#materializeLazyBody%2CDecodeContext%2CPNode"><span class="Identifier">materializeLazyBody</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">node</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Fill a <tt class="docutils literal"><span class="pre"><span class="Identifier">nfLazyBody</span></span></tt> placeholder's children in place (identity-preserving: callers already hold <tt class="docutils literal"><span class="pre"><span class="Identifier">node</span></span></tt>). Decodes the deferred body from the stashed cursor with the enclosing def's <tt class="docutils literal"><span class="pre"><span class="Identifier">localSyms</span></span></tt> so param/local refs resolve to the SAME PSyms the signature created.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2892" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2892" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="moduleSymbolStubs-procs-all">
|
||||
<div id="moduleSymbolStubs,DecodeContext,FileIndex">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#moduleSymbolStubs%2CDecodeContext%2CFileIndex"><span class="Identifier">moduleSymbolStubs</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">]</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<p>Stubs for every non-type symbol serialized in <tt class="docutils literal"><span class="pre"><span class="Identifier">module</span></span></tt>'s NIF index. The per-module backend uses this to emit the routines a module OWNS: procs are serialized as <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">sd</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> symbol-defs and loaded lazily, never as <tt class="docutils literal"><span class="pre"><span class="Identifier">nkProcDef</span></span></tt> statements in the top-level stmt list, so <tt class="docutils literal"><span class="pre"><span class="Identifier">genTopLevelStmt</span></span></tt> alone never reaches them — without this, a routine called only from other modules would be emitted by nobody once the demanding module merely prototypes it.</p>
|
||||
<p>Returns lazy stubs: the index table is moved out while iterating (loading a symbol can register new modules and invalidate the iterator), so the caller forces full load (<tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">kind</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">ast</span></span></tt>) and filters AFTER this returns, with the index back in place.</p>
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2966" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2966" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="nextBackendSymItem-procs-all">
|
||||
<div id="nextBackendSymItem,DecodeContext,int32">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#nextBackendSymItem%2CDecodeContext%2Cint32"><span class="Identifier">nextBackendSymItem</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <span class="Identifier">int32</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int32</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Allocate the next backend-minted SYM item for <tt class="docutils literal"><span class="pre"><span class="Identifier">module</span></span></tt> from the SAME per-module counter the loader uses when it re-homes <tt class="docutils literal"><span class="pre"><span class="Operator">@</span><span class="Identifier">bk</span></span></tt> syms loaded from the module's <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">t</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt> (loadSymStub/extractLocalSymsFromTree). The <tt class="docutils literal"><span class="pre"><span class="Identifier">lower</span></span></tt> stage serializes its lifted hooks/temps as <tt class="docutils literal"><span class="pre"><span class="Operator">@</span><span class="Identifier">bk</span></span></tt> syms, and cg mints MORE backend syms (RTTI destroy wrappers, ...) into the same module. Both are keyed by <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">id</span></span></tt> (= <tt class="docutils literal"><span class="pre"><span class="Identifier">toId</span><span class="Punctuation">(</span><span class="Identifier">itemId</span><span class="Punctuation">)</span></span></tt>) in <tt class="docutils literal"><span class="pre"><span class="Identifier">declaredThings</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">declaredProtos</span></span></tt>, so if the two id producers (the loader's <tt class="docutils literal"><span class="pre"><span class="Identifier">symCounter</span></span></tt> and cg's idgen) ran independently they could mint the same item: e.g. a <tt class="docutils literal"><span class="pre"><span class="Identifier">rttiDestroy</span></span></tt> wrapper and the very <tt class="docutils literal"><span class="pre"><span class="Operator">=</span><span class="Identifier">destroy</span></span></tt> hook it wraps both land on backend item 21 -> one masks the other in <tt class="docutils literal"><span class="pre"><span class="Identifier">declaredThings</span></span></tt> -> the hook's body is never emitted -> "undefined reference" at link. Drawing every backend sym from this one counter keeps them disjoint. Returns -1 if the module is not loaded yet (then the caller falls back to the idgen's own counter — only reachable for sem-time <tt class="docutils literal"><span class="pre"><span class="Operator">@</span><span class="Identifier">bk</span></span></tt> minting, whose module is never loaded in that process).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L1967" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L1967" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="nextBackendTypeItem-procs-all">
|
||||
<div id="nextBackendTypeItem,DecodeContext,int32">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#nextBackendTypeItem%2CDecodeContext%2Cint32"><span class="Identifier">nextBackendTypeItem</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <span class="Identifier">int32</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int32</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
TYPE analogue of <tt class="docutils literal"><span class="pre"><span class="Identifier">nextBackendSymItem</span></span></tt>: the <tt class="docutils literal"><span class="pre"><span class="Identifier">lower</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">cg</span></span></tt> stages mint fresh backend TYPES (closure-env objects, ptr wrappers) whose itemId must not collide with the module's loaded types. Drawn from the per-module <tt class="docutils literal"><span class="pre"><span class="Identifier">typeCounter</span></span></tt>, which <tt class="docutils literal"><span class="pre"><span class="Identifier">moduleId</span></span></tt> seeds from the file's <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">unusedid</span><span class="Punctuation">)</span></span></tt> so the first minted type sits ABOVE every frontend/lowered type item. Returns -1 if the module is not loaded (caller falls back to the idgen's own counter).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L1988" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L1988" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="nifModuleHasIncludes-procs-all">
|
||||
<div id="nifModuleHasIncludes,ConfigRef,FileIndex">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#nifModuleHasIncludes%2CConfigRef%2CFileIndex"><span class="Identifier">nifModuleHasIncludes</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">fileIdx</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Cheap header-only check: does the module's <tt class="docutils literal"><span class="pre"><span class="Operator"><</span><span class="Identifier">suffix</span><span class="Operator">>.</span><span class="Identifier">nif</span></span></tt> contain an <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Keyword">include</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> record? Used by nimsuggest (<tt class="docutils literal"><span class="pre"><span class="Identifier">moduleFromNifFile</span></span></tt>) to refuse to NIF-serve modules that <tt class="docutils literal"><span class="pre"><span class="Keyword">include</span></span></tt> files, so the includer is source-compiled and the included symbols never round-trip through NIF (which mishandles their owner/line-info on reload).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L3182" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L3182" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="parseSymName-procs-all">
|
||||
<div id="parseSymName,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parseSymName%2Cstring"><span class="Identifier">parseSymName</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="#ParsedSymName"><span class="Identifier">ParsedSymName</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L358" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L358" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="registerNifAstTags-procs-all">
|
||||
<div id="registerNifAstTags">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#registerNifAstTags"><span class="Identifier">registerNifAstTags</span></a><span class="Other">(</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
(Re)registers ast2nif's NIF tags explicitly. The top-level <tt class="docutils literal"><span class="pre"><span class="Identifier">registerTag</span></span></tt> initializers above depend on <tt class="docutils literal"><span class="pre"><span class="Identifier">nifstreams</span><span class="Operator">.</span><span class="Identifier">pool</span></span></tt> having been initialized FIRST (<tt class="docutils literal"><span class="pre"><span class="Identifier">pool</span> <span class="Operator">=</span> <span class="Identifier">createLiterals</span><span class="Punctuation">(</span><span class="Identifier">TagData</span><span class="Punctuation">)</span></span></tt> in nifstreams' module init) — an inter-module init-order requirement. The IC-built compiler currently emits module init calls in a different order, so the initializers registered into a pool that was subsequently replaced: the tag ids then denoted builtin tags (<tt class="docutils literal"><span class="pre"><span class="Identifier">replay</span></span></tt> came out as <tt class="docutils literal"><span class="pre"><span class="Identifier">deref</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">repdestroy</span></span></tt> as <tt class="docutils literal"><span class="pre"><span class="Identifier">pat</span></span></tt>, ...) and every written NIF was silently corrupted. Called from <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt> before any command runs; idempotent (<tt class="docutils literal"><span class="pre"><span class="Identifier">getOrIncl</span></span></tt> by name).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L915" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L915" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="resolveHookSym-procs-all">
|
||||
<div id="resolveHookSym,DecodeContext,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#resolveHookSym%2CDecodeContext%2Cstring"><span class="Identifier">resolveHookSym</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2667" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2667" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="scanIncludeGraph-procs-all">
|
||||
<div id="scanIncludeGraph,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#scanIncludeGraph%2CConfigRef"><span class="Identifier">scanIncludeGraph</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span>
|
||||
<span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">includer</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">includes</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">]</span><span class="Other">]</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<p>Standalone "full table" scan of every <tt class="docutils literal"><span class="pre"><span class="Operator"><</span><span class="Identifier">suffix</span><span class="Operator">>.</span><span class="Identifier">nif</span></span></tt> in the nimcache: reads only each module's header records — <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">modulesrc</span> <span class="StringLit">"path"</span><span class="Punctuation">)</span></span></tt> (the includer's own source) and <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Keyword">include</span> <span class="Operator">.</span> <span class="Operator">.</span> <span class="StringLit">"path"</span><span class="Operator">...</span><span class="Punctuation">)</span></span></tt> (resolved included files) — and returns (includerSource, includedSources) pairs for the modules that <tt class="docutils literal"><span class="pre"><span class="Keyword">include</span></span></tt> anything. No <tt class="docutils literal"><span class="pre"><span class="Identifier">DecodeContext</span></span></tt>, no symbol/index loading: it parses the few dep tokens at the top of the file and stops at the first non-dep node.</p>
|
||||
<p>Used by nimsuggest to answer, for a cold-opened <em>include</em> file, "which module includes me?" without NIF-loading that module — so the includer can be <em>source</em>-compiled (modules that <tt class="docutils literal"><span class="pre"><span class="Keyword">include</span></span></tt> files are never served from NIF).</p>
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L3136" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L3136" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="sealLoadedRoutines-procs-all">
|
||||
<div id="sealLoadedRoutines,DecodeContext">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#sealLoadedRoutines%2CDecodeContext"><span class="Identifier">sealLoadedRoutines</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Before <tt class="docutils literal"><span class="pre"><span class="Identifier">writeLoweredModule</span></span></tt> re-serializes the lowered module, seal ONLY the module's ROUTINE syms. A <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">t</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> written by <tt class="docutils literal"><span class="pre"><span class="Identifier">writeLoweredModule</span></span></tt> is the SOLE source the <tt class="docutils literal"><span class="pre"><span class="Identifier">cg</span></span></tt> stage loads (there is no <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> fallback for its bodies), so every type, global, param and local must still emit a REAL def in it — only cross-routine references may be <tt class="docutils literal"><span class="pre"><span class="Identifier">SymUse</span></span></tt>s (each routine's def is emitted once, at module scope, by the explicit stub loop). Types/globals stay <tt class="docutils literal"><span class="pre"><span class="Identifier">Complete</span></span></tt> so <tt class="docutils literal"><span class="pre"><span class="Identifier">writeType</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">writeGlobals</span></span></tt> emit them; routines become <tt class="docutils literal"><span class="pre"><span class="Identifier">Sealed</span></span></tt> so a body referencing another routine writes a <tt class="docutils literal"><span class="pre"><span class="Identifier">SymUse</span></span></tt> resolved through the module index.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2653" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2653" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="setMainModule-procs-all">
|
||||
<div id="setMainModule,DecodeContext,FileIndex">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#setMainModule%2CDecodeContext%2CFileIndex"><span class="Identifier">setMainModule</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">fileIdx</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Records the module that is being compiled fresh so that re-exports of its own symbols by dependencies are not turned into duplicate stubs.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L2001" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L2001" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="toClassSymId-procs-all">
|
||||
<div id="toClassSymId,ConfigRef,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toClassSymId%2CConfigRef%2CItemId"><span class="Identifier">toClassSymId</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typeId</span><span class="Other">:</span> <a href="itemids.html#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">nifstreams</span><span class="Other">.</span><span class="Identifier">SymId</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Converts a type ItemId to its SymId for the class index.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L112" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L112" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="toConverterIndexEntry-procs-all">
|
||||
<div id="toConverterIndexEntry,ConfigRef,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toConverterIndexEntry%2CConfigRef%2CPSym"><span class="Identifier">toConverterIndexEntry</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">converterSym</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Other">(</span>
|
||||
<span class="Identifier">nifstreams</span><span class="Other">.</span><span class="Identifier">SymId</span><span class="Other">,</span> <span class="Identifier">nifstreams</span><span class="Other">.</span><span class="Identifier">SymId</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Converts a converter symbol to an index entry (destType, converterSym). Returns the destination type's SymId and the converter's SymId.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L89" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L89" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="toHookIndexEntry-procs-all">
|
||||
<div id="toHookIndexEntry,ConfigRef,ItemId,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toHookIndexEntry%2CConfigRef%2CItemId%2CPSym"><span class="Identifier">toHookIndexEntry</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typeId</span><span class="Other">:</span> <a href="itemids.html#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">;</span> <span class="Identifier">hookSym</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">HookIndexEntry</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Converts a type ItemId and hook symbol to a HookIndexEntry for the NIF index.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L78" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L78" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="toMethodIndexEntry-procs-all">
|
||||
<div id="toMethodIndexEntry,ConfigRef,PSym,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toMethodIndexEntry%2CConfigRef%2CPSym%2Cstring"><span class="Identifier">toMethodIndexEntry</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">methodSym</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">signature</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Other">(</span>
|
||||
<span class="Identifier">nifstreams</span><span class="Other">.</span><span class="Identifier">SymId</span><span class="Other">,</span> <span class="Identifier">nifstreams</span><span class="Other">.</span><span class="Identifier">StrId</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Converts a method symbol/signature to a method index entry.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L104" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L104" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="toNifFilename-procs-all">
|
||||
<div id="toNifFilename,ConfigRef,FileIndex">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toNifFilename%2CConfigRef%2CFileIndex"><span class="Identifier">toNifFilename</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L3009" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L3009" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="tryResolveCompilerProc-procs-all">
|
||||
<div id="tryResolveCompilerProc,DecodeContext,string,FileIndex">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#tryResolveCompilerProc%2CDecodeContext%2Cstring%2CFileIndex"><span class="Identifier">tryResolveCompilerProc</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span>
|
||||
<span class="Identifier">moduleFileIdx</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Tries to resolve a compiler proc from a module by checking the NIF index. Returns nil if the symbol doesn't exist. The NIF disamb is mint order, so <tt class="docutils literal"><span class="pre"><span class="Identifier">name</span><span class="Operator">.</span><span class="FloatNumber">0.</span></span></tt> can be any of the overloads sharing the name — for <tt class="docutils literal"><span class="pre"><span class="Identifier">newSeq</span></span></tt> it is the generic magic, not the RTL proc (a refc build then demands codegen of the generic and dies on <tt class="docutils literal"><span class="pre"><span class="Identifier">seq</span><span class="Punctuation">[</span><span class="Identifier">T</span><span class="Punctuation">]</span></span></tt>): enumerate the index entries with this basename and pick the one that carries <tt class="docutils literal"><span class="pre"><span class="Identifier">sfCompilerProc</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L3054" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L3054" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeLoweredModule-procs-all">
|
||||
<div id="writeLoweredModule,DecodeContext,ConfigRef,PrecompiledModule,openArray[LogEntry],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeLoweredModule%2CDecodeContext%2CConfigRef%2CPrecompiledModule%2CopenArray%5BLogEntry%5D%2Cstring"><span class="Identifier">writeLoweredModule</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#DecodeContext"><span class="Identifier">DecodeContext</span></a><span class="Other">;</span> <span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">precomp</span><span class="Other">:</span> <a href="#PrecompiledModule"><span class="Identifier">PrecompiledModule</span></a><span class="Other">;</span> <span class="Identifier">hooks</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><a href="astdef.html#LogEntry"><span class="Identifier">LogEntry</span></a><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">outfile</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Re-serialize a backend-loaded module as a FULL module NIF (<tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">t</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt>) whose routine <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">sd</span><span class="Punctuation">)</span></span></tt> entries carry their TRANSFORMED bodies (the <tt class="docutils literal"><span class="pre"><span class="Identifier">lower</span></span></tt> stage set them, recursively lifting nested closures — including the async state-machine procs whose inner closure the per-<tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">lowered</span><span class="Punctuation">)</span></span></tt>-entry path failed to cross) and whose lambda-lift-minted entities (closure-env types/syms, lifted nested procs) are real, indexed defs. The <tt class="docutils literal"><span class="pre"><span class="Identifier">cg</span></span></tt> stage then loads it through the normal module loader (<tt class="docutils literal"><span class="pre"><span class="Identifier">moduleFromNifFile</span></span></tt>), so a transformed body arrives via <tt class="docutils literal"><span class="pre"><span class="Identifier">loadSymFromCursor</span></span></tt>'s Step-A 2-way-body slot WITH the lifted signature — no <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">lowered</span><span class="Punctuation">)</span></span></tt> side-car, no <tt class="docutils literal"><span class="pre"><span class="Punctuation">:</span><span class="Identifier">envP</span></span></tt> re-weld. This realizes <tt class="docutils literal"><span class="pre"><span class="Identifier">ic_ideas</span><span class="Operator">.</span><span class="Identifier">md</span></span></tt>'s eager two-way body whole-module.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L3399" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L3399" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeNifModule-procs-all">
|
||||
<div id="writeNifModule,ConfigRef,int32,PNode,seq[LogEntry],seq[PNode],seq[int],seq[],seq[tuple[PSym,PSym,seq[PType],int]],seq[tuple[PSym,PType]],seq[FileIndex],int32,seq[]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeNifModule%2CConfigRef%2Cint32%2CPNode%2Cseq%5BLogEntry%5D%2Cseq%5BPNode%5D%2Cseq%5Bint%5D%2Cseq%5B%5D%2Cseq%5Btuple%5BPSym%2CPSym%2Cseq%5BPType%5D%2Cint%5D%5D%2Cseq%5Btuple%5BPSym%2CPType%5D%5D%2Cseq%5BFileIndex%5D%2Cint32%2Cseq%5B%5D"><span class="Identifier">writeNifModule</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">thisModule</span><span class="Other">:</span> <span class="Identifier">int32</span><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">opsLog</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#LogEntry"><span class="Identifier">LogEntry</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">replayActions</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">]</span> <span class="Other">=</span> <span class="Operator">@</span><span class="Other">[</span><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">implDeps</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">int</span><span class="Other">]</span> <span class="Other">=</span> <span class="Operator">@</span><span class="Other">[</span><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">reexportedModules</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Other">(</span><span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">]</span> <span class="Other">=</span> <span class="Operator">@</span><span class="Other">[</span><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">genericOffers</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">generic</span><span class="Other">,</span> <span class="Identifier">inst</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">,</span> <span class="Identifier">concreteTypes</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">genericParamsCount</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">]</span><span class="Other">]</span> <span class="Other">=</span> <span class="Operator">@</span><span class="Other">[</span><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">typeOffers</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">generic</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">,</span> <span class="Identifier">inst</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">]</span><span class="Other">]</span> <span class="Other">=</span> <span class="Operator">@</span><span class="Other">[</span><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">resolvedImportDeps</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">]</span> <span class="Other">=</span> <span class="Operator">@</span><span class="Other">[</span><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">firstUnusedId</span><span class="Other">:</span> <span class="Identifier">int32</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span>
|
||||
<span class="Identifier">expansions</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Other">(</span><a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">,</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">)</span><span class="Other">]</span> <span class="Other">=</span> <span class="Operator">@</span><span class="Other">[</span><span class="Other">]</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L1623" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L1623" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeSemDeps-procs-all">
|
||||
<div id="writeSemDeps,ConfigRef,int32,seq[string]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeSemDeps%2CConfigRef%2Cint32%2Cseq%5Bstring%5D"><span class="Identifier">writeSemDeps</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">thisModule</span><span class="Other">:</span> <span class="Identifier">int32</span><span class="Other">;</span> <span class="Identifier">importPaths</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<p>The module's REAL direct imports as <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">m</span></span></tt> sem resolved them — static plus any a macro generated — recorded as full source paths. <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt> reads this <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">deps</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> to re-derive the build graph: imports the static scanner missed become new nodes (replacing the old build-failure discovery loop), and <tt class="docutils literal"><span class="pre"><span class="Keyword">when</span> <span class="Identifier">false</span></span></tt> imports the scanner over-included are pruned. Always written so it is current after every successful sem (like <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">edges</span></span></tt>).</p>
|
||||
<p>Ported to nifcore: delegates to <tt class="docutils literal"><span class="pre"><span class="Identifier">icnifcore</span><span class="Operator">.</span><span class="Identifier">writeSemDeps</span></span></tt> (Stage 1 of the NIF-stack migration; see doc/ic_nifcore_port.md). Output is byte-identical to the previous <tt class="docutils literal"><span class="pre"><span class="Identifier">nifstreams</span></span></tt> writer.</p>
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast2nif.nim#L1610" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast2nif.nim#L1610" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:07 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
44
compiler/ast2nif.idx
Normal file
44
compiler/ast2nif.idx
Normal file
@@ -0,0 +1,44 @@
|
||||
nimTitle ast2nif ast2nif.html module ast2nif 0
|
||||
nim SysModuleSuffix ast2nif.html#SysModuleSuffix const SysModuleSuffix 38
|
||||
nim BackendLocalMarker ast2nif.html#BackendLocalMarker const BackendLocalMarker 39
|
||||
nim icNifTypeName ast2nif.html#icNifTypeName,PType,ConfigRef proc icNifTypeName(typ: PType; config: ConfigRef): string 68
|
||||
nim toHookIndexEntry ast2nif.html#toHookIndexEntry,ConfigRef,ItemId,PSym proc toHookIndexEntry(config: ConfigRef; typeId: ItemId; hookSym: PSym): HookIndexEntry 78
|
||||
nim toConverterIndexEntry ast2nif.html#toConverterIndexEntry,ConfigRef,PSym proc toConverterIndexEntry(config: ConfigRef; converterSym: PSym): (nifstreams.SymId,\n nifstreams.SymId) 89
|
||||
nim toMethodIndexEntry ast2nif.html#toMethodIndexEntry,ConfigRef,PSym,string proc toMethodIndexEntry(config: ConfigRef; methodSym: PSym; signature: string): (\n nifstreams.SymId, nifstreams.StrId) 104
|
||||
nim toClassSymId ast2nif.html#toClassSymId,ConfigRef,ItemId proc toClassSymId(config: ConfigRef; typeId: ItemId): nifstreams.SymId 112
|
||||
nim globalName ast2nif.html#globalName,PSym,ConfigRef proc globalName(sym: PSym; config: ConfigRef): string 337
|
||||
nim ParsedSymName ast2nif.html#ParsedSymName object ParsedSymName 353
|
||||
nim parseSymName ast2nif.html#parseSymName,string proc parseSymName(s: string): ParsedSymName 358
|
||||
nim registerNifAstTags ast2nif.html#registerNifAstTags proc registerNifAstTags() 915
|
||||
nim writeSemDeps ast2nif.html#writeSemDeps,ConfigRef,int32,seq[string] proc writeSemDeps(config: ConfigRef; thisModule: int32; importPaths: seq[string]) 1610
|
||||
nim writeNifModule ast2nif.html#writeNifModule,ConfigRef,int32,PNode,seq[LogEntry],seq[PNode],seq[int],seq[],seq[tuple[PSym,PSym,seq[PType],int]],seq[tuple[PSym,PType]],seq[FileIndex],int32,seq[] proc writeNifModule(config: ConfigRef; thisModule: int32; n: PNode;\n opsLog: seq[LogEntry]; replayActions: seq[PNode] = @[];\n implDeps: seq[int] = @[];\n reexportedModules: seq[(string, string)] = @[]; genericOffers: seq[tuple[\n generic, inst: PSym, concreteTypes: seq[PType], genericParamsCount: int]] = @[];\n typeOffers: seq[tuple[generic: PSym, inst: PType]] = @[];\n resolvedImportDeps: seq[FileIndex] = @[];\n firstUnusedId: int32 = 0;\n expansions: seq[(PSym, TLineInfo)] = @[]) 1623
|
||||
nim firstSon ast2nif.html#firstSon,Cursor proc firstSon(n: Cursor): Cursor 1859
|
||||
nim DecodeContext ast2nif.html#DecodeContext object DecodeContext 1901
|
||||
nim createDecodeContext ast2nif.html#createDecodeContext,ConfigRef,IdentCache proc createDecodeContext(config: ConfigRef; cache: IdentCache): DecodeContext 1919
|
||||
nim nextBackendSymItem ast2nif.html#nextBackendSymItem,DecodeContext,int32 proc nextBackendSymItem(c: var DecodeContext; module: int32): int32 1967
|
||||
nim nextBackendTypeItem ast2nif.html#nextBackendTypeItem,DecodeContext,int32 proc nextBackendTypeItem(c: var DecodeContext; module: int32): int32 1988
|
||||
nim setMainModule ast2nif.html#setMainModule,DecodeContext,FileIndex proc setMainModule(c: var DecodeContext; fileIdx: FileIndex) 2001
|
||||
nim getMainModuleSuffix ast2nif.html#getMainModuleSuffix,DecodeContext proc getMainModuleSuffix(c: DecodeContext): string 2006
|
||||
nim LoadFullAst ast2nif.html#LoadFullAst LoadFlag.LoadFullAst 2030
|
||||
nim AlwaysLoadInterface ast2nif.html#AlwaysLoadInterface LoadFlag.AlwaysLoadInterface 2030
|
||||
nim LoadFlag ast2nif.html#LoadFlag enum LoadFlag 2030
|
||||
nim isStub ast2nif.html#isStub,PType proc isStub(t: PType): bool 2414
|
||||
nim isStub ast2nif.html#isStub,PSym proc isStub(s: PSym): bool 2415
|
||||
nim loadType ast2nif.html#loadType,DecodeContext,PType proc loadType(c: var DecodeContext; t: PType) 2498
|
||||
nim loadSym ast2nif.html#loadSym,DecodeContext,PSym proc loadSym(c: var DecodeContext; s: PSym) 2622
|
||||
nim sealLoadedRoutines ast2nif.html#sealLoadedRoutines,DecodeContext proc sealLoadedRoutines(c: var DecodeContext) 2653
|
||||
nim resolveHookSym ast2nif.html#resolveHookSym,DecodeContext,string proc resolveHookSym(c: var DecodeContext; name: string): PSym 2667
|
||||
nim materializeLazyBody ast2nif.html#materializeLazyBody,DecodeContext,PNode proc materializeLazyBody(c: var DecodeContext; node: PNode) 2892
|
||||
nim moduleSymbolStubs ast2nif.html#moduleSymbolStubs,DecodeContext,FileIndex proc moduleSymbolStubs(c: var DecodeContext; module: FileIndex): seq[PSym] 2966
|
||||
nim loadedModuleTypes ast2nif.html#loadedModuleTypes,DecodeContext,FileIndex proc loadedModuleTypes(c: var DecodeContext; module: FileIndex): seq[PType] 2989
|
||||
nim toNifFilename ast2nif.html#toNifFilename,ConfigRef,FileIndex proc toNifFilename(conf: ConfigRef; f: FileIndex): string 3009
|
||||
nim tryResolveCompilerProc ast2nif.html#tryResolveCompilerProc,DecodeContext,string,FileIndex proc tryResolveCompilerProc(c: var DecodeContext; name: string;\n moduleFileIdx: FileIndex): PSym 3054
|
||||
nim ModuleSuffix ast2nif.html#ModuleSuffix type ModuleSuffix 3095
|
||||
nim PrecompiledModule ast2nif.html#PrecompiledModule object PrecompiledModule 3096
|
||||
nim scanIncludeGraph ast2nif.html#scanIncludeGraph,ConfigRef proc scanIncludeGraph(config: ConfigRef): seq[\n tuple[includer: string, includes: seq[string]]] 3136
|
||||
nim nifModuleHasIncludes ast2nif.html#nifModuleHasIncludes,ConfigRef,FileIndex proc nifModuleHasIncludes(config: ConfigRef; fileIdx: FileIndex): bool 3182
|
||||
nim loadNifModule ast2nif.html#loadNifModule,DecodeContext,ModuleSuffix,TStrTable,TStrTable,set[LoadFlag] proc loadNifModule(c: var DecodeContext; suffix: ModuleSuffix;\n interf, interfHidden: var TStrTable; flags: set[LoadFlag] = {}): PrecompiledModule 3372
|
||||
nim loadNifModule ast2nif.html#loadNifModule,DecodeContext,FileIndex,TStrTable,TStrTable,set[LoadFlag] proc loadNifModule(c: var DecodeContext; f: FileIndex;\n interf, interfHidden: var TStrTable; flags: set[LoadFlag] = {}): PrecompiledModule 3394
|
||||
nim writeLoweredModule ast2nif.html#writeLoweredModule,DecodeContext,ConfigRef,PrecompiledModule,openArray[LogEntry],string proc writeLoweredModule(c: var DecodeContext; config: ConfigRef;\n precomp: PrecompiledModule; hooks: openArray[LogEntry];\n outfile: string) 3399
|
||||
nimgrp isstub ast2nif.html#isStub-procs-all proc 2414
|
||||
nimgrp loadnifmodule ast2nif.html#loadNifModule-procs-all proc 3372
|
||||
893
compiler/astalgo.html
Normal file
893
compiler/astalgo.html
Normal file
@@ -0,0 +1,893 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>astalgo</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">astalgo</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#TIdentIter" title="TIdentIter = object
|
||||
h*: Hash
|
||||
name*: PIdent">TIdentIter</a></li>
|
||||
<li><a class="reference" href="#TIIPair" title="TIIPair {.final.} = object
|
||||
key*, val*: int">TIIPair</a></li>
|
||||
<li><a class="reference" href="#TIIPairSeq" title="TIIPairSeq = seq[TIIPair]">TIIPairSeq</a></li>
|
||||
<li><a class="reference" href="#TIITable" title="TIITable {.final.} = object
|
||||
counter*: int
|
||||
data*: TIIPairSeq">TIITable</a></li>
|
||||
<li><a class="reference" href="#TTabIter" title="TTabIter = object">TTabIter</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#InvalidKey" title="InvalidKey = -9223372036854775808">InvalidKey</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">[]=
|
||||
<li><a class="reference" href="#%5B%5D%3D%2CTIdTable%5BT%5D%2CItemId%2CT" title="`[]=`[T](t: var TIdTable[T]; key: ItemId; val: T)">`[]=`[T](t: var TIdTable[T]; key: ItemId; val: T)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">debug
|
||||
<li><a class="reference" href="#debug%2CPNode%2CConfigRef" title="debug(n: PNode; conf: ConfigRef = nil)">debug(n: PNode; conf: ConfigRef = nil)</a></li>
|
||||
<li><a class="reference" href="#debug%2CPSym%2CConfigRef" title="debug(n: PSym; conf: ConfigRef = nil)">debug(n: PSym; conf: ConfigRef = nil)</a></li>
|
||||
<li><a class="reference" href="#debug%2CPType%2CConfigRef" title="debug(n: PType; conf: ConfigRef = nil)">debug(n: PType; conf: ConfigRef = nil)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">firstIdentExcluding
|
||||
<li><a class="reference" href="#firstIdentExcluding%2CTIdentIter%2CTStrTable%2CPIdent%2CIntSet" title="firstIdentExcluding(ti: var TIdentIter; tab: TStrTable; s: PIdent;
|
||||
excluding: IntSet): PSym">firstIdentExcluding(ti: var TIdentIter; tab: TStrTable; s: PIdent;
|
||||
excluding: IntSet): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">fromSystem
|
||||
<li><a class="reference" href="#fromSystem%2CPSym" title="fromSystem(op: PSym): bool">fromSystem(op: PSym): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getModule
|
||||
<li><a class="reference" href="#getModule%2CPSym" title="getModule(s: PSym): PSym">getModule(s: PSym): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getNamedParamFromList
|
||||
<li><a class="reference" href="#getNamedParamFromList%2CPNode%2CPIdent" title="getNamedParamFromList(list: PNode; ident: PIdent): PSym">getNamedParamFromList(list: PNode; ident: PIdent): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getOrDefault
|
||||
<li><a class="reference" href="#getOrDefault%2CTIdTable%5BT%5D%2CItemId" title="getOrDefault[T](t: TIdTable[T]; key: ItemId): T">getOrDefault[T](t: TIdTable[T]; key: ItemId): T</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getSymFromList
|
||||
<li><a class="reference" href="#getSymFromList%2CPNode%2CPIdent%2Cint" title="getSymFromList(list: PNode; ident: PIdent; start: int = 0): PSym">getSymFromList(list: PNode; ident: PIdent; start: int = 0): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">hashNode
|
||||
<li><a class="reference" href="#hashNode%2CRootRef" title="hashNode(p: RootRef): Hash">hashNode(p: RootRef): Hash</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">iiTableGet
|
||||
<li><a class="reference" href="#iiTableGet%2CTIITable%2Cint" title="iiTableGet(t: TIITable; key: int): int">iiTableGet(t: TIITable; key: int): int</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">iiTablePut
|
||||
<li><a class="reference" href="#iiTablePut%2CTIITable%2Cint%2Cint" title="iiTablePut(t: var TIITable; key, val: int)">iiTablePut(t: var TIITable; key, val: int)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initIdentIter
|
||||
<li><a class="reference" href="#initIdentIter%2CTIdentIter%2CTStrTable%2CPIdent" title="initIdentIter(ti: var TIdentIter; tab: TStrTable; s: PIdent): PSym">initIdentIter(ti: var TIdentIter; tab: TStrTable; s: PIdent): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initIITable
|
||||
<li><a class="reference" href="#initIITable%2CTIITable" title="initIITable(x: var TIITable)">initIITable(x: var TIITable)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initTabIter
|
||||
<li><a class="reference" href="#initTabIter%2CTTabIter%2CTStrTable" title="initTabIter(ti: var TTabIter; tab: TStrTable): PSym">initTabIter(ti: var TTabIter; tab: TStrTable): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isDiscriminantField
|
||||
<li><a class="reference" href="#isDiscriminantField%2CPNode" title="isDiscriminantField(n: PNode): bool">isDiscriminantField(n: PNode): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">leValue
|
||||
<li><a class="reference" href="#leValue%2CPNode%2CPNode" title="leValue(a, b: PNode): bool">leValue(a, b: PNode): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">listSymbolNames
|
||||
<li><a class="reference" href="#listSymbolNames%2CopenArray%5BPSym%5D" title="listSymbolNames(symbols: openArray[PSym]): string">listSymbolNames(symbols: openArray[PSym]): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">lookupInRecord
|
||||
<li><a class="reference" href="#lookupInRecord%2CPNode%2CPIdent" title="lookupInRecord(n: PNode; field: PIdent): PSym">lookupInRecord(n: PNode; field: PIdent): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">nextIdentExcluding
|
||||
<li><a class="reference" href="#nextIdentExcluding%2CTIdentIter%2CTStrTable%2CIntSet" title="nextIdentExcluding(ti: var TIdentIter; tab: TStrTable; excluding: IntSet): PSym">nextIdentExcluding(ti: var TIdentIter; tab: TStrTable; excluding: IntSet): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">nextIdentIter
|
||||
<li><a class="reference" href="#nextIdentIter%2CTIdentIter%2CTStrTable" title="nextIdentIter(ti: var TIdentIter; tab: TStrTable): PSym">nextIdentIter(ti: var TIdentIter; tab: TStrTable): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">nextIter
|
||||
<li><a class="reference" href="#nextIter%2CTTabIter%2CTStrTable" title="nextIter(ti: var TTabIter; tab: TStrTable): PSym">nextIter(ti: var TTabIter; tab: TStrTable): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">objectSetContains
|
||||
<li><a class="reference" href="#objectSetContains%2CTObjectSet%2CRootRef" title="objectSetContains(t: TObjectSet; obj: RootRef): bool">objectSetContains(t: TObjectSet; obj: RootRef): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">objectSetContainsOrIncl
|
||||
<li><a class="reference" href="#objectSetContainsOrIncl%2CTObjectSet%2CRootRef" title="objectSetContainsOrIncl(t: var TObjectSet; obj: RootRef): bool">objectSetContainsOrIncl(t: var TObjectSet; obj: RootRef): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">objectSetIncl
|
||||
<li><a class="reference" href="#objectSetIncl%2CTObjectSet%2CRootRef" title="objectSetIncl(t: var TObjectSet; obj: RootRef)">objectSetIncl(t: var TObjectSet; obj: RootRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">sameValue
|
||||
<li><a class="reference" href="#sameValue%2CPNode%2CPNode" title="sameValue(a, b: PNode): bool">sameValue(a, b: PNode): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">skipConvCastAndClosure
|
||||
<li><a class="reference" href="#skipConvCastAndClosure%2CPNode" title="skipConvCastAndClosure(n: PNode): PNode">skipConvCastAndClosure(n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">weakLeValue
|
||||
<li><a class="reference" href="#weakLeValue%2CPNode%2CPNode" title="weakLeValue(a, b: PNode): TImplication">weakLeValue(a, b: PNode): TImplication</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#15" id="65">Iterators</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">idTablePairs
|
||||
<li><a class="reference" href="#idTablePairs.i%2CTIdTable%5BT%5D" title="idTablePairs[T](t: TIdTable[T]): tuple[key: ItemId, val: T]">idTablePairs[T](t: TIdTable[T]): tuple[key: ItemId, val: T]</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">items
|
||||
<li><a class="reference" href="#items.i%2CTStrTable" title="items(tab: TStrTable): PSym">items(tab: TStrTable): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">debug
|
||||
<li><a class="reference" href="#debug.t%2Cauto" title="debug(x: auto)">debug(x: auto)</a></li>
|
||||
<li><a class="reference" href="#debug.t" title="debug(x: PSym | PType | PNode)">debug(x: PSym | PType | PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">idTableGet
|
||||
<li><a class="reference" href="#idTableGet.t%2CTIdTable%5BT%5D%2C" title="idTableGet[T](t: TIdTable[T]; key: PType | PSym): T">idTableGet[T](t: TIdTable[T]; key: PType | PSym): T</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">idTablePut
|
||||
<li><a class="reference" href="#idTablePut.t%2CTIdTable%5BT%5D%2C%2CT" title="idTablePut[T](t: var TIdTable[T]; key: PType | PSym; val: T)">idTablePut[T](t: var TIdTable[T]; key: PType | PSym; val: T)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">mdbg
|
||||
<li><a class="reference" href="#mdbg.t" title="mdbg(): bool">mdbg(): bool</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#19" id="69">Exports</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="astyaml.html">astyaml</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="rodutils.html">rodutils</a>, <a class="reference external" href="msgs.html">msgs</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="TIdentIter">
|
||||
<dt><pre><a href="#TIdentIter"><span class="Identifier">TIdentIter</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">h</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">Hash</span>
|
||||
<span class="Identifier">name</span><span class="Operator">*</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L530" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L530" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TIIPair">
|
||||
<dt><pre><a href="#TIIPair"><span class="Identifier">TIIPair</span></a> {.<span class="Identifier">final</span>.} <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">key</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">val</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L77" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L77" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TIIPairSeq">
|
||||
<dt><pre><a href="#TIIPairSeq"><span class="Identifier">TIIPairSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="#TIIPair"><span class="Identifier">TIIPair</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L80" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L80" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TIITable">
|
||||
<dt><pre><a href="#TIITable"><span class="Identifier">TIITable</span></a> {.<span class="Identifier">final</span>.} <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">counter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
||||
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <a href="#TIIPairSeq"><span class="Identifier">TIIPairSeq</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L81" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L81" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TTabIter">
|
||||
<dt><pre><a href="#TTabIter"><span class="Identifier">TTabIter</span></a> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L582" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L582" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="InvalidKey">
|
||||
<dt><pre><a href="#InvalidKey"><span class="Identifier">InvalidKey</span></a> <span class="Other">=</span> <span class="DecNumber">-9223372036854775808</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L74" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L74" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="[]=-procs-all">
|
||||
<div id="[]=,TIdTable[T],ItemId,T">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%5B%5D%3D%2CTIdTable%5BT%5D%2CItemId%2CT"><span class="Identifier">`[]=`</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TIdTable"><span class="Identifier">TIdTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <a href="itemids.html#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">;</span> <span class="Identifier">val</span><span class="Other">:</span> <span class="Identifier">T</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L652" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L652" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="debug-procs-all">
|
||||
<div id="debug,PNode,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#debug%2CPNode%2CConfigRef"><span class="Identifier">debug</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a> <span class="Other">=</span> <span class="Keyword">nil</span><span class="Other">)</span> {.<span class="Identifier">exportc</span><span class="Other">:</span> <span class="StringLit">"debugNode"</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">,</span>
|
||||
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
<div class="deprecation-message">
|
||||
<b>Deprecated</b>
|
||||
</div>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L32" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L32" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="debug,PSym,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#debug%2CPSym%2CConfigRef"><span class="Identifier">debug</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a> <span class="Other">=</span> <span class="Keyword">nil</span><span class="Other">)</span> {.<span class="Identifier">exportc</span><span class="Other">:</span> <span class="StringLit">"debugSym"</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">,</span>
|
||||
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
<div class="deprecation-message">
|
||||
<b>Deprecated</b>
|
||||
</div>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L30" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L30" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="debug,PType,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#debug%2CPType%2CConfigRef"><span class="Identifier">debug</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a> <span class="Other">=</span> <span class="Keyword">nil</span><span class="Other">)</span> {.<span class="Identifier">exportc</span><span class="Other">:</span> <span class="StringLit">"debugType"</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">,</span>
|
||||
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
<div class="deprecation-message">
|
||||
<b>Deprecated</b>
|
||||
</div>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L31" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L31" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="firstIdentExcluding-procs-all">
|
||||
<div id="firstIdentExcluding,TIdentIter,TStrTable,PIdent,IntSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#firstIdentExcluding%2CTIdentIter%2CTStrTable%2CPIdent%2CIntSet"><span class="Identifier">firstIdentExcluding</span></a><span class="Other">(</span><span class="Identifier">ti</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TIdentIter"><span class="Identifier">TIdentIter</span></a><span class="Other">;</span> <span class="Identifier">tab</span><span class="Other">:</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">excluding</span><span class="Other">:</span> <span class="Identifier">IntSet</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L574" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L574" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="fromSystem-procs-all">
|
||||
<div id="fromSystem,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#fromSystem%2CPSym"><span class="Identifier">fromSystem</span></a><span class="Other">(</span><span class="Identifier">op</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L164" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L164" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getModule-procs-all">
|
||||
<div id="getModule,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getModule%2CPSym"><span class="Identifier">getModule</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L159" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L159" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getNamedParamFromList-procs-all">
|
||||
<div id="getNamedParamFromList,PNode,PIdent">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getNamedParamFromList%2CPNode%2CPIdent"><span class="Identifier">getNamedParamFromList</span></a><span class="Other">(</span><span class="Identifier">list</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">ident</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<p>Named parameters are special because a named parameter can be gensym'ed and then they have '`<number>' suffix that we need to ignore, see compiler / evaltempl.nim, snippet:</p>
|
||||
<p><pre class="listing"><span class="Identifier">result</span><span class="Operator">.</span><span class="Identifier">add</span> <span class="Identifier">newIdentNode</span><span class="Punctuation">(</span><span class="Identifier">getIdent</span><span class="Punctuation">(</span><span class="Identifier">c</span><span class="Operator">.</span><span class="Identifier">ic</span><span class="Punctuation">,</span> <span class="Identifier">x</span><span class="Operator">.</span><span class="Identifier">name</span><span class="Operator">.</span><span class="Identifier">s</span> <span class="Operator">&</span> <span class="StringLit">"</span><span class="EscapeSequence">\`</span><span class="StringLit">gensym"</span> <span class="Operator">&</span> <span class="Operator">$</span><span class="Identifier">x</span><span class="Operator">.</span><span class="Identifier">id</span><span class="Punctuation">)</span><span class="Punctuation">,</span>
|
||||
<span class="Keyword">if</span> <span class="Identifier">c</span><span class="Operator">.</span><span class="Identifier">instLines</span><span class="Punctuation">:</span> <span class="Identifier">actual</span><span class="Operator">.</span><span class="Identifier">info</span> <span class="Keyword">else</span><span class="Punctuation">:</span> <span class="Identifier">templ</span><span class="Operator">.</span><span class="Identifier">info</span><span class="Punctuation">)</span></pre></p>
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L200" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L200" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getOrDefault-procs-all">
|
||||
<div id="getOrDefault,TIdTable[T],ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getOrDefault%2CTIdTable%5BT%5D%2CItemId"><span class="Identifier">getOrDefault</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#TIdTable"><span class="Identifier">TIdTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <a href="itemids.html#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">T</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L633" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L633" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getSymFromList-procs-all">
|
||||
<div id="getSymFromList,PNode,PIdent,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getSymFromList%2CPNode%2CPIdent%2Cint"><span class="Identifier">getSymFromList</span></a><span class="Other">(</span><span class="Identifier">list</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">ident</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">;</span> <span class="Identifier">start</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L165" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L165" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="hashNode-procs-all">
|
||||
<div id="hashNode,RootRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hashNode%2CRootRef"><span class="Identifier">hashNode</span></a><span class="Other">(</span><span class="Identifier">p</span><span class="Other">:</span> <span class="Identifier">RootRef</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Hash</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L26" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L26" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="iiTableGet-procs-all">
|
||||
<div id="iiTableGet,TIITable,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#iiTableGet%2CTIITable%2Cint"><span class="Identifier">iiTableGet</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="#TIITable"><span class="Identifier">TIITable</span></a><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L87" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L87" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="iiTablePut-procs-all">
|
||||
<div id="iiTablePut,TIITable,int,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#iiTablePut%2CTIITable%2Cint%2Cint"><span class="Identifier">iiTablePut</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TIITable"><span class="Identifier">TIITable</span></a><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">,</span> <span class="Identifier">val</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L88" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L88" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initIdentIter-procs-all">
|
||||
<div id="initIdentIter,TIdentIter,TStrTable,PIdent">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initIdentIter%2CTIdentIter%2CTStrTable%2CPIdent"><span class="Identifier">initIdentIter</span></a><span class="Other">(</span><span class="Identifier">ti</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TIdentIter"><span class="Identifier">TIdentIter</span></a><span class="Other">;</span> <span class="Identifier">tab</span><span class="Other">:</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L552" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L552" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initIITable-procs-all">
|
||||
<div id="initIITable,TIITable">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initIITable%2CTIITable"><span class="Identifier">initIITable</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TIITable"><span class="Identifier">TIITable</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L86" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L86" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initTabIter-procs-all">
|
||||
<div id="initTabIter,TTabIter,TStrTable">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initTabIter%2CTTabIter%2CTStrTable"><span class="Identifier">initTabIter</span></a><span class="Other">(</span><span class="Identifier">ti</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TTabIter"><span class="Identifier">TTabIter</span></a><span class="Other">;</span> <span class="Identifier">tab</span><span class="Other">:</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L601" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L601" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isDiscriminantField-procs-all">
|
||||
<div id="isDiscriminantField,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isDiscriminantField%2CPNode"><span class="Identifier">isDiscriminantField</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L731" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L731" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="leValue-procs-all">
|
||||
<div id="leValue,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#leValue%2CPNode%2CPNode"><span class="Identifier">leValue</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L117" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L117" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="listSymbolNames-procs-all">
|
||||
<div id="listSymbolNames,openArray[PSym]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#listSymbolNames%2CopenArray%5BPSym%5D"><span class="Identifier">listSymbolNames</span></a><span class="Other">(</span><span class="Identifier">symbols</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L724" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L724" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="lookupInRecord-procs-all">
|
||||
<div id="lookupInRecord,PNode,PIdent">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#lookupInRecord%2CPNode%2CPIdent"><span class="Identifier">lookupInRecord</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">field</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L70" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L70" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="nextIdentExcluding-procs-all">
|
||||
<div id="nextIdentExcluding,TIdentIter,TStrTable,IntSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#nextIdentExcluding%2CTIdentIter%2CTStrTable%2CIntSet"><span class="Identifier">nextIdentExcluding</span></a><span class="Other">(</span><span class="Identifier">ti</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TIdentIter"><span class="Identifier">TIdentIter</span></a><span class="Other">;</span> <span class="Identifier">tab</span><span class="Other">:</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span> <span class="Identifier">excluding</span><span class="Other">:</span> <span class="Identifier">IntSet</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L558" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L558" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="nextIdentIter-procs-all">
|
||||
<div id="nextIdentIter,TIdentIter,TStrTable">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#nextIdentIter%2CTIdentIter%2CTStrTable"><span class="Identifier">nextIdentIter</span></a><span class="Other">(</span><span class="Identifier">ti</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TIdentIter"><span class="Identifier">TIdentIter</span></a><span class="Other">;</span> <span class="Identifier">tab</span><span class="Other">:</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L534" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L534" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="nextIter-procs-all">
|
||||
<div id="nextIter,TTabIter,TStrTable">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#nextIter%2CTTabIter%2CTStrTable"><span class="Identifier">nextIter</span></a><span class="Other">(</span><span class="Identifier">ti</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TTabIter"><span class="Identifier">TTabIter</span></a><span class="Other">;</span> <span class="Identifier">tab</span><span class="Other">:</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L585" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L585" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="objectSetContains-procs-all">
|
||||
<div id="objectSetContains,TObjectSet,RootRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#objectSetContains%2CTObjectSet%2CRootRef"><span class="Identifier">objectSetContains</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#TObjectSet"><span class="Identifier">TObjectSet</span></a><span class="Other">;</span> <span class="Identifier">obj</span><span class="Other">:</span> <span class="Identifier">RootRef</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L481" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L481" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="objectSetContainsOrIncl-procs-all">
|
||||
<div id="objectSetContainsOrIncl,TObjectSet,RootRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#objectSetContainsOrIncl%2CTObjectSet%2CRootRef"><span class="Identifier">objectSetContainsOrIncl</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TObjectSet"><span class="Identifier">TObjectSet</span></a><span class="Other">;</span> <span class="Identifier">obj</span><span class="Other">:</span> <span class="Identifier">RootRef</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L510" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L510" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="objectSetIncl-procs-all">
|
||||
<div id="objectSetIncl,TObjectSet,RootRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#objectSetIncl%2CTObjectSet%2CRootRef"><span class="Identifier">objectSetIncl</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TObjectSet"><span class="Identifier">TObjectSet</span></a><span class="Other">;</span> <span class="Identifier">obj</span><span class="Other">:</span> <span class="Identifier">RootRef</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L505" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L505" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="sameValue-procs-all">
|
||||
<div id="sameValue,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#sameValue%2CPNode%2CPNode"><span class="Identifier">sameValue</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L103" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L103" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="skipConvCastAndClosure-procs-all">
|
||||
<div id="skipConvCastAndClosure,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#skipConvCastAndClosure%2CPNode"><span class="Identifier">skipConvCastAndClosure</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L92" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L92" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="weakLeValue-procs-all">
|
||||
<div id="weakLeValue,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#weakLeValue%2CPNode%2CPNode"><span class="Identifier">weakLeValue</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#TImplication"><span class="Identifier">TImplication</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L132" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L132" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="15">
|
||||
<h1><a class="toc-backref" href="#15">Iterators</a></h1>
|
||||
<dl class="item">
|
||||
<div id="idTablePairs-iterators-all">
|
||||
<div id="idTablePairs.i,TIdTable[T]">
|
||||
<dt><pre><span class="Keyword">iterator</span> <a href="#idTablePairs.i%2CTIdTable%5BT%5D"><span class="Identifier">idTablePairs</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#TIdTable"><span class="Identifier">TIdTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">key</span><span class="Other">:</span> <a href="itemids.html#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">,</span> <span class="Identifier">val</span><span class="Other">:</span> <span class="Identifier">T</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L674" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L674" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="items-iterators-all">
|
||||
<div id="items.i,TStrTable">
|
||||
<dt><pre><span class="Keyword">iterator</span> <a href="#items.i%2CTStrTable"><span class="Identifier">items</span></a><span class="Other">(</span><span class="Identifier">tab</span><span class="Other">:</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L608" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L608" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="18">
|
||||
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
||||
<dl class="item">
|
||||
<div id="debug-templates-all">
|
||||
<div id="debug.t,auto">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#debug.t%2Cauto"><span class="Identifier">debug</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">auto</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
<div class="deprecation-message">
|
||||
<b>Deprecated</b>
|
||||
</div>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L42" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L42" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="debug.t">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#debug.t"><span class="Identifier">debug</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> <span class="Operator">|</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a> <span class="Operator">|</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
<div class="deprecation-message">
|
||||
<b>Deprecated</b>
|
||||
</div>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L34" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L34" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="idTableGet-templates-all">
|
||||
<div id="idTableGet.t,TIdTable[T],">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#idTableGet.t%2CTIdTable%5BT%5D%2C"><span class="Identifier">idTableGet</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#TIdTable"><span class="Identifier">TIdTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a> <span class="Operator">|</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">T</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L638" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L638" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="idTablePut-templates-all">
|
||||
<div id="idTablePut.t,TIdTable[T],,T">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#idTablePut.t%2CTIdTable%5BT%5D%2C%2CT"><span class="Identifier">idTablePut</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TIdTable"><span class="Identifier">TIdTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a> <span class="Operator">|</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">val</span><span class="Other">:</span> <span class="Identifier">T</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L671" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L671" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="mdbg-templates-all">
|
||||
<div id="mdbg.t">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#mdbg.t"><span class="Identifier">mdbg</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
<div class="deprecation-message">
|
||||
<b>Deprecated</b>
|
||||
</div>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astalgo.nim#L45" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astalgo.nim#L45" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="19">
|
||||
<h1><a class="toc-backref" href="#19">Exports</a></h1>
|
||||
<dl class="item">
|
||||
<a href="astyaml.html#treeToYaml,ConfigRef,PNode,int,int"><span class="Identifier">treeToYaml</span></a>, <a href="astyaml.html#typeToYaml,ConfigRef,PType,int,int"><span class="Identifier">typeToYaml</span></a>, <a href="astyaml.html#symToYaml,ConfigRef,PSym,int,int"><span class="Identifier">symToYaml</span></a>, <a href="astyaml.html#lineInfoToStr,ConfigRef,TLineInfo"><span class="Identifier">lineInfoToStr</span></a>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:08 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
45
compiler/astalgo.idx
Normal file
45
compiler/astalgo.idx
Normal file
@@ -0,0 +1,45 @@
|
||||
nimTitle astalgo astalgo.html module astalgo 0
|
||||
nim hashNode astalgo.html#hashNode,RootRef proc hashNode(p: RootRef): Hash 26
|
||||
nim debug astalgo.html#debug,PSym,ConfigRef proc debug(n: PSym; conf: ConfigRef = nil) 30
|
||||
nim debug astalgo.html#debug,PType,ConfigRef proc debug(n: PType; conf: ConfigRef = nil) 31
|
||||
nim debug astalgo.html#debug,PNode,ConfigRef proc debug(n: PNode; conf: ConfigRef = nil) 32
|
||||
nim debug astalgo.html#debug.t template debug(x: PSym | PType | PNode) 34
|
||||
nim debug astalgo.html#debug.t,auto template debug(x: auto) 42
|
||||
nim mdbg astalgo.html#mdbg.t template mdbg(): bool 45
|
||||
nim lookupInRecord astalgo.html#lookupInRecord,PNode,PIdent proc lookupInRecord(n: PNode; field: PIdent): PSym 70
|
||||
nim InvalidKey astalgo.html#InvalidKey const InvalidKey 74
|
||||
nim TIIPair astalgo.html#TIIPair object TIIPair 77
|
||||
nim TIIPairSeq astalgo.html#TIIPairSeq type TIIPairSeq 80
|
||||
nim TIITable astalgo.html#TIITable object TIITable 81
|
||||
nim initIITable astalgo.html#initIITable,TIITable proc initIITable(x: var TIITable) 86
|
||||
nim iiTableGet astalgo.html#iiTableGet,TIITable,int proc iiTableGet(t: TIITable; key: int): int 87
|
||||
nim iiTablePut astalgo.html#iiTablePut,TIITable,int,int proc iiTablePut(t: var TIITable; key, val: int) 88
|
||||
nim skipConvCastAndClosure astalgo.html#skipConvCastAndClosure,PNode proc skipConvCastAndClosure(n: PNode): PNode 92
|
||||
nim sameValue astalgo.html#sameValue,PNode,PNode proc sameValue(a, b: PNode): bool 103
|
||||
nim leValue astalgo.html#leValue,PNode,PNode proc leValue(a, b: PNode): bool 117
|
||||
nim weakLeValue astalgo.html#weakLeValue,PNode,PNode proc weakLeValue(a, b: PNode): TImplication 132
|
||||
nim getModule astalgo.html#getModule,PSym proc getModule(s: PSym): PSym 159
|
||||
nim fromSystem astalgo.html#fromSystem,PSym proc fromSystem(op: PSym): bool 164
|
||||
nim getSymFromList astalgo.html#getSymFromList,PNode,PIdent,int proc getSymFromList(list: PNode; ident: PIdent; start: int = 0): PSym 165
|
||||
nim getNamedParamFromList astalgo.html#getNamedParamFromList,PNode,PIdent proc getNamedParamFromList(list: PNode; ident: PIdent): PSym 200
|
||||
nim objectSetContains astalgo.html#objectSetContains,TObjectSet,RootRef proc objectSetContains(t: TObjectSet; obj: RootRef): bool 481
|
||||
nim objectSetIncl astalgo.html#objectSetIncl,TObjectSet,RootRef proc objectSetIncl(t: var TObjectSet; obj: RootRef) 505
|
||||
nim objectSetContainsOrIncl astalgo.html#objectSetContainsOrIncl,TObjectSet,RootRef proc objectSetContainsOrIncl(t: var TObjectSet; obj: RootRef): bool 510
|
||||
nim TIdentIter astalgo.html#TIdentIter object TIdentIter 530
|
||||
nim nextIdentIter astalgo.html#nextIdentIter,TIdentIter,TStrTable proc nextIdentIter(ti: var TIdentIter; tab: TStrTable): PSym 534
|
||||
nim initIdentIter astalgo.html#initIdentIter,TIdentIter,TStrTable,PIdent proc initIdentIter(ti: var TIdentIter; tab: TStrTable; s: PIdent): PSym 552
|
||||
nim nextIdentExcluding astalgo.html#nextIdentExcluding,TIdentIter,TStrTable,IntSet proc nextIdentExcluding(ti: var TIdentIter; tab: TStrTable; excluding: IntSet): PSym 558
|
||||
nim firstIdentExcluding astalgo.html#firstIdentExcluding,TIdentIter,TStrTable,PIdent,IntSet proc firstIdentExcluding(ti: var TIdentIter; tab: TStrTable; s: PIdent;\n excluding: IntSet): PSym 574
|
||||
nim TTabIter astalgo.html#TTabIter object TTabIter 582
|
||||
nim nextIter astalgo.html#nextIter,TTabIter,TStrTable proc nextIter(ti: var TTabIter; tab: TStrTable): PSym 585
|
||||
nim initTabIter astalgo.html#initTabIter,TTabIter,TStrTable proc initTabIter(ti: var TTabIter; tab: TStrTable): PSym 601
|
||||
nim items astalgo.html#items.i,TStrTable iterator items(tab: TStrTable): PSym 608
|
||||
nim getOrDefault astalgo.html#getOrDefault,TIdTable[T],ItemId proc getOrDefault[T](t: TIdTable[T]; key: ItemId): T 633
|
||||
nim idTableGet astalgo.html#idTableGet.t,TIdTable[T], template idTableGet[T](t: TIdTable[T]; key: PType | PSym): T 638
|
||||
nim `[]=` astalgo.html#[]=,TIdTable[T],ItemId,T proc `[]=`[T](t: var TIdTable[T]; key: ItemId; val: T) 652
|
||||
nim idTablePut astalgo.html#idTablePut.t,TIdTable[T],,T template idTablePut[T](t: var TIdTable[T]; key: PType | PSym; val: T) 671
|
||||
nim idTablePairs astalgo.html#idTablePairs.i,TIdTable[T] iterator idTablePairs[T](t: TIdTable[T]): tuple[key: ItemId, val: T] 674
|
||||
nim listSymbolNames astalgo.html#listSymbolNames,openArray[PSym] proc listSymbolNames(symbols: openArray[PSym]): string 724
|
||||
nim isDiscriminantField astalgo.html#isDiscriminantField,PNode proc isDiscriminantField(n: PNode): bool 731
|
||||
nimgrp debug astalgo.html#debug-procs-all proc 30
|
||||
nimgrp debug astalgo.html#debug-templates-all template 34
|
||||
2507
compiler/astdef.html
Normal file
2507
compiler/astdef.html
Normal file
File diff suppressed because one or more lines are too long
728
compiler/astdef.idx
Normal file
728
compiler/astdef.idx
Normal file
@@ -0,0 +1,728 @@
|
||||
nimTitle astdef astdef.html module astdef 0
|
||||
nim nifcBackendActive astdef.html#nifcBackendActive var nifcBackendActive 20
|
||||
nim ccNimCall astdef.html#ccNimCall TCallingConvention.ccNimCall 36
|
||||
nim ccStdCall astdef.html#ccStdCall TCallingConvention.ccStdCall 36
|
||||
nim ccCDecl astdef.html#ccCDecl TCallingConvention.ccCDecl 36
|
||||
nim ccSafeCall astdef.html#ccSafeCall TCallingConvention.ccSafeCall 36
|
||||
nim ccSysCall astdef.html#ccSysCall TCallingConvention.ccSysCall 36
|
||||
nim ccInline astdef.html#ccInline TCallingConvention.ccInline 36
|
||||
nim ccNoInline astdef.html#ccNoInline TCallingConvention.ccNoInline 36
|
||||
nim ccFastCall astdef.html#ccFastCall TCallingConvention.ccFastCall 36
|
||||
nim ccThisCall astdef.html#ccThisCall TCallingConvention.ccThisCall 36
|
||||
nim ccClosure astdef.html#ccClosure TCallingConvention.ccClosure 36
|
||||
nim ccNoConvention astdef.html#ccNoConvention TCallingConvention.ccNoConvention 36
|
||||
nim ccMember astdef.html#ccMember TCallingConvention.ccMember 36
|
||||
nim TCallingConvention astdef.html#TCallingConvention enum TCallingConvention 36
|
||||
nim TNodeKinds astdef.html#TNodeKinds type TNodeKinds 50
|
||||
nim sfUsed astdef.html#sfUsed TSymFlag.sfUsed 53
|
||||
nim sfExported astdef.html#sfExported TSymFlag.sfExported 53
|
||||
nim sfFromGeneric astdef.html#sfFromGeneric TSymFlag.sfFromGeneric 53
|
||||
nim sfGlobal astdef.html#sfGlobal TSymFlag.sfGlobal 53
|
||||
nim sfForward astdef.html#sfForward TSymFlag.sfForward 53
|
||||
nim sfWasForwarded astdef.html#sfWasForwarded TSymFlag.sfWasForwarded 53
|
||||
nim sfImportc astdef.html#sfImportc TSymFlag.sfImportc 53
|
||||
nim sfExportc astdef.html#sfExportc TSymFlag.sfExportc 53
|
||||
nim sfMangleCpp astdef.html#sfMangleCpp TSymFlag.sfMangleCpp 53
|
||||
nim sfVolatile astdef.html#sfVolatile TSymFlag.sfVolatile 53
|
||||
nim sfRegister astdef.html#sfRegister TSymFlag.sfRegister 53
|
||||
nim sfPure astdef.html#sfPure TSymFlag.sfPure 53
|
||||
nim sfNoSideEffect astdef.html#sfNoSideEffect TSymFlag.sfNoSideEffect 53
|
||||
nim sfSideEffect astdef.html#sfSideEffect TSymFlag.sfSideEffect 53
|
||||
nim sfMainModule astdef.html#sfMainModule TSymFlag.sfMainModule 53
|
||||
nim sfSystemModule astdef.html#sfSystemModule TSymFlag.sfSystemModule 53
|
||||
nim sfNoReturn astdef.html#sfNoReturn TSymFlag.sfNoReturn 53
|
||||
nim sfAddrTaken astdef.html#sfAddrTaken TSymFlag.sfAddrTaken 53
|
||||
nim sfCompilerProc astdef.html#sfCompilerProc TSymFlag.sfCompilerProc 53
|
||||
nim sfEscapes astdef.html#sfEscapes TSymFlag.sfEscapes 53
|
||||
nim sfDiscriminant astdef.html#sfDiscriminant TSymFlag.sfDiscriminant 53
|
||||
nim sfRequiresInit astdef.html#sfRequiresInit TSymFlag.sfRequiresInit 53
|
||||
nim sfDeprecated astdef.html#sfDeprecated TSymFlag.sfDeprecated 53
|
||||
nim sfExplain astdef.html#sfExplain TSymFlag.sfExplain 53
|
||||
nim sfError astdef.html#sfError TSymFlag.sfError 53
|
||||
nim sfShadowed astdef.html#sfShadowed TSymFlag.sfShadowed 53
|
||||
nim sfThread astdef.html#sfThread TSymFlag.sfThread 53
|
||||
nim sfCppNonPod astdef.html#sfCppNonPod TSymFlag.sfCppNonPod 53
|
||||
nim sfCompileTime astdef.html#sfCompileTime TSymFlag.sfCompileTime 53
|
||||
nim sfConstructor astdef.html#sfConstructor TSymFlag.sfConstructor 53
|
||||
nim sfDispatcher astdef.html#sfDispatcher TSymFlag.sfDispatcher 53
|
||||
nim sfBorrow astdef.html#sfBorrow TSymFlag.sfBorrow 53
|
||||
nim sfInfixCall astdef.html#sfInfixCall TSymFlag.sfInfixCall 53
|
||||
nim sfNamedParamCall astdef.html#sfNamedParamCall TSymFlag.sfNamedParamCall 53
|
||||
nim sfDiscardable astdef.html#sfDiscardable TSymFlag.sfDiscardable 53
|
||||
nim sfOverridden astdef.html#sfOverridden TSymFlag.sfOverridden 53
|
||||
nim sfCallsite astdef.html#sfCallsite TSymFlag.sfCallsite 53
|
||||
nim sfGenSym astdef.html#sfGenSym TSymFlag.sfGenSym 53
|
||||
nim sfNonReloadable astdef.html#sfNonReloadable TSymFlag.sfNonReloadable 53
|
||||
nim sfGeneratedOp astdef.html#sfGeneratedOp TSymFlag.sfGeneratedOp 53
|
||||
nim sfTemplateParam astdef.html#sfTemplateParam TSymFlag.sfTemplateParam 53
|
||||
nim sfCursor astdef.html#sfCursor TSymFlag.sfCursor 53
|
||||
nim sfInjectDestructors astdef.html#sfInjectDestructors TSymFlag.sfInjectDestructors 53
|
||||
nim sfNeverRaises astdef.html#sfNeverRaises TSymFlag.sfNeverRaises 53
|
||||
nim sfSystemRaisesDefect astdef.html#sfSystemRaisesDefect TSymFlag.sfSystemRaisesDefect 53
|
||||
nim sfUsedInFinallyOrExcept astdef.html#sfUsedInFinallyOrExcept TSymFlag.sfUsedInFinallyOrExcept 53
|
||||
nim sfSingleUsedTemp astdef.html#sfSingleUsedTemp TSymFlag.sfSingleUsedTemp 53
|
||||
nim sfNoalias astdef.html#sfNoalias TSymFlag.sfNoalias 53
|
||||
nim sfEffectsDelayed astdef.html#sfEffectsDelayed TSymFlag.sfEffectsDelayed 53
|
||||
nim sfGeneratedType astdef.html#sfGeneratedType TSymFlag.sfGeneratedType 53
|
||||
nim sfVirtual astdef.html#sfVirtual TSymFlag.sfVirtual 53
|
||||
nim sfByCopy astdef.html#sfByCopy TSymFlag.sfByCopy 53
|
||||
nim sfMember astdef.html#sfMember TSymFlag.sfMember 53
|
||||
nim sfCodegenDecl astdef.html#sfCodegenDecl TSymFlag.sfCodegenDecl 53
|
||||
nim sfWasGenSym astdef.html#sfWasGenSym TSymFlag.sfWasGenSym 53
|
||||
nim sfForceLift astdef.html#sfForceLift TSymFlag.sfForceLift 53
|
||||
nim sfDirty astdef.html#sfDirty TSymFlag.sfDirty 53
|
||||
nim sfCustomPragma astdef.html#sfCustomPragma TSymFlag.sfCustomPragma 53
|
||||
nim sfBase astdef.html#sfBase TSymFlag.sfBase 53
|
||||
nim sfGoto astdef.html#sfGoto TSymFlag.sfGoto 53
|
||||
nim sfAnon astdef.html#sfAnon TSymFlag.sfAnon 53
|
||||
nim sfAllUntyped astdef.html#sfAllUntyped TSymFlag.sfAllUntyped 53
|
||||
nim sfTemplateRedefinition astdef.html#sfTemplateRedefinition TSymFlag.sfTemplateRedefinition 53
|
||||
nim TSymFlag astdef.html#TSymFlag enum TSymFlag 53
|
||||
nim TSymFlags astdef.html#TSymFlags type TSymFlags 152
|
||||
nim sfNoInit astdef.html#sfNoInit const sfNoInit 155
|
||||
nim sfNoForward astdef.html#sfNoForward const sfNoForward 157
|
||||
nim sfReorder astdef.html#sfReorder const sfReorder 159
|
||||
nim sfCompileToCpp astdef.html#sfCompileToCpp const sfCompileToCpp 162
|
||||
nim sfCompileToObjc astdef.html#sfCompileToObjc const sfCompileToObjc 163
|
||||
nim sfExperimental astdef.html#sfExperimental const sfExperimental 164
|
||||
nim sfWrittenTo astdef.html#sfWrittenTo const sfWrittenTo 165
|
||||
nim sfCppMember astdef.html#sfCppMember const sfCppMember 167
|
||||
nim nkWhen astdef.html#nkWhen const nkWhen 171
|
||||
nim nkWhenExpr astdef.html#nkWhenExpr const nkWhenExpr 172
|
||||
nim nkEffectList astdef.html#nkEffectList const nkEffectList 173
|
||||
nim exceptionEffects astdef.html#exceptionEffects const exceptionEffects 175
|
||||
nim requiresEffects astdef.html#requiresEffects const requiresEffects 176
|
||||
nim ensuresEffects astdef.html#ensuresEffects const ensuresEffects 177
|
||||
nim tagEffects astdef.html#tagEffects const tagEffects 178
|
||||
nim pragmasEffects astdef.html#pragmasEffects const pragmasEffects 179
|
||||
nim forbiddenEffects astdef.html#forbiddenEffects const forbiddenEffects 180
|
||||
nim effectListLen astdef.html#effectListLen const effectListLen 181
|
||||
nim nkLastBlockStmts astdef.html#nkLastBlockStmts const nkLastBlockStmts 182
|
||||
nim tyNone astdef.html#tyNone TTypeKind.tyNone 186
|
||||
nim tyBool astdef.html#tyBool TTypeKind.tyBool 186
|
||||
nim tyChar astdef.html#tyChar TTypeKind.tyChar 186
|
||||
nim tyEmpty astdef.html#tyEmpty TTypeKind.tyEmpty 186
|
||||
nim tyAlias astdef.html#tyAlias TTypeKind.tyAlias 186
|
||||
nim tyNil astdef.html#tyNil TTypeKind.tyNil 186
|
||||
nim tyUntyped astdef.html#tyUntyped TTypeKind.tyUntyped 186
|
||||
nim tyTyped astdef.html#tyTyped TTypeKind.tyTyped 186
|
||||
nim tyTypeDesc astdef.html#tyTypeDesc TTypeKind.tyTypeDesc 186
|
||||
nim tyGenericInvocation astdef.html#tyGenericInvocation TTypeKind.tyGenericInvocation 186
|
||||
nim tyGenericBody astdef.html#tyGenericBody TTypeKind.tyGenericBody 186
|
||||
nim tyGenericInst astdef.html#tyGenericInst TTypeKind.tyGenericInst 186
|
||||
nim tyGenericParam astdef.html#tyGenericParam TTypeKind.tyGenericParam 186
|
||||
nim tyDistinct astdef.html#tyDistinct TTypeKind.tyDistinct 186
|
||||
nim tyEnum astdef.html#tyEnum TTypeKind.tyEnum 186
|
||||
nim tyOrdinal astdef.html#tyOrdinal TTypeKind.tyOrdinal 186
|
||||
nim tyArray astdef.html#tyArray TTypeKind.tyArray 186
|
||||
nim tyObject astdef.html#tyObject TTypeKind.tyObject 186
|
||||
nim tyTuple astdef.html#tyTuple TTypeKind.tyTuple 186
|
||||
nim tySet astdef.html#tySet TTypeKind.tySet 186
|
||||
nim tyRange astdef.html#tyRange TTypeKind.tyRange 186
|
||||
nim tyPtr astdef.html#tyPtr TTypeKind.tyPtr 186
|
||||
nim tyRef astdef.html#tyRef TTypeKind.tyRef 186
|
||||
nim tyVar astdef.html#tyVar TTypeKind.tyVar 186
|
||||
nim tySequence astdef.html#tySequence TTypeKind.tySequence 186
|
||||
nim tyProc astdef.html#tyProc TTypeKind.tyProc 186
|
||||
nim tyPointer astdef.html#tyPointer TTypeKind.tyPointer 186
|
||||
nim tyOpenArray astdef.html#tyOpenArray TTypeKind.tyOpenArray 186
|
||||
nim tyString astdef.html#tyString TTypeKind.tyString 186
|
||||
nim tyCstring astdef.html#tyCstring TTypeKind.tyCstring 186
|
||||
nim tyForward astdef.html#tyForward TTypeKind.tyForward 186
|
||||
nim tyInt astdef.html#tyInt TTypeKind.tyInt 186
|
||||
nim tyInt8 astdef.html#tyInt8 TTypeKind.tyInt8 186
|
||||
nim tyInt16 astdef.html#tyInt16 TTypeKind.tyInt16 186
|
||||
nim tyInt32 astdef.html#tyInt32 TTypeKind.tyInt32 186
|
||||
nim tyInt64 astdef.html#tyInt64 TTypeKind.tyInt64 186
|
||||
nim tyFloat astdef.html#tyFloat TTypeKind.tyFloat 186
|
||||
nim tyFloat32 astdef.html#tyFloat32 TTypeKind.tyFloat32 186
|
||||
nim tyFloat64 astdef.html#tyFloat64 TTypeKind.tyFloat64 186
|
||||
nim tyFloat128 astdef.html#tyFloat128 TTypeKind.tyFloat128 186
|
||||
nim tyUInt astdef.html#tyUInt TTypeKind.tyUInt 186
|
||||
nim tyUInt8 astdef.html#tyUInt8 TTypeKind.tyUInt8 186
|
||||
nim tyUInt16 astdef.html#tyUInt16 TTypeKind.tyUInt16 186
|
||||
nim tyUInt32 astdef.html#tyUInt32 TTypeKind.tyUInt32 186
|
||||
nim tyUInt64 astdef.html#tyUInt64 TTypeKind.tyUInt64 186
|
||||
nim tyOwned astdef.html#tyOwned TTypeKind.tyOwned 186
|
||||
nim tySink astdef.html#tySink TTypeKind.tySink 186
|
||||
nim tyLent astdef.html#tyLent TTypeKind.tyLent 186
|
||||
nim tyVarargs astdef.html#tyVarargs TTypeKind.tyVarargs 186
|
||||
nim tyUncheckedArray astdef.html#tyUncheckedArray TTypeKind.tyUncheckedArray 186
|
||||
nim tyError astdef.html#tyError TTypeKind.tyError 186
|
||||
nim tyBuiltInTypeClass astdef.html#tyBuiltInTypeClass TTypeKind.tyBuiltInTypeClass 186
|
||||
nim tyUserTypeClass astdef.html#tyUserTypeClass TTypeKind.tyUserTypeClass 186
|
||||
nim tyUserTypeClassInst astdef.html#tyUserTypeClassInst TTypeKind.tyUserTypeClassInst 186
|
||||
nim tyCompositeTypeClass astdef.html#tyCompositeTypeClass TTypeKind.tyCompositeTypeClass 186
|
||||
nim tyInferred astdef.html#tyInferred TTypeKind.tyInferred 186
|
||||
nim tyAnd astdef.html#tyAnd TTypeKind.tyAnd 186
|
||||
nim tyOr astdef.html#tyOr TTypeKind.tyOr 186
|
||||
nim tyNot astdef.html#tyNot TTypeKind.tyNot 186
|
||||
nim tyAnything astdef.html#tyAnything TTypeKind.tyAnything 186
|
||||
nim tyStatic astdef.html#tyStatic TTypeKind.tyStatic 186
|
||||
nim tyFromExpr astdef.html#tyFromExpr TTypeKind.tyFromExpr 186
|
||||
nim tyConcept astdef.html#tyConcept TTypeKind.tyConcept 186
|
||||
nim tyVoid astdef.html#tyVoid TTypeKind.tyVoid 186
|
||||
nim tyIterable astdef.html#tyIterable TTypeKind.tyIterable 186
|
||||
nim TTypeKind astdef.html#TTypeKind enum TTypeKind 186
|
||||
nim tyPureObject astdef.html#tyPureObject const tyPureObject 291
|
||||
nim GcTypeKinds astdef.html#GcTypeKinds const GcTypeKinds 292
|
||||
nim tyTypeClasses astdef.html#tyTypeClasses const tyTypeClasses 294
|
||||
nim tyMetaTypes astdef.html#tyMetaTypes const tyMetaTypes 298
|
||||
nim tyUserTypeClasses astdef.html#tyUserTypeClasses const tyUserTypeClasses 299
|
||||
nim abstractVarRange astdef.html#abstractVarRange const abstractVarRange 301
|
||||
nim abstractInst astdef.html#abstractInst const abstractInst 303
|
||||
nim TTypeKinds astdef.html#TTypeKinds type TTypeKinds 307
|
||||
nim nfNone astdef.html#nfNone TNodeFlag.nfNone 309
|
||||
nim nfBase2 astdef.html#nfBase2 TNodeFlag.nfBase2 309
|
||||
nim nfBase8 astdef.html#nfBase8 TNodeFlag.nfBase8 309
|
||||
nim nfBase16 astdef.html#nfBase16 TNodeFlag.nfBase16 309
|
||||
nim nfAllConst astdef.html#nfAllConst TNodeFlag.nfAllConst 309
|
||||
nim nfTransf astdef.html#nfTransf TNodeFlag.nfTransf 309
|
||||
nim nfNoRewrite astdef.html#nfNoRewrite TNodeFlag.nfNoRewrite 309
|
||||
nim nfSem astdef.html#nfSem TNodeFlag.nfSem 309
|
||||
nim nfLL astdef.html#nfLL TNodeFlag.nfLL 309
|
||||
nim nfDotField astdef.html#nfDotField TNodeFlag.nfDotField 309
|
||||
nim nfDotSetter astdef.html#nfDotSetter TNodeFlag.nfDotSetter 309
|
||||
nim nfExplicitCall astdef.html#nfExplicitCall TNodeFlag.nfExplicitCall 309
|
||||
nim nfExprCall astdef.html#nfExprCall TNodeFlag.nfExprCall 309
|
||||
nim nfIsRef astdef.html#nfIsRef TNodeFlag.nfIsRef 309
|
||||
nim nfIsPtr astdef.html#nfIsPtr TNodeFlag.nfIsPtr 309
|
||||
nim nfPreventCg astdef.html#nfPreventCg TNodeFlag.nfPreventCg 309
|
||||
nim nfBlockArg astdef.html#nfBlockArg TNodeFlag.nfBlockArg 309
|
||||
nim nfFromTemplate astdef.html#nfFromTemplate TNodeFlag.nfFromTemplate 309
|
||||
nim nfDefaultParam astdef.html#nfDefaultParam TNodeFlag.nfDefaultParam 309
|
||||
nim nfDefaultRefsParam astdef.html#nfDefaultRefsParam TNodeFlag.nfDefaultRefsParam 309
|
||||
nim nfExecuteOnReload astdef.html#nfExecuteOnReload TNodeFlag.nfExecuteOnReload 309
|
||||
nim nfLastRead astdef.html#nfLastRead TNodeFlag.nfLastRead 309
|
||||
nim nfFirstWrite astdef.html#nfFirstWrite TNodeFlag.nfFirstWrite 309
|
||||
nim nfHasComment astdef.html#nfHasComment TNodeFlag.nfHasComment 309
|
||||
nim nfSkipFieldChecking astdef.html#nfSkipFieldChecking TNodeFlag.nfSkipFieldChecking 309
|
||||
nim nfDisabledOpenSym astdef.html#nfDisabledOpenSym TNodeFlag.nfDisabledOpenSym 309
|
||||
nim nfLazyType astdef.html#nfLazyType TNodeFlag.nfLazyType 309
|
||||
nim nfLazyBody astdef.html#nfLazyBody TNodeFlag.nfLazyBody 309
|
||||
nim nfBroadcast astdef.html#nfBroadcast TNodeFlag.nfBroadcast 309
|
||||
nim TNodeFlag astdef.html#TNodeFlag enum TNodeFlag 309
|
||||
nim TNodeFlags astdef.html#TNodeFlags type TNodeFlags 351
|
||||
nim tfVarargs astdef.html#tfVarargs TTypeFlag.tfVarargs 352
|
||||
nim tfNoSideEffect astdef.html#tfNoSideEffect TTypeFlag.tfNoSideEffect 352
|
||||
nim tfFinal astdef.html#tfFinal TTypeFlag.tfFinal 352
|
||||
nim tfInheritable astdef.html#tfInheritable TTypeFlag.tfInheritable 352
|
||||
nim tfHasOwned astdef.html#tfHasOwned TTypeFlag.tfHasOwned 352
|
||||
nim tfEnumHasHoles astdef.html#tfEnumHasHoles TTypeFlag.tfEnumHasHoles 352
|
||||
nim tfShallow astdef.html#tfShallow TTypeFlag.tfShallow 352
|
||||
nim tfThread astdef.html#tfThread TTypeFlag.tfThread 352
|
||||
nim tfFromGeneric astdef.html#tfFromGeneric TTypeFlag.tfFromGeneric 352
|
||||
nim tfUnresolved astdef.html#tfUnresolved TTypeFlag.tfUnresolved 352
|
||||
nim tfResolved astdef.html#tfResolved TTypeFlag.tfResolved 352
|
||||
nim tfRetType astdef.html#tfRetType TTypeFlag.tfRetType 352
|
||||
nim tfCapturesEnv astdef.html#tfCapturesEnv TTypeFlag.tfCapturesEnv 352
|
||||
nim tfByCopy astdef.html#tfByCopy TTypeFlag.tfByCopy 352
|
||||
nim tfByRef astdef.html#tfByRef TTypeFlag.tfByRef 352
|
||||
nim tfIterator astdef.html#tfIterator TTypeFlag.tfIterator 352
|
||||
nim tfPartial astdef.html#tfPartial TTypeFlag.tfPartial 352
|
||||
nim tfNotNil astdef.html#tfNotNil TTypeFlag.tfNotNil 352
|
||||
nim tfRequiresInit astdef.html#tfRequiresInit TTypeFlag.tfRequiresInit 352
|
||||
nim tfNeedsFullInit astdef.html#tfNeedsFullInit TTypeFlag.tfNeedsFullInit 352
|
||||
nim tfVarIsPtr astdef.html#tfVarIsPtr TTypeFlag.tfVarIsPtr 352
|
||||
nim tfHasMeta astdef.html#tfHasMeta TTypeFlag.tfHasMeta 352
|
||||
nim tfHasGCedMem astdef.html#tfHasGCedMem TTypeFlag.tfHasGCedMem 352
|
||||
nim tfPacked astdef.html#tfPacked TTypeFlag.tfPacked 352
|
||||
nim tfHasStatic astdef.html#tfHasStatic TTypeFlag.tfHasStatic 352
|
||||
nim tfGenericTypeParam astdef.html#tfGenericTypeParam TTypeFlag.tfGenericTypeParam 352
|
||||
nim tfImplicitTypeParam astdef.html#tfImplicitTypeParam TTypeFlag.tfImplicitTypeParam 352
|
||||
nim tfInferrableStatic astdef.html#tfInferrableStatic TTypeFlag.tfInferrableStatic 352
|
||||
nim tfConceptMatchedTypeSym astdef.html#tfConceptMatchedTypeSym TTypeFlag.tfConceptMatchedTypeSym 352
|
||||
nim tfExplicit astdef.html#tfExplicit TTypeFlag.tfExplicit 352
|
||||
nim tfWildcard astdef.html#tfWildcard TTypeFlag.tfWildcard 352
|
||||
nim tfHasAsgn astdef.html#tfHasAsgn TTypeFlag.tfHasAsgn 352
|
||||
nim tfBorrowDot astdef.html#tfBorrowDot TTypeFlag.tfBorrowDot 352
|
||||
nim tfTriggersCompileTime astdef.html#tfTriggersCompileTime TTypeFlag.tfTriggersCompileTime 352
|
||||
nim tfRefsAnonObj astdef.html#tfRefsAnonObj TTypeFlag.tfRefsAnonObj 352
|
||||
nim tfCovariant astdef.html#tfCovariant TTypeFlag.tfCovariant 352
|
||||
nim tfWeakCovariant astdef.html#tfWeakCovariant TTypeFlag.tfWeakCovariant 352
|
||||
nim tfContravariant astdef.html#tfContravariant TTypeFlag.tfContravariant 352
|
||||
nim tfCheckedForDestructor astdef.html#tfCheckedForDestructor TTypeFlag.tfCheckedForDestructor 352
|
||||
nim tfAcyclic astdef.html#tfAcyclic TTypeFlag.tfAcyclic 352
|
||||
nim tfIncompleteStruct astdef.html#tfIncompleteStruct TTypeFlag.tfIncompleteStruct 352
|
||||
nim tfCompleteStruct astdef.html#tfCompleteStruct TTypeFlag.tfCompleteStruct 352
|
||||
nim tfExplicitCallConv astdef.html#tfExplicitCallConv TTypeFlag.tfExplicitCallConv 352
|
||||
nim tfIsConstructor astdef.html#tfIsConstructor TTypeFlag.tfIsConstructor 352
|
||||
nim tfEffectSystemWorkaround astdef.html#tfEffectSystemWorkaround TTypeFlag.tfEffectSystemWorkaround 352
|
||||
nim tfIsOutParam astdef.html#tfIsOutParam TTypeFlag.tfIsOutParam 352
|
||||
nim tfSendable astdef.html#tfSendable TTypeFlag.tfSendable 352
|
||||
nim tfImplicitStatic astdef.html#tfImplicitStatic TTypeFlag.tfImplicitStatic 352
|
||||
nim TTypeFlag astdef.html#TTypeFlag enum TTypeFlag 352
|
||||
nim TTypeFlags astdef.html#TTypeFlags type TTypeFlags 425
|
||||
nim skUnknown astdef.html#skUnknown TSymKind.skUnknown 427
|
||||
nim skConditional astdef.html#skConditional TSymKind.skConditional 427
|
||||
nim skDynLib astdef.html#skDynLib TSymKind.skDynLib 427
|
||||
nim skParam astdef.html#skParam TSymKind.skParam 427
|
||||
nim skGenericParam astdef.html#skGenericParam TSymKind.skGenericParam 427
|
||||
nim skTemp astdef.html#skTemp TSymKind.skTemp 427
|
||||
nim skModule astdef.html#skModule TSymKind.skModule 427
|
||||
nim skType astdef.html#skType TSymKind.skType 427
|
||||
nim skVar astdef.html#skVar TSymKind.skVar 427
|
||||
nim skLet astdef.html#skLet TSymKind.skLet 427
|
||||
nim skConst astdef.html#skConst TSymKind.skConst 427
|
||||
nim skResult astdef.html#skResult TSymKind.skResult 427
|
||||
nim skProc astdef.html#skProc TSymKind.skProc 427
|
||||
nim skFunc astdef.html#skFunc TSymKind.skFunc 427
|
||||
nim skMethod astdef.html#skMethod TSymKind.skMethod 427
|
||||
nim skIterator astdef.html#skIterator TSymKind.skIterator 427
|
||||
nim skConverter astdef.html#skConverter TSymKind.skConverter 427
|
||||
nim skMacro astdef.html#skMacro TSymKind.skMacro 427
|
||||
nim skTemplate astdef.html#skTemplate TSymKind.skTemplate 427
|
||||
nim skField astdef.html#skField TSymKind.skField 427
|
||||
nim skEnumField astdef.html#skEnumField TSymKind.skEnumField 427
|
||||
nim skForVar astdef.html#skForVar TSymKind.skForVar 427
|
||||
nim skLabel astdef.html#skLabel TSymKind.skLabel 427
|
||||
nim skStub astdef.html#skStub TSymKind.skStub 427
|
||||
nim skPackage astdef.html#skPackage TSymKind.skPackage 427
|
||||
nim TSymKind astdef.html#TSymKind enum TSymKind 427
|
||||
nim TSymKinds astdef.html#TSymKinds type TSymKinds 459
|
||||
nim routineKinds astdef.html#routineKinds const routineKinds 462
|
||||
nim ExportableSymKinds astdef.html#ExportableSymKinds const ExportableSymKinds 464
|
||||
nim tfUnion astdef.html#tfUnion const tfUnion 466
|
||||
nim tfGcSafe astdef.html#tfGcSafe const tfGcSafe 467
|
||||
nim tfObjHasKids astdef.html#tfObjHasKids const tfObjHasKids 468
|
||||
nim tfReturnsNew astdef.html#tfReturnsNew const tfReturnsNew 469
|
||||
nim tfNonConstExpr astdef.html#tfNonConstExpr const tfNonConstExpr 470
|
||||
nim tfGenericHasDestructor astdef.html#tfGenericHasDestructor const tfGenericHasDestructor 472
|
||||
nim skError astdef.html#skError const skError 474
|
||||
nim eqTypeFlags astdef.html#eqTypeFlags var eqTypeFlags 477
|
||||
nim mNone astdef.html#mNone TMagic.mNone 483
|
||||
nim mDefined astdef.html#mDefined TMagic.mDefined 483
|
||||
nim mDeclared astdef.html#mDeclared TMagic.mDeclared 483
|
||||
nim mDeclaredInScope astdef.html#mDeclaredInScope TMagic.mDeclaredInScope 483
|
||||
nim mCompiles astdef.html#mCompiles TMagic.mCompiles 483
|
||||
nim mArrGet astdef.html#mArrGet TMagic.mArrGet 483
|
||||
nim mArrPut astdef.html#mArrPut TMagic.mArrPut 483
|
||||
nim mAsgn astdef.html#mAsgn TMagic.mAsgn 483
|
||||
nim mLow astdef.html#mLow TMagic.mLow 483
|
||||
nim mHigh astdef.html#mHigh TMagic.mHigh 483
|
||||
nim mSizeOf astdef.html#mSizeOf TMagic.mSizeOf 483
|
||||
nim mAlignOf astdef.html#mAlignOf TMagic.mAlignOf 483
|
||||
nim mOffsetOf astdef.html#mOffsetOf TMagic.mOffsetOf 483
|
||||
nim mTypeTrait astdef.html#mTypeTrait TMagic.mTypeTrait 483
|
||||
nim mIs astdef.html#mIs TMagic.mIs 483
|
||||
nim mOf astdef.html#mOf TMagic.mOf 483
|
||||
nim mAddr astdef.html#mAddr TMagic.mAddr 483
|
||||
nim mType astdef.html#mType TMagic.mType 483
|
||||
nim mTypeOf astdef.html#mTypeOf TMagic.mTypeOf 483
|
||||
nim mPlugin astdef.html#mPlugin TMagic.mPlugin 483
|
||||
nim mEcho astdef.html#mEcho TMagic.mEcho 483
|
||||
nim mShallowCopy astdef.html#mShallowCopy TMagic.mShallowCopy 483
|
||||
nim mSlurp astdef.html#mSlurp TMagic.mSlurp 483
|
||||
nim mStaticExec astdef.html#mStaticExec TMagic.mStaticExec 483
|
||||
nim mStatic astdef.html#mStatic TMagic.mStatic 483
|
||||
nim mParseExprToAst astdef.html#mParseExprToAst TMagic.mParseExprToAst 483
|
||||
nim mParseStmtToAst astdef.html#mParseStmtToAst TMagic.mParseStmtToAst 483
|
||||
nim mExpandToAst astdef.html#mExpandToAst TMagic.mExpandToAst 483
|
||||
nim mQuoteAst astdef.html#mQuoteAst TMagic.mQuoteAst 483
|
||||
nim mInc astdef.html#mInc TMagic.mInc 483
|
||||
nim mDec astdef.html#mDec TMagic.mDec 483
|
||||
nim mOrd astdef.html#mOrd TMagic.mOrd 483
|
||||
nim mNew astdef.html#mNew TMagic.mNew 483
|
||||
nim mNewFinalize astdef.html#mNewFinalize TMagic.mNewFinalize 483
|
||||
nim mNewSeq astdef.html#mNewSeq TMagic.mNewSeq 483
|
||||
nim mNewSeqOfCap astdef.html#mNewSeqOfCap TMagic.mNewSeqOfCap 483
|
||||
nim mLengthOpenArray astdef.html#mLengthOpenArray TMagic.mLengthOpenArray 483
|
||||
nim mLengthStr astdef.html#mLengthStr TMagic.mLengthStr 483
|
||||
nim mLengthArray astdef.html#mLengthArray TMagic.mLengthArray 483
|
||||
nim mLengthSeq astdef.html#mLengthSeq TMagic.mLengthSeq 483
|
||||
nim mIncl astdef.html#mIncl TMagic.mIncl 483
|
||||
nim mExcl astdef.html#mExcl TMagic.mExcl 483
|
||||
nim mCard astdef.html#mCard TMagic.mCard 483
|
||||
nim mChr astdef.html#mChr TMagic.mChr 483
|
||||
nim mGCref astdef.html#mGCref TMagic.mGCref 483
|
||||
nim mGCunref astdef.html#mGCunref TMagic.mGCunref 483
|
||||
nim mAddI astdef.html#mAddI TMagic.mAddI 483
|
||||
nim mSubI astdef.html#mSubI TMagic.mSubI 483
|
||||
nim mMulI astdef.html#mMulI TMagic.mMulI 483
|
||||
nim mDivI astdef.html#mDivI TMagic.mDivI 483
|
||||
nim mModI astdef.html#mModI TMagic.mModI 483
|
||||
nim mSucc astdef.html#mSucc TMagic.mSucc 483
|
||||
nim mPred astdef.html#mPred TMagic.mPred 483
|
||||
nim mAddF64 astdef.html#mAddF64 TMagic.mAddF64 483
|
||||
nim mSubF64 astdef.html#mSubF64 TMagic.mSubF64 483
|
||||
nim mMulF64 astdef.html#mMulF64 TMagic.mMulF64 483
|
||||
nim mDivF64 astdef.html#mDivF64 TMagic.mDivF64 483
|
||||
nim mShrI astdef.html#mShrI TMagic.mShrI 483
|
||||
nim mShlI astdef.html#mShlI TMagic.mShlI 483
|
||||
nim mAshrI astdef.html#mAshrI TMagic.mAshrI 483
|
||||
nim mBitandI astdef.html#mBitandI TMagic.mBitandI 483
|
||||
nim mBitorI astdef.html#mBitorI TMagic.mBitorI 483
|
||||
nim mBitxorI astdef.html#mBitxorI TMagic.mBitxorI 483
|
||||
nim mMinI astdef.html#mMinI TMagic.mMinI 483
|
||||
nim mMaxI astdef.html#mMaxI TMagic.mMaxI 483
|
||||
nim mAddU astdef.html#mAddU TMagic.mAddU 483
|
||||
nim mSubU astdef.html#mSubU TMagic.mSubU 483
|
||||
nim mMulU astdef.html#mMulU TMagic.mMulU 483
|
||||
nim mDivU astdef.html#mDivU TMagic.mDivU 483
|
||||
nim mModU astdef.html#mModU TMagic.mModU 483
|
||||
nim mEqI astdef.html#mEqI TMagic.mEqI 483
|
||||
nim mLeI astdef.html#mLeI TMagic.mLeI 483
|
||||
nim mLtI astdef.html#mLtI TMagic.mLtI 483
|
||||
nim mEqF64 astdef.html#mEqF64 TMagic.mEqF64 483
|
||||
nim mLeF64 astdef.html#mLeF64 TMagic.mLeF64 483
|
||||
nim mLtF64 astdef.html#mLtF64 TMagic.mLtF64 483
|
||||
nim mLeU astdef.html#mLeU TMagic.mLeU 483
|
||||
nim mLtU astdef.html#mLtU TMagic.mLtU 483
|
||||
nim mEqEnum astdef.html#mEqEnum TMagic.mEqEnum 483
|
||||
nim mLeEnum astdef.html#mLeEnum TMagic.mLeEnum 483
|
||||
nim mLtEnum astdef.html#mLtEnum TMagic.mLtEnum 483
|
||||
nim mEqCh astdef.html#mEqCh TMagic.mEqCh 483
|
||||
nim mLeCh astdef.html#mLeCh TMagic.mLeCh 483
|
||||
nim mLtCh astdef.html#mLtCh TMagic.mLtCh 483
|
||||
nim mEqB astdef.html#mEqB TMagic.mEqB 483
|
||||
nim mLeB astdef.html#mLeB TMagic.mLeB 483
|
||||
nim mLtB astdef.html#mLtB TMagic.mLtB 483
|
||||
nim mEqRef astdef.html#mEqRef TMagic.mEqRef 483
|
||||
nim mLePtr astdef.html#mLePtr TMagic.mLePtr 483
|
||||
nim mLtPtr astdef.html#mLtPtr TMagic.mLtPtr 483
|
||||
nim mXor astdef.html#mXor TMagic.mXor 483
|
||||
nim mEqCString astdef.html#mEqCString TMagic.mEqCString 483
|
||||
nim mEqProc astdef.html#mEqProc TMagic.mEqProc 483
|
||||
nim mUnaryMinusI astdef.html#mUnaryMinusI TMagic.mUnaryMinusI 483
|
||||
nim mUnaryMinusI64 astdef.html#mUnaryMinusI64 TMagic.mUnaryMinusI64 483
|
||||
nim mAbsI astdef.html#mAbsI TMagic.mAbsI 483
|
||||
nim mNot astdef.html#mNot TMagic.mNot 483
|
||||
nim mUnaryPlusI astdef.html#mUnaryPlusI TMagic.mUnaryPlusI 483
|
||||
nim mBitnotI astdef.html#mBitnotI TMagic.mBitnotI 483
|
||||
nim mUnaryPlusF64 astdef.html#mUnaryPlusF64 TMagic.mUnaryPlusF64 483
|
||||
nim mUnaryMinusF64 astdef.html#mUnaryMinusF64 TMagic.mUnaryMinusF64 483
|
||||
nim mCharToStr astdef.html#mCharToStr TMagic.mCharToStr 483
|
||||
nim mBoolToStr astdef.html#mBoolToStr TMagic.mBoolToStr 483
|
||||
nim mCStrToStr astdef.html#mCStrToStr TMagic.mCStrToStr 483
|
||||
nim mStrToStr astdef.html#mStrToStr TMagic.mStrToStr 483
|
||||
nim mEnumToStr astdef.html#mEnumToStr TMagic.mEnumToStr 483
|
||||
nim mAnd astdef.html#mAnd TMagic.mAnd 483
|
||||
nim mOr astdef.html#mOr TMagic.mOr 483
|
||||
nim mImplies astdef.html#mImplies TMagic.mImplies 483
|
||||
nim mIff astdef.html#mIff TMagic.mIff 483
|
||||
nim mExists astdef.html#mExists TMagic.mExists 483
|
||||
nim mForall astdef.html#mForall TMagic.mForall 483
|
||||
nim mOld astdef.html#mOld TMagic.mOld 483
|
||||
nim mEqStr astdef.html#mEqStr TMagic.mEqStr 483
|
||||
nim mLeStr astdef.html#mLeStr TMagic.mLeStr 483
|
||||
nim mLtStr astdef.html#mLtStr TMagic.mLtStr 483
|
||||
nim mEqSet astdef.html#mEqSet TMagic.mEqSet 483
|
||||
nim mLeSet astdef.html#mLeSet TMagic.mLeSet 483
|
||||
nim mLtSet astdef.html#mLtSet TMagic.mLtSet 483
|
||||
nim mMulSet astdef.html#mMulSet TMagic.mMulSet 483
|
||||
nim mPlusSet astdef.html#mPlusSet TMagic.mPlusSet 483
|
||||
nim mMinusSet astdef.html#mMinusSet TMagic.mMinusSet 483
|
||||
nim mXorSet astdef.html#mXorSet TMagic.mXorSet 483
|
||||
nim mConStrStr astdef.html#mConStrStr TMagic.mConStrStr 483
|
||||
nim mSlice astdef.html#mSlice TMagic.mSlice 483
|
||||
nim mDotDot astdef.html#mDotDot TMagic.mDotDot 483
|
||||
nim mFields astdef.html#mFields TMagic.mFields 483
|
||||
nim mFieldPairs astdef.html#mFieldPairs TMagic.mFieldPairs 483
|
||||
nim mOmpParFor astdef.html#mOmpParFor TMagic.mOmpParFor 483
|
||||
nim mAppendStrCh astdef.html#mAppendStrCh TMagic.mAppendStrCh 483
|
||||
nim mAppendStrStr astdef.html#mAppendStrStr TMagic.mAppendStrStr 483
|
||||
nim mAppendSeqElem astdef.html#mAppendSeqElem TMagic.mAppendSeqElem 483
|
||||
nim mInSet astdef.html#mInSet TMagic.mInSet 483
|
||||
nim mRepr astdef.html#mRepr TMagic.mRepr 483
|
||||
nim mExit astdef.html#mExit TMagic.mExit 483
|
||||
nim mSetLengthStr astdef.html#mSetLengthStr TMagic.mSetLengthStr 483
|
||||
nim mSetLengthSeq astdef.html#mSetLengthSeq TMagic.mSetLengthSeq 483
|
||||
nim mSetLengthSeqUninit astdef.html#mSetLengthSeqUninit TMagic.mSetLengthSeqUninit 483
|
||||
nim mIsPartOf astdef.html#mIsPartOf TMagic.mIsPartOf 483
|
||||
nim mAstToStr astdef.html#mAstToStr TMagic.mAstToStr 483
|
||||
nim mParallel astdef.html#mParallel TMagic.mParallel 483
|
||||
nim mSwap astdef.html#mSwap TMagic.mSwap 483
|
||||
nim mIsNil astdef.html#mIsNil TMagic.mIsNil 483
|
||||
nim mArrToSeq astdef.html#mArrToSeq TMagic.mArrToSeq 483
|
||||
nim mOpenArrayToSeq astdef.html#mOpenArrayToSeq TMagic.mOpenArrayToSeq 483
|
||||
nim mNewString astdef.html#mNewString TMagic.mNewString 483
|
||||
nim mNewStringOfCap astdef.html#mNewStringOfCap TMagic.mNewStringOfCap 483
|
||||
nim mParseBiggestFloat astdef.html#mParseBiggestFloat TMagic.mParseBiggestFloat 483
|
||||
nim mMove astdef.html#mMove TMagic.mMove 483
|
||||
nim mEnsureMove astdef.html#mEnsureMove TMagic.mEnsureMove 483
|
||||
nim mWasMoved astdef.html#mWasMoved TMagic.mWasMoved 483
|
||||
nim mDup astdef.html#mDup TMagic.mDup 483
|
||||
nim mDestroy astdef.html#mDestroy TMagic.mDestroy 483
|
||||
nim mTrace astdef.html#mTrace TMagic.mTrace 483
|
||||
nim mDefault astdef.html#mDefault TMagic.mDefault 483
|
||||
nim mUnown astdef.html#mUnown TMagic.mUnown 483
|
||||
nim mFinished astdef.html#mFinished TMagic.mFinished 483
|
||||
nim mIsolate astdef.html#mIsolate TMagic.mIsolate 483
|
||||
nim mAccessEnv astdef.html#mAccessEnv TMagic.mAccessEnv 483
|
||||
nim mAccessTypeField astdef.html#mAccessTypeField TMagic.mAccessTypeField 483
|
||||
nim mArray astdef.html#mArray TMagic.mArray 483
|
||||
nim mOpenArray astdef.html#mOpenArray TMagic.mOpenArray 483
|
||||
nim mRange astdef.html#mRange TMagic.mRange 483
|
||||
nim mSet astdef.html#mSet TMagic.mSet 483
|
||||
nim mSeq astdef.html#mSeq TMagic.mSeq 483
|
||||
nim mVarargs astdef.html#mVarargs TMagic.mVarargs 483
|
||||
nim mRef astdef.html#mRef TMagic.mRef 483
|
||||
nim mPtr astdef.html#mPtr TMagic.mPtr 483
|
||||
nim mVar astdef.html#mVar TMagic.mVar 483
|
||||
nim mDistinct astdef.html#mDistinct TMagic.mDistinct 483
|
||||
nim mVoid astdef.html#mVoid TMagic.mVoid 483
|
||||
nim mTuple astdef.html#mTuple TMagic.mTuple 483
|
||||
nim mOrdinal astdef.html#mOrdinal TMagic.mOrdinal 483
|
||||
nim mIterableType astdef.html#mIterableType TMagic.mIterableType 483
|
||||
nim mInt astdef.html#mInt TMagic.mInt 483
|
||||
nim mInt8 astdef.html#mInt8 TMagic.mInt8 483
|
||||
nim mInt16 astdef.html#mInt16 TMagic.mInt16 483
|
||||
nim mInt32 astdef.html#mInt32 TMagic.mInt32 483
|
||||
nim mInt64 astdef.html#mInt64 TMagic.mInt64 483
|
||||
nim mUInt astdef.html#mUInt TMagic.mUInt 483
|
||||
nim mUInt8 astdef.html#mUInt8 TMagic.mUInt8 483
|
||||
nim mUInt16 astdef.html#mUInt16 TMagic.mUInt16 483
|
||||
nim mUInt32 astdef.html#mUInt32 TMagic.mUInt32 483
|
||||
nim mUInt64 astdef.html#mUInt64 TMagic.mUInt64 483
|
||||
nim mFloat astdef.html#mFloat TMagic.mFloat 483
|
||||
nim mFloat32 astdef.html#mFloat32 TMagic.mFloat32 483
|
||||
nim mFloat64 astdef.html#mFloat64 TMagic.mFloat64 483
|
||||
nim mFloat128 astdef.html#mFloat128 TMagic.mFloat128 483
|
||||
nim mBool astdef.html#mBool TMagic.mBool 483
|
||||
nim mChar astdef.html#mChar TMagic.mChar 483
|
||||
nim mString astdef.html#mString TMagic.mString 483
|
||||
nim mCstring astdef.html#mCstring TMagic.mCstring 483
|
||||
nim mPointer astdef.html#mPointer TMagic.mPointer 483
|
||||
nim mNil astdef.html#mNil TMagic.mNil 483
|
||||
nim mExpr astdef.html#mExpr TMagic.mExpr 483
|
||||
nim mStmt astdef.html#mStmt TMagic.mStmt 483
|
||||
nim mTypeDesc astdef.html#mTypeDesc TMagic.mTypeDesc 483
|
||||
nim mVoidType astdef.html#mVoidType TMagic.mVoidType 483
|
||||
nim mPNimrodNode astdef.html#mPNimrodNode TMagic.mPNimrodNode 483
|
||||
nim mSpawn astdef.html#mSpawn TMagic.mSpawn 483
|
||||
nim mDeepCopy astdef.html#mDeepCopy TMagic.mDeepCopy 483
|
||||
nim mIsMainModule astdef.html#mIsMainModule TMagic.mIsMainModule 483
|
||||
nim mCompileDate astdef.html#mCompileDate TMagic.mCompileDate 483
|
||||
nim mCompileTime astdef.html#mCompileTime TMagic.mCompileTime 483
|
||||
nim mProcCall astdef.html#mProcCall TMagic.mProcCall 483
|
||||
nim mCpuEndian astdef.html#mCpuEndian TMagic.mCpuEndian 483
|
||||
nim mHostOS astdef.html#mHostOS TMagic.mHostOS 483
|
||||
nim mHostCPU astdef.html#mHostCPU TMagic.mHostCPU 483
|
||||
nim mBuildOS astdef.html#mBuildOS TMagic.mBuildOS 483
|
||||
nim mBuildCPU astdef.html#mBuildCPU TMagic.mBuildCPU 483
|
||||
nim mAppType astdef.html#mAppType TMagic.mAppType 483
|
||||
nim mCompileOption astdef.html#mCompileOption TMagic.mCompileOption 483
|
||||
nim mCompileOptionArg astdef.html#mCompileOptionArg TMagic.mCompileOptionArg 483
|
||||
nim mNLen astdef.html#mNLen TMagic.mNLen 483
|
||||
nim mNChild astdef.html#mNChild TMagic.mNChild 483
|
||||
nim mNSetChild astdef.html#mNSetChild TMagic.mNSetChild 483
|
||||
nim mNAdd astdef.html#mNAdd TMagic.mNAdd 483
|
||||
nim mNAddMultiple astdef.html#mNAddMultiple TMagic.mNAddMultiple 483
|
||||
nim mNDel astdef.html#mNDel TMagic.mNDel 483
|
||||
nim mNKind astdef.html#mNKind TMagic.mNKind 483
|
||||
nim mNSymKind astdef.html#mNSymKind TMagic.mNSymKind 483
|
||||
nim mNccValue astdef.html#mNccValue TMagic.mNccValue 483
|
||||
nim mNccInc astdef.html#mNccInc TMagic.mNccInc 483
|
||||
nim mNcsAdd astdef.html#mNcsAdd TMagic.mNcsAdd 483
|
||||
nim mNcsIncl astdef.html#mNcsIncl TMagic.mNcsIncl 483
|
||||
nim mNcsLen astdef.html#mNcsLen TMagic.mNcsLen 483
|
||||
nim mNcsAt astdef.html#mNcsAt TMagic.mNcsAt 483
|
||||
nim mNctPut astdef.html#mNctPut TMagic.mNctPut 483
|
||||
nim mNctLen astdef.html#mNctLen TMagic.mNctLen 483
|
||||
nim mNctGet astdef.html#mNctGet TMagic.mNctGet 483
|
||||
nim mNctHasNext astdef.html#mNctHasNext TMagic.mNctHasNext 483
|
||||
nim mNctNext astdef.html#mNctNext TMagic.mNctNext 483
|
||||
nim mNIntVal astdef.html#mNIntVal TMagic.mNIntVal 483
|
||||
nim mNFloatVal astdef.html#mNFloatVal TMagic.mNFloatVal 483
|
||||
nim mNSymbol astdef.html#mNSymbol TMagic.mNSymbol 483
|
||||
nim mNIdent astdef.html#mNIdent TMagic.mNIdent 483
|
||||
nim mNGetType astdef.html#mNGetType TMagic.mNGetType 483
|
||||
nim mNStrVal astdef.html#mNStrVal TMagic.mNStrVal 483
|
||||
nim mNSetIntVal astdef.html#mNSetIntVal TMagic.mNSetIntVal 483
|
||||
nim mNSetFloatVal astdef.html#mNSetFloatVal TMagic.mNSetFloatVal 483
|
||||
nim mNSetSymbol astdef.html#mNSetSymbol TMagic.mNSetSymbol 483
|
||||
nim mNSetIdent astdef.html#mNSetIdent TMagic.mNSetIdent 483
|
||||
nim mNSetStrVal astdef.html#mNSetStrVal TMagic.mNSetStrVal 483
|
||||
nim mNLineInfo astdef.html#mNLineInfo TMagic.mNLineInfo 483
|
||||
nim mNNewNimNode astdef.html#mNNewNimNode TMagic.mNNewNimNode 483
|
||||
nim mNCopyNimNode astdef.html#mNCopyNimNode TMagic.mNCopyNimNode 483
|
||||
nim mNCopyNimTree astdef.html#mNCopyNimTree TMagic.mNCopyNimTree 483
|
||||
nim mStrToIdent astdef.html#mStrToIdent TMagic.mStrToIdent 483
|
||||
nim mNSigHash astdef.html#mNSigHash TMagic.mNSigHash 483
|
||||
nim mNSizeOf astdef.html#mNSizeOf TMagic.mNSizeOf 483
|
||||
nim mNBindSym astdef.html#mNBindSym TMagic.mNBindSym 483
|
||||
nim mNCallSite astdef.html#mNCallSite TMagic.mNCallSite 483
|
||||
nim mEqIdent astdef.html#mEqIdent TMagic.mEqIdent 483
|
||||
nim mEqNimrodNode astdef.html#mEqNimrodNode TMagic.mEqNimrodNode 483
|
||||
nim mSameNodeType astdef.html#mSameNodeType TMagic.mSameNodeType 483
|
||||
nim mGetImpl astdef.html#mGetImpl TMagic.mGetImpl 483
|
||||
nim mNGenSym astdef.html#mNGenSym TMagic.mNGenSym 483
|
||||
nim mNHint astdef.html#mNHint TMagic.mNHint 483
|
||||
nim mNWarning astdef.html#mNWarning TMagic.mNWarning 483
|
||||
nim mNError astdef.html#mNError TMagic.mNError 483
|
||||
nim mInstantiationInfo astdef.html#mInstantiationInfo TMagic.mInstantiationInfo 483
|
||||
nim mGetTypeInfo astdef.html#mGetTypeInfo TMagic.mGetTypeInfo 483
|
||||
nim mGetTypeInfoV2 astdef.html#mGetTypeInfoV2 TMagic.mGetTypeInfoV2 483
|
||||
nim mNimvm astdef.html#mNimvm TMagic.mNimvm 483
|
||||
nim mIntDefine astdef.html#mIntDefine TMagic.mIntDefine 483
|
||||
nim mStrDefine astdef.html#mStrDefine TMagic.mStrDefine 483
|
||||
nim mBoolDefine astdef.html#mBoolDefine TMagic.mBoolDefine 483
|
||||
nim mGenericDefine astdef.html#mGenericDefine TMagic.mGenericDefine 483
|
||||
nim mRunnableExamples astdef.html#mRunnableExamples TMagic.mRunnableExamples 483
|
||||
nim mException astdef.html#mException TMagic.mException 483
|
||||
nim mBuiltinType astdef.html#mBuiltinType TMagic.mBuiltinType 483
|
||||
nim mSymOwner astdef.html#mSymOwner TMagic.mSymOwner 483
|
||||
nim mUncheckedArray astdef.html#mUncheckedArray TMagic.mUncheckedArray 483
|
||||
nim mGetImplTransf astdef.html#mGetImplTransf TMagic.mGetImplTransf 483
|
||||
nim mSymIsInstantiationOf astdef.html#mSymIsInstantiationOf TMagic.mSymIsInstantiationOf 483
|
||||
nim mNodeId astdef.html#mNodeId TMagic.mNodeId 483
|
||||
nim mPrivateAccess astdef.html#mPrivateAccess TMagic.mPrivateAccess 483
|
||||
nim mZeroDefault astdef.html#mZeroDefault TMagic.mZeroDefault 483
|
||||
nim TMagic astdef.html#TMagic enum TMagic 483
|
||||
nim ctfeWhitelist astdef.html#ctfeWhitelist const ctfeWhitelist 563
|
||||
nim generatedMagics astdef.html#generatedMagics const generatedMagics 591
|
||||
nim PNode astdef.html#PNode type PNode 595
|
||||
nim TNodeSeq astdef.html#TNodeSeq type TNodeSeq 596
|
||||
nim PType astdef.html#PType type PType 597
|
||||
nim PSym astdef.html#PSym type PSym 598
|
||||
nim TNode astdef.html#TNode object TNode 599
|
||||
nim TStrTable astdef.html#TStrTable object TStrTable 621
|
||||
nim locNone astdef.html#locNone TLocKind.locNone 626
|
||||
nim locTemp astdef.html#locTemp TLocKind.locTemp 626
|
||||
nim locLocalVar astdef.html#locLocalVar TLocKind.locLocalVar 626
|
||||
nim locGlobalVar astdef.html#locGlobalVar TLocKind.locGlobalVar 626
|
||||
nim locParam astdef.html#locParam TLocKind.locParam 626
|
||||
nim locField astdef.html#locField TLocKind.locField 626
|
||||
nim locExpr astdef.html#locExpr TLocKind.locExpr 626
|
||||
nim locProc astdef.html#locProc TLocKind.locProc 626
|
||||
nim locData astdef.html#locData TLocKind.locData 626
|
||||
nim locCall astdef.html#locCall TLocKind.locCall 626
|
||||
nim locOther astdef.html#locOther TLocKind.locOther 626
|
||||
nim TLocKind astdef.html#TLocKind enum TLocKind 626
|
||||
nim lfIndirect astdef.html#lfIndirect TLocFlag.lfIndirect 638
|
||||
nim lfNoDeepCopy astdef.html#lfNoDeepCopy TLocFlag.lfNoDeepCopy 638
|
||||
nim lfNoDecl astdef.html#lfNoDecl TLocFlag.lfNoDecl 638
|
||||
nim lfDynamicLib astdef.html#lfDynamicLib TLocFlag.lfDynamicLib 638
|
||||
nim lfExportLib astdef.html#lfExportLib TLocFlag.lfExportLib 638
|
||||
nim lfHeader astdef.html#lfHeader TLocFlag.lfHeader 638
|
||||
nim lfImportCompilerProc astdef.html#lfImportCompilerProc TLocFlag.lfImportCompilerProc 638
|
||||
nim lfSingleUse astdef.html#lfSingleUse TLocFlag.lfSingleUse 638
|
||||
nim lfEnforceDeref astdef.html#lfEnforceDeref TLocFlag.lfEnforceDeref 638
|
||||
nim lfPrepareForMutation astdef.html#lfPrepareForMutation TLocFlag.lfPrepareForMutation 638
|
||||
nim TLocFlag astdef.html#TLocFlag enum TLocFlag 638
|
||||
nim OnUnknown astdef.html#OnUnknown TStorageLoc.OnUnknown 651
|
||||
nim OnStatic astdef.html#OnStatic TStorageLoc.OnStatic 651
|
||||
nim OnStack astdef.html#OnStack TStorageLoc.OnStack 651
|
||||
nim OnHeap astdef.html#OnHeap TStorageLoc.OnHeap 651
|
||||
nim TStorageLoc astdef.html#TStorageLoc enum TStorageLoc 651
|
||||
nim TLocFlags astdef.html#TLocFlags type TLocFlags 657
|
||||
nim TLoc astdef.html#TLoc object TLoc 658
|
||||
nim libHeader astdef.html#libHeader TLibKind.libHeader 667
|
||||
nim libDynamic astdef.html#libDynamic TLibKind.libDynamic 667
|
||||
nim TLibKind astdef.html#TLibKind enum TLibKind 667
|
||||
nim TLib astdef.html#TLib object TLib 670
|
||||
nim CompilesId astdef.html#CompilesId type CompilesId 679
|
||||
nim TInstantiation astdef.html#TInstantiation object TInstantiation 681
|
||||
nim PInstantiation astdef.html#PInstantiation type PInstantiation 689
|
||||
nim TScope astdef.html#TScope object TScope 691
|
||||
nim PScope astdef.html#PScope type PScope 698
|
||||
nim Complete astdef.html#Complete ItemState.Complete 700
|
||||
nim Partial astdef.html#Partial ItemState.Partial 700
|
||||
nim Sealed astdef.html#Sealed ItemState.Sealed 700
|
||||
nim ItemState astdef.html#ItemState enum ItemState 700
|
||||
nim PLib astdef.html#PLib type PLib 705
|
||||
nim TSym astdef.html#TSym object TSym 706
|
||||
nim TTypeSeq astdef.html#TTypeSeq type TTypeSeq 767
|
||||
nim attachedWasMoved astdef.html#attachedWasMoved TTypeAttachedOp.attachedWasMoved 769
|
||||
nim attachedDestructor astdef.html#attachedDestructor TTypeAttachedOp.attachedDestructor 769
|
||||
nim attachedAsgn astdef.html#attachedAsgn TTypeAttachedOp.attachedAsgn 769
|
||||
nim attachedDup astdef.html#attachedDup TTypeAttachedOp.attachedDup 769
|
||||
nim attachedSink astdef.html#attachedSink TTypeAttachedOp.attachedSink 769
|
||||
nim attachedTrace astdef.html#attachedTrace TTypeAttachedOp.attachedTrace 769
|
||||
nim attachedDeepCopy astdef.html#attachedDeepCopy TTypeAttachedOp.attachedDeepCopy 769
|
||||
nim TTypeAttachedOp astdef.html#TTypeAttachedOp enum TTypeAttachedOp 769
|
||||
nim TType astdef.html#TType object TType 778
|
||||
nim TPair astdef.html#TPair object TPair 811
|
||||
nim TPairSeq astdef.html#TPairSeq type TPairSeq 814
|
||||
nim TIdPair astdef.html#TIdPair object TIdPair 816
|
||||
nim TIdPairSeq astdef.html#TIdPairSeq type TIdPairSeq 820
|
||||
nim TIdTable astdef.html#TIdTable object TIdTable 821
|
||||
nim TNodePair astdef.html#TNodePair object TNodePair 825
|
||||
nim TNodePairSeq astdef.html#TNodePairSeq type TNodePairSeq 830
|
||||
nim TNodeTable astdef.html#TNodeTable object TNodeTable 831
|
||||
nim TObjectSeq astdef.html#TObjectSeq type TObjectSeq 837
|
||||
nim TObjectSet astdef.html#TObjectSet object TObjectSet 838
|
||||
nim impUnknown astdef.html#impUnknown TImplication.impUnknown 842
|
||||
nim impNo astdef.html#impNo TImplication.impNo 842
|
||||
nim impYes astdef.html#impYes TImplication.impYes 842
|
||||
nim TImplication astdef.html#TImplication enum TImplication 842
|
||||
nim OverloadableSyms astdef.html#OverloadableSyms const OverloadableSyms 847
|
||||
nim GenericTypes astdef.html#GenericTypes const GenericTypes 850
|
||||
nim StructuralEquivTypes astdef.html#StructuralEquivTypes const StructuralEquivTypes 853
|
||||
nim ConcreteTypes astdef.html#ConcreteTypes const ConcreteTypes 857
|
||||
nim IntegralTypes astdef.html#IntegralTypes const IntegralTypes 864
|
||||
nim ConstantDataTypes astdef.html#ConstantDataTypes const ConstantDataTypes 866
|
||||
nim NilableTypes astdef.html#NilableTypes const NilableTypes 868
|
||||
nim PtrLikeKinds astdef.html#PtrLikeKinds const PtrLikeKinds 870
|
||||
nim PersistentNodeFlags astdef.html#PersistentNodeFlags const PersistentNodeFlags 871
|
||||
nim namePos astdef.html#namePos const namePos 879
|
||||
nim patternPos astdef.html#patternPos const patternPos 880
|
||||
nim genericParamsPos astdef.html#genericParamsPos const genericParamsPos 881
|
||||
nim paramsPos astdef.html#paramsPos const paramsPos 882
|
||||
nim pragmasPos astdef.html#pragmasPos const pragmasPos 883
|
||||
nim miscPos astdef.html#miscPos const miscPos 884
|
||||
nim bodyPos astdef.html#bodyPos const bodyPos 885
|
||||
nim resultPos astdef.html#resultPos const resultPos 886
|
||||
nim dispatcherPos astdef.html#dispatcherPos const dispatcherPos 887
|
||||
nim nfAllFieldsSet astdef.html#nfAllFieldsSet const nfAllFieldsSet 889
|
||||
nim nkIdentKinds astdef.html#nkIdentKinds const nkIdentKinds 891
|
||||
nim nkPragmaCallKinds astdef.html#nkPragmaCallKinds const nkPragmaCallKinds 894
|
||||
nim nkLiterals astdef.html#nkLiterals const nkLiterals 895
|
||||
nim nkFloatLiterals astdef.html#nkFloatLiterals const nkFloatLiterals 896
|
||||
nim nkLambdaKinds astdef.html#nkLambdaKinds const nkLambdaKinds 897
|
||||
nim declarativeDefs astdef.html#declarativeDefs const declarativeDefs 898
|
||||
nim routineDefs astdef.html#routineDefs const routineDefs 899
|
||||
nim procDefs astdef.html#procDefs const procDefs 900
|
||||
nim callableDefs astdef.html#callableDefs const callableDefs 901
|
||||
nim nkSymChoices astdef.html#nkSymChoices const nkSymChoices 903
|
||||
nim nkStrKinds astdef.html#nkStrKinds const nkStrKinds 904
|
||||
nim skLocalVars astdef.html#skLocalVars const skLocalVars 906
|
||||
nim skProcKinds astdef.html#skProcKinds const skProcKinds 907
|
||||
nim defaultSize astdef.html#defaultSize const defaultSize 910
|
||||
nim defaultAlignment astdef.html#defaultAlignment const defaultAlignment 911
|
||||
nim defaultOffset astdef.html#defaultOffset const defaultOffset 912
|
||||
nim forceLazyBodyHook astdef.html#forceLazyBodyHook var forceLazyBodyHook 915
|
||||
nim len astdef.html#len,PNode proc len(n: PNode): int 930
|
||||
nim safeLen astdef.html#safeLen,PNode proc safeLen(n: PNode): int 935
|
||||
nim `[]` astdef.html#[].t,PNode,int template `[]`(n: PNode; i: int): PNode 940
|
||||
nim `[]=` astdef.html#[]=.t,PNode,int,PNode template `[]=`(n: PNode; i: int; x: PNode) 941
|
||||
nim `[]` astdef.html#[].t,PNode,BackwardsIndex template `[]`(n: PNode; i: BackwardsIndex): PNode 943
|
||||
nim `[]=` astdef.html#[]=.t,PNode,BackwardsIndex,PNode template `[]=`(n: PNode; i: BackwardsIndex; x: PNode) 944
|
||||
nim items astdef.html#items.i,PNode iterator items(n: PNode): PNode 946
|
||||
nim newNode astdef.html#newNode,TNodeKind proc newNode(kind: TNodeKind): PNode 971
|
||||
nim newNodeI astdef.html#newNodeI,TNodeKind,TLineInfo proc newNodeI(kind: TNodeKind; info: TLineInfo): PNode 976
|
||||
nim newNodeI astdef.html#newNodeI,TNodeKind,TLineInfo,int proc newNodeI(kind: TNodeKind; info: TLineInfo; children: int): PNode 981
|
||||
nim newNodeIT astdef.html#newNodeIT,TNodeKind,TLineInfo,PType proc newNodeIT(kind: TNodeKind; info: TLineInfo; typ: PType): PNode 988
|
||||
nim newNode astdef.html#newNode,TNodeKind,TLineInfo proc newNode(kind: TNodeKind; info: TLineInfo): PNode 994
|
||||
nim newIdentNode astdef.html#newIdentNode,PIdent,TLineInfo proc newIdentNode(ident: PIdent; info: TLineInfo): PNode 999
|
||||
nim newSymNode astdef.html#newSymNode,PSym,TLineInfo proc newSymNode(sym: PSym; info: TLineInfo): PNode 1004
|
||||
nim newStrNode astdef.html#newStrNode,TNodeKind,string proc newStrNode(kind: TNodeKind; strVal: string): PNode 1018
|
||||
nim newStrNode astdef.html#newStrNode,string,TLineInfo proc newStrNode(strVal: string; info: TLineInfo): PNode 1022
|
||||
nim HookEntry astdef.html#HookEntry LogEntryKind.HookEntry 1031
|
||||
nim ConverterEntry astdef.html#ConverterEntry LogEntryKind.ConverterEntry 1031
|
||||
nim MethodEntry astdef.html#MethodEntry LogEntryKind.MethodEntry 1031
|
||||
nim EnumToStrEntry astdef.html#EnumToStrEntry LogEntryKind.EnumToStrEntry 1031
|
||||
nim GenericInstEntry astdef.html#GenericInstEntry LogEntryKind.GenericInstEntry 1031
|
||||
nim PureEnumEntry astdef.html#PureEnumEntry LogEntryKind.PureEnumEntry 1031
|
||||
nim LogEntryKind astdef.html#LogEntryKind enum LogEntryKind 1031
|
||||
nim LogEntry astdef.html#LogEntry object LogEntry 1034
|
||||
nim forcePartial astdef.html#forcePartial,PSym proc forcePartial(s: PSym) 1043
|
||||
nim forcePartial astdef.html#forcePartial,PType proc forcePartial(t: PType) 1077
|
||||
nim GrowthFactor astdef.html#GrowthFactor const GrowthFactor 1095
|
||||
nim StartSize astdef.html#StartSize const StartSize 1096
|
||||
nim nextTry astdef.html#nextTry,Hash,Hash proc nextTry(h, maxHash: Hash): Hash 1098
|
||||
nim mustRehash astdef.html#mustRehash,int,int proc mustRehash(length, counter: int): bool 1104
|
||||
nim strTableContains astdef.html#strTableContains,TStrTable,PSym proc strTableContains(t: TStrTable; n: PSym): bool 1108
|
||||
nim symTabReplace astdef.html#symTabReplace,TStrTable,PSym,PSym proc symTabReplace(t: var TStrTable; prevSym: PSym; newSym: PSym) 1137
|
||||
nim strTableAdd astdef.html#strTableAdd,TStrTable,PSym proc strTableAdd(t: var TStrTable; n: PSym) 1147
|
||||
nim strTableInclReportConflict astdef.html#strTableInclReportConflict,TStrTable,PSym proc strTableInclReportConflict(t: var TStrTable; n: PSym; onConflictKeepOld = false): PSym 1152
|
||||
nim strTableIncl astdef.html#strTableIncl,TStrTable,PSym proc strTableIncl(t: var TStrTable; n: PSym; onConflictKeepOld = false): bool 1185
|
||||
nim strTableGet astdef.html#strTableGet,TStrTable,PIdent proc strTableGet(t: TStrTable; name: PIdent): PSym 1189
|
||||
nim nodeCommentReader astdef.html#nodeCommentReader var nodeCommentReader 1202
|
||||
nim nodeCommentWriter astdef.html#nodeCommentWriter var nodeCommentWriter 1203
|
||||
nimgrp newnodei astdef.html#newNodeI-procs-all proc 976
|
||||
nimgrp newstrnode astdef.html#newStrNode-procs-all proc 1018
|
||||
nimgrp newnode astdef.html#newNode-procs-all proc 971
|
||||
nimgrp forcepartial astdef.html#forcePartial-procs-all proc 1043
|
||||
nimgrp []= astdef.html#[]=-templates-all template 941
|
||||
nimgrp [] astdef.html#[]-templates-all template 940
|
||||
256
compiler/astmsgs.html
Normal file
256
compiler/astmsgs.html
Normal file
@@ -0,0 +1,256 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>astmsgs</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">astmsgs</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">addDeclaredLoc
|
||||
<li><a class="reference" href="#addDeclaredLoc%2Cstring%2CConfigRef%2CPSym" title="addDeclaredLoc(result: var string; conf: ConfigRef; sym: PSym)">addDeclaredLoc(result: var string; conf: ConfigRef; sym: PSym)</a></li>
|
||||
<li><a class="reference" href="#addDeclaredLoc%2Cstring%2CConfigRef%2CPType" title="addDeclaredLoc(result: var string; conf: ConfigRef; typ: PType)">addDeclaredLoc(result: var string; conf: ConfigRef; typ: PType)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addDeclaredLocMaybe
|
||||
<li><a class="reference" href="#addDeclaredLocMaybe%2Cstring%2CConfigRef%2CPSym" title="addDeclaredLocMaybe(result: var string; conf: ConfigRef; sym: PSym)">addDeclaredLocMaybe(result: var string; conf: ConfigRef; sym: PSym)</a></li>
|
||||
<li><a class="reference" href="#addDeclaredLocMaybe%2Cstring%2CConfigRef%2CPType" title="addDeclaredLocMaybe(result: var string; conf: ConfigRef; typ: PType)">addDeclaredLocMaybe(result: var string; conf: ConfigRef; typ: PType)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addTypeNodeDeclaredLoc
|
||||
<li><a class="reference" href="#addTypeNodeDeclaredLoc%2Cstring%2CConfigRef%2CPType" title="addTypeNodeDeclaredLoc(result: var string; conf: ConfigRef; typ: PType)">addTypeNodeDeclaredLoc(result: var string; conf: ConfigRef; typ: PType)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">genFieldDefect
|
||||
<li><a class="reference" href="#genFieldDefect%2CConfigRef%2Cstring%2CPSym" title="genFieldDefect(conf: ConfigRef; field: string; disc: PSym): string">genFieldDefect(conf: ConfigRef; field: string; disc: PSym): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">typSym
|
||||
<li><a class="reference" href="#typSym%2CPType" title="typSym(t: PType): PSym">typSym(t: PType): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">quoteExpr
|
||||
<li><a class="reference" href="#quoteExpr.t%2Cstring" title="quoteExpr(a: string): untyped">quoteExpr(a: string): untyped</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astmsgs.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="msgs.html">msgs</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="addDeclaredLoc-procs-all">
|
||||
<div id="addDeclaredLoc,string,ConfigRef,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addDeclaredLoc%2Cstring%2CConfigRef%2CPSym"><span class="Identifier">addDeclaredLoc</span></a><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">sym</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astmsgs.nim#L10" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L10" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="addDeclaredLoc,string,ConfigRef,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addDeclaredLoc%2Cstring%2CConfigRef%2CPType"><span class="Identifier">addDeclaredLoc</span></a><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typ</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astmsgs.nim#L17" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L17" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addDeclaredLocMaybe-procs-all">
|
||||
<div id="addDeclaredLocMaybe,string,ConfigRef,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addDeclaredLocMaybe%2Cstring%2CConfigRef%2CPSym"><span class="Identifier">addDeclaredLocMaybe</span></a><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">sym</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astmsgs.nim#L13" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L13" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="addDeclaredLocMaybe,string,ConfigRef,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addDeclaredLocMaybe%2Cstring%2CConfigRef%2CPType"><span class="Identifier">addDeclaredLocMaybe</span></a><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typ</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astmsgs.nim#L33" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L33" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addTypeNodeDeclaredLoc-procs-all">
|
||||
<div id="addTypeNodeDeclaredLoc,string,ConfigRef,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addTypeNodeDeclaredLoc%2Cstring%2CConfigRef%2CPType"><span class="Identifier">addTypeNodeDeclaredLoc</span></a><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typ</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astmsgs.nim#L27" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L27" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="genFieldDefect-procs-all">
|
||||
<div id="genFieldDefect,ConfigRef,string,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genFieldDefect%2CConfigRef%2Cstring%2CPSym"><span class="Identifier">genFieldDefect</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">field</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">disc</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astmsgs.nim#L40" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L40" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="typSym-procs-all">
|
||||
<div id="typSym,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#typSym%2CPType"><span class="Identifier">typSym</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astmsgs.nim#L5" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L5" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="18">
|
||||
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
||||
<dl class="item">
|
||||
<div id="quoteExpr-templates-all">
|
||||
<div id="quoteExpr.t,string">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#quoteExpr.t%2Cstring"><span class="Identifier">quoteExpr</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
can be used for quoting expressions in error msgs.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astmsgs.nim#L36" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L36" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:08 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
11
compiler/astmsgs.idx
Normal file
11
compiler/astmsgs.idx
Normal file
@@ -0,0 +1,11 @@
|
||||
nimTitle astmsgs astmsgs.html module astmsgs 0
|
||||
nim typSym astmsgs.html#typSym,PType proc typSym(t: PType): PSym 5
|
||||
nim addDeclaredLoc astmsgs.html#addDeclaredLoc,string,ConfigRef,PSym proc addDeclaredLoc(result: var string; conf: ConfigRef; sym: PSym) 10
|
||||
nim addDeclaredLocMaybe astmsgs.html#addDeclaredLocMaybe,string,ConfigRef,PSym proc addDeclaredLocMaybe(result: var string; conf: ConfigRef; sym: PSym) 13
|
||||
nim addDeclaredLoc astmsgs.html#addDeclaredLoc,string,ConfigRef,PType proc addDeclaredLoc(result: var string; conf: ConfigRef; typ: PType) 17
|
||||
nim addTypeNodeDeclaredLoc astmsgs.html#addTypeNodeDeclaredLoc,string,ConfigRef,PType proc addTypeNodeDeclaredLoc(result: var string; conf: ConfigRef; typ: PType) 27
|
||||
nim addDeclaredLocMaybe astmsgs.html#addDeclaredLocMaybe,string,ConfigRef,PType proc addDeclaredLocMaybe(result: var string; conf: ConfigRef; typ: PType) 33
|
||||
nim quoteExpr astmsgs.html#quoteExpr.t,string template quoteExpr(a: string): untyped 36
|
||||
nim genFieldDefect astmsgs.html#genFieldDefect,ConfigRef,string,PSym proc genFieldDefect(conf: ConfigRef; field: string; disc: PSym): string 40
|
||||
nimgrp adddeclaredloc astmsgs.html#addDeclaredLoc-procs-all proc 10
|
||||
nimgrp adddeclaredlocmaybe astmsgs.html#addDeclaredLocMaybe-procs-all proc 13
|
||||
200
compiler/astyaml.html
Normal file
200
compiler/astyaml.html
Normal file
@@ -0,0 +1,200 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>astyaml</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">astyaml</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">addYamlString
|
||||
<li><a class="reference" href="#addYamlString%2Cstring%2Cstring" title="addYamlString(res: var string; s: string)">addYamlString(res: var string; s: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">lineInfoToStr
|
||||
<li><a class="reference" href="#lineInfoToStr%2CConfigRef%2CTLineInfo" title="lineInfoToStr(conf: ConfigRef; info: TLineInfo): string">lineInfoToStr(conf: ConfigRef; info: TLineInfo): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">symToYaml
|
||||
<li><a class="reference" href="#symToYaml%2CConfigRef%2CPSym%2Cint%2Cint" title="symToYaml(conf: ConfigRef; n: PSym; indent: int = 0; maxRecDepth: int = -1): string">symToYaml(conf: ConfigRef; n: PSym; indent: int = 0; maxRecDepth: int = -1): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">treeToYaml
|
||||
<li><a class="reference" href="#treeToYaml%2CConfigRef%2CPNode%2Cint%2Cint" title="treeToYaml(conf: ConfigRef; n: PNode; indent: int = 0; maxRecDepth: int = -1): string">treeToYaml(conf: ConfigRef; n: PNode; indent: int = 0; maxRecDepth: int = -1): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">typeToYaml
|
||||
<li><a class="reference" href="#typeToYaml%2CConfigRef%2CPType%2Cint%2Cint" title="typeToYaml(conf: ConfigRef; n: PType; indent: int = 0; maxRecDepth: int = -1): string">typeToYaml(conf: ConfigRef; n: PType; indent: int = 0; maxRecDepth: int = -1): string</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astyaml.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astyaml.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="rodutils.html">rodutils</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="addYamlString-procs-all">
|
||||
<div id="addYamlString,string,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addYamlString%2Cstring%2Cstring"><span class="Identifier">addYamlString</span></a><span class="Other">(</span><span class="Identifier">res</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astyaml.nim#L15" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astyaml.nim#L15" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="lineInfoToStr-procs-all">
|
||||
<div id="lineInfoToStr,ConfigRef,TLineInfo">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#lineInfoToStr%2CConfigRef%2CTLineInfo"><span class="Identifier">lineInfoToStr</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astyaml.nim#L43" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astyaml.nim#L43" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="symToYaml-procs-all">
|
||||
<div id="symToYaml,ConfigRef,PSym,int,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#symToYaml%2CConfigRef%2CPSym%2Cint%2Cint"><span class="Identifier">symToYaml</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">indent</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">maxRecDepth</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Other">=</span> <span class="DecNumber">-1</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astyaml.nim#L157" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astyaml.nim#L157" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="treeToYaml-procs-all">
|
||||
<div id="treeToYaml,ConfigRef,PNode,int,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#treeToYaml%2CConfigRef%2CPNode%2Cint%2Cint"><span class="Identifier">treeToYaml</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">indent</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span>
|
||||
<span class="Identifier">maxRecDepth</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Other">=</span> <span class="DecNumber">-1</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astyaml.nim#L147" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astyaml.nim#L147" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="typeToYaml-procs-all">
|
||||
<div id="typeToYaml,ConfigRef,PType,int,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#typeToYaml%2CConfigRef%2CPType%2Cint%2Cint"><span class="Identifier">typeToYaml</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">indent</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span>
|
||||
<span class="Identifier">maxRecDepth</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Other">=</span> <span class="DecNumber">-1</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astyaml.nim#L152" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astyaml.nim#L152" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:08 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
6
compiler/astyaml.idx
Normal file
6
compiler/astyaml.idx
Normal file
@@ -0,0 +1,6 @@
|
||||
nimTitle astyaml astyaml.html module astyaml 0
|
||||
nim addYamlString astyaml.html#addYamlString,string,string proc addYamlString(res: var string; s: string) 15
|
||||
nim lineInfoToStr astyaml.html#lineInfoToStr,ConfigRef,TLineInfo proc lineInfoToStr(conf: ConfigRef; info: TLineInfo): string 43
|
||||
nim treeToYaml astyaml.html#treeToYaml,ConfigRef,PNode,int,int proc treeToYaml(conf: ConfigRef; n: PNode; indent: int = 0; maxRecDepth: int = -1): string 147
|
||||
nim typeToYaml astyaml.html#typeToYaml,ConfigRef,PType,int,int proc typeToYaml(conf: ConfigRef; n: PType; indent: int = 0; maxRecDepth: int = -1): string 152
|
||||
nim symToYaml astyaml.html#symToYaml,ConfigRef,PSym,int,int proc symToYaml(conf: ConfigRef; n: PSym; indent: int = 0; maxRecDepth: int = -1): string 157
|
||||
356
compiler/bitsets.html
Normal file
356
compiler/bitsets.html
Normal file
@@ -0,0 +1,356 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>bitsets</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">bitsets</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#TBitSet" title="TBitSet = seq[ElemType]">TBitSet</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#ElemSize" title="ElemSize = 8">ElemSize</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">bitSetCard
|
||||
<li><a class="reference" href="#bitSetCard%2CTBitSet" title="bitSetCard(x: TBitSet): BiggestInt">bitSetCard(x: TBitSet): BiggestInt</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetContains
|
||||
<li><a class="reference" href="#bitSetContains%2CTBitSet%2CTBitSet" title="bitSetContains(x, y: TBitSet): bool">bitSetContains(x, y: TBitSet): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetDiff
|
||||
<li><a class="reference" href="#bitSetDiff%2CTBitSet%2CTBitSet" title="bitSetDiff(x: var TBitSet; y: TBitSet)">bitSetDiff(x: var TBitSet; y: TBitSet)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetEquals
|
||||
<li><a class="reference" href="#bitSetEquals%2CTBitSet%2CTBitSet" title="bitSetEquals(x, y: TBitSet): bool">bitSetEquals(x, y: TBitSet): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetExcl
|
||||
<li><a class="reference" href="#bitSetExcl%2CTBitSet%2CBiggestInt" title="bitSetExcl(x: var TBitSet; elem: BiggestInt)">bitSetExcl(x: var TBitSet; elem: BiggestInt)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetIn
|
||||
<li><a class="reference" href="#bitSetIn%2CTBitSet%2CBiggestInt" title="bitSetIn(x: TBitSet; e: BiggestInt): bool">bitSetIn(x: TBitSet; e: BiggestInt): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetIncl
|
||||
<li><a class="reference" href="#bitSetIncl%2CTBitSet%2CBiggestInt" title="bitSetIncl(x: var TBitSet; elem: BiggestInt)">bitSetIncl(x: var TBitSet; elem: BiggestInt)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetInit
|
||||
<li><a class="reference" href="#bitSetInit%2CTBitSet%2Cint" title="bitSetInit(b: var TBitSet; length: int)">bitSetInit(b: var TBitSet; length: int)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetIntersect
|
||||
<li><a class="reference" href="#bitSetIntersect%2CTBitSet%2CTBitSet" title="bitSetIntersect(x: var TBitSet; y: TBitSet)">bitSetIntersect(x: var TBitSet; y: TBitSet)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetSymDiff
|
||||
<li><a class="reference" href="#bitSetSymDiff%2CTBitSet%2CTBitSet" title="bitSetSymDiff(x: var TBitSet; y: TBitSet)">bitSetSymDiff(x: var TBitSet; y: TBitSet)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetToWord
|
||||
<li><a class="reference" href="#bitSetToWord%2CTBitSet%2Cint" title="bitSetToWord(s: TBitSet; size: int): BiggestUInt">bitSetToWord(s: TBitSet; size: int): BiggestUInt</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">bitSetUnion
|
||||
<li><a class="reference" href="#bitSetUnion%2CTBitSet%2CTBitSet" title="bitSetUnion(x: var TBitSet; y: TBitSet)">bitSetUnion(x: var TBitSet; y: TBitSet)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="TBitSet">
|
||||
<dt><pre><a href="#TBitSet"><span class="Identifier">TBitSet</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">ElemType</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L18" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L18" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="ElemSize">
|
||||
<dt><pre><a href="#ElemSize"><span class="Identifier">ElemSize</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L22" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L22" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="bitSetCard-procs-all">
|
||||
<div id="bitSetCard,TBitSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetCard%2CTBitSet"><span class="Identifier">bitSetCard</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L89" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L89" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetContains-procs-all">
|
||||
<div id="bitSetContains,TBitSet,TBitSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetContains%2CTBitSet%2CTBitSet"><span class="Identifier">bitSetContains</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L62" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L62" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetDiff-procs-all">
|
||||
<div id="bitSetDiff,TBitSet,TBitSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetDiff%2CTBitSet%2CTBitSet"><span class="Identifier">bitSetDiff</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L47" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L47" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetEquals-procs-all">
|
||||
<div id="bitSetEquals,TBitSet,TBitSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetEquals%2CTBitSet%2CTBitSet"><span class="Identifier">bitSetEquals</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L56" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L56" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetExcl-procs-all">
|
||||
<div id="bitSetExcl,TBitSet,BiggestInt">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetExcl%2CTBitSet%2CBiggestInt"><span class="Identifier">bitSetExcl</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">elem</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L37" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L37" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetIn-procs-all">
|
||||
<div id="bitSetIn,TBitSet,BiggestInt">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetIn%2CTBitSet%2CBiggestInt"><span class="Identifier">bitSetIn</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">e</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L29" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L29" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetIncl-procs-all">
|
||||
<div id="bitSetIncl,TBitSet,BiggestInt">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetIncl%2CTBitSet%2CBiggestInt"><span class="Identifier">bitSetIncl</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">elem</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L32" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L32" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetInit-procs-all">
|
||||
<div id="bitSetInit,TBitSet,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetInit%2CTBitSet%2Cint"><span class="Identifier">bitSetInit</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">length</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L41" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L41" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetIntersect-procs-all">
|
||||
<div id="bitSetIntersect,TBitSet,TBitSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetIntersect%2CTBitSet%2CTBitSet"><span class="Identifier">bitSetIntersect</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L53" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L53" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetSymDiff-procs-all">
|
||||
<div id="bitSetSymDiff,TBitSet,TBitSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetSymDiff%2CTBitSet%2CTBitSet"><span class="Identifier">bitSetSymDiff</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L50" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L50" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetToWord-procs-all">
|
||||
<div id="bitSetToWord,TBitSet,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetToWord%2CTBitSet%2Cint"><span class="Identifier">bitSetToWord</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestUInt</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L94" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L94" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="bitSetUnion-procs-all">
|
||||
<div id="bitSetUnion,TBitSet,TBitSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#bitSetUnion%2CTBitSet%2CTBitSet"><span class="Identifier">bitSetUnion</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/bitsets.nim#L44" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/bitsets.nim#L44" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:09 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
15
compiler/bitsets.idx
Normal file
15
compiler/bitsets.idx
Normal file
@@ -0,0 +1,15 @@
|
||||
nimTitle bitsets bitsets.html module bitsets 0
|
||||
nim TBitSet bitsets.html#TBitSet type TBitSet 18
|
||||
nim ElemSize bitsets.html#ElemSize const ElemSize 22
|
||||
nim bitSetIn bitsets.html#bitSetIn,TBitSet,BiggestInt proc bitSetIn(x: TBitSet; e: BiggestInt): bool 29
|
||||
nim bitSetIncl bitsets.html#bitSetIncl,TBitSet,BiggestInt proc bitSetIncl(x: var TBitSet; elem: BiggestInt) 32
|
||||
nim bitSetExcl bitsets.html#bitSetExcl,TBitSet,BiggestInt proc bitSetExcl(x: var TBitSet; elem: BiggestInt) 37
|
||||
nim bitSetInit bitsets.html#bitSetInit,TBitSet,int proc bitSetInit(b: var TBitSet; length: int) 41
|
||||
nim bitSetUnion bitsets.html#bitSetUnion,TBitSet,TBitSet proc bitSetUnion(x: var TBitSet; y: TBitSet) 44
|
||||
nim bitSetDiff bitsets.html#bitSetDiff,TBitSet,TBitSet proc bitSetDiff(x: var TBitSet; y: TBitSet) 47
|
||||
nim bitSetSymDiff bitsets.html#bitSetSymDiff,TBitSet,TBitSet proc bitSetSymDiff(x: var TBitSet; y: TBitSet) 50
|
||||
nim bitSetIntersect bitsets.html#bitSetIntersect,TBitSet,TBitSet proc bitSetIntersect(x: var TBitSet; y: TBitSet) 53
|
||||
nim bitSetEquals bitsets.html#bitSetEquals,TBitSet,TBitSet proc bitSetEquals(x, y: TBitSet): bool 56
|
||||
nim bitSetContains bitsets.html#bitSetContains,TBitSet,TBitSet proc bitSetContains(x, y: TBitSet): bool 62
|
||||
nim bitSetCard bitsets.html#bitSetCard,TBitSet proc bitSetCard(x: TBitSet): BiggestInt 89
|
||||
nim bitSetToWord bitsets.html#bitSetToWord,TBitSet,int proc bitSetToWord(s: TBitSet; size: int): BiggestUInt 94
|
||||
271
compiler/btrees.html
Normal file
271
compiler/btrees.html
Normal file
@@ -0,0 +1,271 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>btrees</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">btrees</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#BTree" title="BTree[Key; Val] = object">BTree</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">add
|
||||
<li><a class="reference" href="#add%2CBTree%5BKey%2CVal%5D%2CKey%2CVal" title="add[Key, Val](b: var BTree[Key, Val]; key: Key; val: Val)">add[Key, Val](b: var BTree[Key, Val]; key: Key; val: Val)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">contains
|
||||
<li><a class="reference" href="#contains%2CBTree%5BKey%2CVal%5D%2CKey" title="contains[Key, Val](b: BTree[Key, Val]; key: Key): bool">contains[Key, Val](b: BTree[Key, Val]; key: Key): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getOrDefault
|
||||
<li><a class="reference" href="#getOrDefault%2CBTree%5BKey%2CVal%5D%2CKey" title="getOrDefault[Key, Val](b: BTree[Key, Val]; key: Key): Val">getOrDefault[Key, Val](b: BTree[Key, Val]; key: Key): Val</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">hasNext
|
||||
<li><a class="reference" href="#hasNext%2CBTree%5BKey%2CVal%5D%2Cint" title="hasNext[Key, Val](b: BTree[Key, Val]; index: int): bool">hasNext[Key, Val](b: BTree[Key, Val]; index: int): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initBTree
|
||||
<li><a class="reference" href="#initBTree" title="initBTree[Key, Val](): BTree[Key, Val]">initBTree[Key, Val](): BTree[Key, Val]</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">len
|
||||
<li><a class="reference" href="#len%2CBTree%5BKey%2CVal%5D" title="len[Key, Val](b: BTree[Key, Val]): int">len[Key, Val](b: BTree[Key, Val]): int</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">next
|
||||
<li><a class="reference" href="#next%2CBTree%5BKey%2CVal%5D%2Cint" title="next[Key, Val](b: BTree[Key, Val]; index: int): (Key, Val, int)">next[Key, Val](b: BTree[Key, Val]; index: int): (Key, Val, int)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#15" id="65">Iterators</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">pairs
|
||||
<li><a class="reference" href="#pairs.i%2CBTree%5BKey%2CVal%5D" title="pairs[Key, Val](b: BTree[Key, Val]): (Key, Val)">pairs[Key, Val](b: BTree[Key, Val]): (Key, Val)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">BTree implementation with few features, but good enough for the Nim compiler's needs.</p>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="BTree">
|
||||
<dt><pre><a href="#BTree"><span class="Identifier">BTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">;</span> <span class="Identifier">Val</span><span class="Other">]</span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L30" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L30" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="add-procs-all">
|
||||
<div id="add,BTree[Key,Val],Key,Val">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#add%2CBTree%5BKey%2CVal%5D%2CKey%2CVal"><span class="Identifier">add</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#BTree"><span class="Identifier">BTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <span class="Identifier">Key</span><span class="Other">;</span> <span class="Identifier">val</span><span class="Other">:</span> <span class="Identifier">Val</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L121" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L121" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="contains-procs-all">
|
||||
<div id="contains,BTree[Key,Val],Key">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#contains%2CBTree%5BKey%2CVal%5D%2CKey"><span class="Identifier">contains</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <a href="#BTree"><span class="Identifier">BTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <span class="Identifier">Key</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L52" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L52" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getOrDefault-procs-all">
|
||||
<div id="getOrDefault,BTree[Key,Val],Key">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getOrDefault%2CBTree%5BKey%2CVal%5D%2CKey"><span class="Identifier">getOrDefault</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <a href="#BTree"><span class="Identifier">BTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <span class="Identifier">Key</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Val</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L40" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L40" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="hasNext-procs-all">
|
||||
<div id="hasNext,BTree[Key,Val],int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hasNext%2CBTree%5BKey%2CVal%5D%2Cint"><span class="Identifier">hasNext</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <a href="#BTree"><span class="Identifier">BTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">index</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L148" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L148" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initBTree-procs-all">
|
||||
<div id="initBTree">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initBTree"><span class="Identifier">initBTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="#BTree"><span class="Identifier">BTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L34" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L34" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="len-procs-all">
|
||||
<div id="len,BTree[Key,Val]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#len%2CBTree%5BKey%2CVal%5D"><span class="Identifier">len</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <a href="#BTree"><span class="Identifier">BTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int</span> {.<span class="Identifier">inline</span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L180" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L180" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="next-procs-all">
|
||||
<div id="next,BTree[Key,Val],int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#next%2CBTree%5BKey%2CVal%5D%2Cint"><span class="Identifier">next</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <a href="#BTree"><span class="Identifier">BTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">index</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Other">(</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">,</span> <span class="Identifier">int</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L158" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L158" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="15">
|
||||
<h1><a class="toc-backref" href="#15">Iterators</a></h1>
|
||||
<dl class="item">
|
||||
<div id="pairs-iterators-all">
|
||||
<div id="pairs.i,BTree[Key,Val]">
|
||||
<dt><pre><span class="Keyword">iterator</span> <a href="#pairs.i%2CBTree%5BKey%2CVal%5D"><span class="Identifier">pairs</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <a href="#BTree"><span class="Identifier">BTree</span></a><span class="Other">[</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <span class="Other">(</span><span class="Identifier">Key</span><span class="Other">,</span> <span class="Identifier">Val</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/btrees.nim#L173" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L173" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:08 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
10
compiler/btrees.idx
Normal file
10
compiler/btrees.idx
Normal file
@@ -0,0 +1,10 @@
|
||||
nimTitle btrees btrees.html module btrees 0
|
||||
nim BTree btrees.html#BTree object BTree 30
|
||||
nim initBTree btrees.html#initBTree proc initBTree[Key, Val](): BTree[Key, Val] 34
|
||||
nim getOrDefault btrees.html#getOrDefault,BTree[Key,Val],Key proc getOrDefault[Key, Val](b: BTree[Key, Val]; key: Key): Val 40
|
||||
nim contains btrees.html#contains,BTree[Key,Val],Key proc contains[Key, Val](b: BTree[Key, Val]; key: Key): bool 52
|
||||
nim add btrees.html#add,BTree[Key,Val],Key,Val proc add[Key, Val](b: var BTree[Key, Val]; key: Key; val: Val) 121
|
||||
nim hasNext btrees.html#hasNext,BTree[Key,Val],int proc hasNext[Key, Val](b: BTree[Key, Val]; index: int): bool 148
|
||||
nim next btrees.html#next,BTree[Key,Val],int proc next[Key, Val](b: BTree[Key, Val]; index: int): (Key, Val, int) 158
|
||||
nim pairs btrees.html#pairs.i,BTree[Key,Val] iterator pairs[Key, Val](b: BTree[Key, Val]): (Key, Val) 173
|
||||
nim len btrees.html#len,BTree[Key,Val] proc len[Key, Val](b: BTree[Key, Val]): int 180
|
||||
1005
compiler/cbuilderbase.html
Normal file
1005
compiler/cbuilderbase.html
Normal file
File diff suppressed because it is too large
Load Diff
73
compiler/cbuilderbase.idx
Normal file
73
compiler/cbuilderbase.idx
Normal file
@@ -0,0 +1,73 @@
|
||||
nimTitle cbuilderbase cbuilderbase.html module cbuilderbase 0
|
||||
nim Snippet cbuilderbase.html#Snippet type Snippet 4
|
||||
nim Builder cbuilderbase.html#Builder object Builder 5
|
||||
nim newBuilder cbuilderbase.html#newBuilder.t,string template newBuilder(s: string): Builder 9
|
||||
nim extract cbuilderbase.html#extract,Builder proc extract(builder: Builder): Snippet 12
|
||||
nim add cbuilderbase.html#add,Builder,string proc add(builder: var Builder; s: string) 15
|
||||
nim add cbuilderbase.html#add,Builder,char proc add(builder: var Builder; s: char) 18
|
||||
nim addNewline cbuilderbase.html#addNewline,Builder proc addNewline(builder: var Builder) 21
|
||||
nim addLineEnd cbuilderbase.html#addLineEnd,Builder,string proc addLineEnd(builder: var Builder; s: string) 26
|
||||
nim addLineEndIndent cbuilderbase.html#addLineEndIndent,Builder,string proc addLineEndIndent(builder: var Builder; s: string) 30
|
||||
nim addDedent cbuilderbase.html#addDedent,Builder,string proc addDedent(builder: var Builder; s: string) 35
|
||||
nim addLineEndDedent cbuilderbase.html#addLineEndDedent,Builder,string proc addLineEndDedent(builder: var Builder; s: string) 41
|
||||
nim addLineComment cbuilderbase.html#addLineComment,Builder,string proc addLineComment(builder: var Builder; comment: string) 45
|
||||
nim addIntValue cbuilderbase.html#addIntValue,Builder,int proc addIntValue(builder: var Builder; val: int) 51
|
||||
nim addIntValue cbuilderbase.html#addIntValue,Builder,int64 proc addIntValue(builder: var Builder; val: int64) 54
|
||||
nim addIntValue cbuilderbase.html#addIntValue,Builder,uint64 proc addIntValue(builder: var Builder; val: uint64) 57
|
||||
nim addIntValue cbuilderbase.html#addIntValue,Builder,Int128 proc addIntValue(builder: var Builder; val: Int128) 60
|
||||
nim cIntValue cbuilderbase.html#cIntValue.t,int template cIntValue(val: int): Snippet 63
|
||||
nim cIntValue cbuilderbase.html#cIntValue.t,int64 template cIntValue(val: int64): Snippet 64
|
||||
nim cIntValue cbuilderbase.html#cIntValue.t,uint64 template cIntValue(val: uint64): Snippet 65
|
||||
nim cIntValue cbuilderbase.html#cIntValue.t,Int128 template cIntValue(val: Int128): Snippet 66
|
||||
nim cUintValue cbuilderbase.html#cUintValue.t,uint template cUintValue(val: uint): Snippet 68
|
||||
nim addFloatValue cbuilderbase.html#addFloatValue,Builder,float proc addFloatValue(builder: var Builder; val: float) 72
|
||||
nim cFloatValue cbuilderbase.html#cFloatValue.t,float template cFloatValue(val: float): Snippet 75
|
||||
nim addInt64Literal cbuilderbase.html#addInt64Literal,Builder,BiggestInt proc addInt64Literal(result: var Builder; i: BiggestInt) 77
|
||||
nim addUint64Literal cbuilderbase.html#addUint64Literal,Builder,uint64 proc addUint64Literal(result: var Builder; i: uint64) 83
|
||||
nim addIntLiteral cbuilderbase.html#addIntLiteral,Builder,BiggestInt proc addIntLiteral(result: var Builder; i: BiggestInt) 86
|
||||
nim addIntLiteral cbuilderbase.html#addIntLiteral,Builder,Int128 proc addIntLiteral(result: var Builder; i: Int128) 97
|
||||
nim cInt64Literal cbuilderbase.html#cInt64Literal,BiggestInt proc cInt64Literal(i: BiggestInt): Snippet 100
|
||||
nim cUint64Literal cbuilderbase.html#cUint64Literal,uint64 proc cUint64Literal(i: uint64): Snippet 106
|
||||
nim cIntLiteral cbuilderbase.html#cIntLiteral,BiggestInt proc cIntLiteral(i: BiggestInt): Snippet 109
|
||||
nim cIntLiteral cbuilderbase.html#cIntLiteral,Int128 proc cIntLiteral(i: Int128): Snippet 120
|
||||
nim NimInt cbuilderbase.html#NimInt const NimInt 124
|
||||
nim NimInt8 cbuilderbase.html#NimInt8 const NimInt8 125
|
||||
nim NimInt16 cbuilderbase.html#NimInt16 const NimInt16 126
|
||||
nim NimInt32 cbuilderbase.html#NimInt32 const NimInt32 127
|
||||
nim NimInt64 cbuilderbase.html#NimInt64 const NimInt64 128
|
||||
nim CInt cbuilderbase.html#CInt const CInt 129
|
||||
nim NimUint cbuilderbase.html#NimUint const NimUint 130
|
||||
nim NimUint8 cbuilderbase.html#NimUint8 const NimUint8 131
|
||||
nim NimUint16 cbuilderbase.html#NimUint16 const NimUint16 132
|
||||
nim NimUint32 cbuilderbase.html#NimUint32 const NimUint32 133
|
||||
nim NimUint64 cbuilderbase.html#NimUint64 const NimUint64 134
|
||||
nim NimFloat cbuilderbase.html#NimFloat const NimFloat 135
|
||||
nim NimFloat32 cbuilderbase.html#NimFloat32 const NimFloat32 136
|
||||
nim NimFloat64 cbuilderbase.html#NimFloat64 const NimFloat64 137
|
||||
nim NimFloat128 cbuilderbase.html#NimFloat128 const NimFloat128 138
|
||||
nim NimNan cbuilderbase.html#NimNan const NimNan 139
|
||||
nim NimInf cbuilderbase.html#NimInf const NimInf 140
|
||||
nim NimBool cbuilderbase.html#NimBool const NimBool 141
|
||||
nim NimTrue cbuilderbase.html#NimTrue const NimTrue 142
|
||||
nim NimFalse cbuilderbase.html#NimFalse const NimFalse 143
|
||||
nim NimChar cbuilderbase.html#NimChar const NimChar 144
|
||||
nim CChar cbuilderbase.html#CChar const CChar 145
|
||||
nim NimCstring cbuilderbase.html#NimCstring const NimCstring 146
|
||||
nim NimNil cbuilderbase.html#NimNil const NimNil 147
|
||||
nim CNil cbuilderbase.html#CNil const CNil 148
|
||||
nim NimStrlitFlag cbuilderbase.html#NimStrlitFlag const NimStrlitFlag 149
|
||||
nim CVoid cbuilderbase.html#CVoid const CVoid 150
|
||||
nim CPointer cbuilderbase.html#CPointer const CPointer 151
|
||||
nim CConstPointer cbuilderbase.html#CConstPointer const CConstPointer 152
|
||||
nim cIntType cbuilderbase.html#cIntType,BiggestInt proc cIntType(bits: BiggestInt): Snippet 154
|
||||
nim cUintType cbuilderbase.html#cUintType,BiggestInt proc cUintType(bits: BiggestInt): Snippet 157
|
||||
nim WaitingIf cbuilderbase.html#WaitingIf IfBuilderState.WaitingIf 161
|
||||
nim WaitingElseIf cbuilderbase.html#WaitingElseIf IfBuilderState.WaitingElseIf 161
|
||||
nim InBlock cbuilderbase.html#InBlock IfBuilderState.InBlock 161
|
||||
nim IfBuilderState cbuilderbase.html#IfBuilderState enum IfBuilderState 161
|
||||
nim IfBuilder cbuilderbase.html#IfBuilder object IfBuilder 163
|
||||
nimgrp cintliteral cbuilderbase.html#cIntLiteral-procs-all proc 109
|
||||
nimgrp addintvalue cbuilderbase.html#addIntValue-procs-all proc 51
|
||||
nimgrp addintliteral cbuilderbase.html#addIntLiteral-procs-all proc 86
|
||||
nimgrp add cbuilderbase.html#add-procs-all proc 15
|
||||
nimgrp cintvalue cbuilderbase.html#cIntValue-templates-all template 63
|
||||
283
compiler/ccgutils.html
Normal file
283
compiler/ccgutils.html
Normal file
@@ -0,0 +1,283 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>ccgutils</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">ccgutils</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">ccgIntroducedPtr
|
||||
<li><a class="reference" href="#ccgIntroducedPtr%2CConfigRef%2CPSym%2CPType" title="ccgIntroducedPtr(conf: ConfigRef; s: PSym; retType: PType): bool">ccgIntroducedPtr(conf: ConfigRef; s: PSym; retType: PType): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">encodeName
|
||||
<li><a class="reference" href="#encodeName%2Cstring" title="encodeName(name: string): string">encodeName(name: string): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">encodeSym
|
||||
<li><a class="reference" href="#encodeSym%2CBModule%2CPSym%2Cbool%2Cstring" title="encodeSym(m: BModule; s: PSym; makeUnique: bool = false; extra: string = ""): string">encodeSym(m: BModule; s: PSym; makeUnique: bool = false; extra: string = ""): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">encodeType
|
||||
<li><a class="reference" href="#encodeType%2CBModule%2CPType%2Cstring" title="encodeType(m: BModule; t: PType; staticLists: var string): string">encodeType(m: BModule; t: PType; staticLists: var string): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getPragmaStmt
|
||||
<li><a class="reference" href="#getPragmaStmt%2CPNode%2CTSpecialWord" title="getPragmaStmt(n: PNode; w: TSpecialWord): PNode">getPragmaStmt(n: PNode; w: TSpecialWord): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">hashString
|
||||
<li><a class="reference" href="#hashString%2CConfigRef%2Cstring" title="hashString(conf: ConfigRef; s: string): BiggestInt">hashString(conf: ConfigRef; s: string): BiggestInt</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">makeSingleLineCString
|
||||
<li><a class="reference" href="#makeSingleLineCString%2Cstring" title="makeSingleLineCString(s: string): string">makeSingleLineCString(s: string): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">stmtsContainPragma
|
||||
<li><a class="reference" href="#stmtsContainPragma%2CPNode%2CTSpecialWord" title="stmtsContainPragma(n: PNode; w: TSpecialWord): bool">stmtsContainPragma(n: PNode; w: TSpecialWord): bool</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">getUniqueType
|
||||
<li><a class="reference" href="#getUniqueType.t%2CPType" title="getUniqueType(key: PType): PType">getUniqueType(key: PType): PType</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="wordrecg.html">wordrecg</a>, <a class="reference external" href="platform.html">platform</a>, <a class="reference external" href="trees.html">trees</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="cgendata.html">cgendata</a>, <a class="reference external" href="mangleutils.html">mangleutils</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="ccgIntroducedPtr-procs-all">
|
||||
<div id="ccgIntroducedPtr,ConfigRef,PSym,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#ccgIntroducedPtr%2CConfigRef%2CPSym%2CPType"><span class="Identifier">ccgIntroducedPtr</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">retType</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L79" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L79" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="encodeName-procs-all">
|
||||
<div id="encodeName,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#encodeName%2Cstring"><span class="Identifier">encodeName</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L109" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L109" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="encodeSym-procs-all">
|
||||
<div id="encodeSym,BModule,PSym,bool,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#encodeSym%2CBModule%2CPSym%2Cbool%2Cstring"><span class="Identifier">encodeSym</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">makeUnique</span><span class="Other">:</span> <span class="Identifier">bool</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">;</span> <span class="Identifier">extra</span><span class="Other">:</span> <span class="Identifier">string</span> <span class="Other">=</span> <span class="StringLit">""</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L144" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L144" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="encodeType-procs-all">
|
||||
<div id="encodeType,BModule,PType,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#encodeType%2CBModule%2CPType%2Cstring"><span class="Identifier">encodeType</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span> <span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">staticLists</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L151" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L151" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getPragmaStmt-procs-all">
|
||||
<div id="getPragmaStmt,PNode,TSpecialWord">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getPragmaStmt%2CPNode%2CTSpecialWord"><span class="Identifier">getPragmaStmt</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <a href="wordrecg.html#TSpecialWord"><span class="Identifier">TSpecialWord</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L21" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L21" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="hashString-procs-all">
|
||||
<div id="hashString,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hashString%2CConfigRef%2Cstring"><span class="Identifier">hashString</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L38" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L38" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="makeSingleLineCString-procs-all">
|
||||
<div id="makeSingleLineCString,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#makeSingleLineCString%2Cstring"><span class="Identifier">makeSingleLineCString</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L65" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L65" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="stmtsContainPragma-procs-all">
|
||||
<div id="stmtsContainPragma,PNode,TSpecialWord">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#stmtsContainPragma%2CPNode%2CTSpecialWord"><span class="Identifier">stmtsContainPragma</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <a href="wordrecg.html#TSpecialWord"><span class="Identifier">TSpecialWord</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L35" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L35" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="18">
|
||||
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
||||
<dl class="item">
|
||||
<div id="getUniqueType-templates-all">
|
||||
<div id="getUniqueType.t,PType">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#getUniqueType.t%2CPType"><span class="Identifier">getUniqueType</span></a><span class="Other">(</span><span class="Identifier">key</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L63" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L63" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:09 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
10
compiler/ccgutils.idx
Normal file
10
compiler/ccgutils.idx
Normal file
@@ -0,0 +1,10 @@
|
||||
nimTitle ccgutils ccgutils.html module ccgutils 0
|
||||
nim getPragmaStmt ccgutils.html#getPragmaStmt,PNode,TSpecialWord proc getPragmaStmt(n: PNode; w: TSpecialWord): PNode 21
|
||||
nim stmtsContainPragma ccgutils.html#stmtsContainPragma,PNode,TSpecialWord proc stmtsContainPragma(n: PNode; w: TSpecialWord): bool 35
|
||||
nim hashString ccgutils.html#hashString,ConfigRef,string proc hashString(conf: ConfigRef; s: string): BiggestInt 38
|
||||
nim getUniqueType ccgutils.html#getUniqueType.t,PType template getUniqueType(key: PType): PType 63
|
||||
nim makeSingleLineCString ccgutils.html#makeSingleLineCString,string proc makeSingleLineCString(s: string): string 65
|
||||
nim ccgIntroducedPtr ccgutils.html#ccgIntroducedPtr,ConfigRef,PSym,PType proc ccgIntroducedPtr(conf: ConfigRef; s: PSym; retType: PType): bool 79
|
||||
nim encodeName ccgutils.html#encodeName,string proc encodeName(name: string): string 109
|
||||
nim encodeSym ccgutils.html#encodeSym,BModule,PSym,bool,string proc encodeSym(m: BModule; s: PSym; makeUnique: bool = false; extra: string = ""): string 144
|
||||
nim encodeType ccgutils.html#encodeType,BModule,PType,string proc encodeType(m: BModule; t: PType; staticLists: var string): string 151
|
||||
395
compiler/cgen.html
Normal file
395
compiler/cgen.html
Normal file
@@ -0,0 +1,395 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>cgen</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">cgen</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">cgenWriteModules
|
||||
<li><a class="reference" href="#cgenWriteModules%2CRootRef%2CConfigRef" title="cgenWriteModules(backend: RootRef; config: ConfigRef)">cgenWriteModules(backend: RootRef; config: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">fillObjectFields
|
||||
<li><a class="reference" href="#fillObjectFields%2CBModule%2CPType" title="fillObjectFields(m: BModule; typ: PType)">fillObjectFields(m: BModule; typ: PType)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">finalCodegenActions
|
||||
<li><a class="reference" href="#finalCodegenActions%2CModuleGraph%2CBModule%2CPNode" title="finalCodegenActions(graph: ModuleGraph; m: BModule; n: PNode)">finalCodegenActions(graph: ModuleGraph; m: BModule; n: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">genProcLvl3
|
||||
<li><a class="reference" href="#genProcLvl3%2CBModule%2CPSym" title="genProcLvl3(m: BModule; prc: PSym)">genProcLvl3(m: BModule; prc: PSym)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">genTopLevelStmt
|
||||
<li><a class="reference" href="#genTopLevelStmt%2CBModule%2CPNode" title="genTopLevelStmt(m: BModule; n: PNode)">genTopLevelStmt(m: BModule; n: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">genTypeInfo
|
||||
<li><a class="reference" href="#genTypeInfo%2CConfigRef%2CBModule%2CPType%2CTLineInfo" title="genTypeInfo(config: ConfigRef; m: BModule; t: PType; info: TLineInfo): Rope">genTypeInfo(config: ConfigRef; m: BModule; t: PType; info: TLineInfo): Rope</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getCFile
|
||||
<li><a class="reference" href="#getCFile%2CBModule" title="getCFile(m: BModule): AbsoluteFile">getCFile(m: BModule): AbsoluteFile</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getSomeNameForModule
|
||||
<li><a class="reference" href="#getSomeNameForModule%2CBModule" title="getSomeNameForModule(m: BModule): Rope">getSomeNameForModule(m: BModule): Rope</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">multiFormat
|
||||
<li><a class="reference" href="#multiFormat%2Cstring%2CstaticopenArray%5Bchar%5D%2CopenArray%5Bseq%5Bstring%5D%5D" title="multiFormat(frmt: var string; chars: static openArray[char];
|
||||
args: openArray[seq[string]])">multiFormat(frmt: var string; chars: static openArray[char];
|
||||
args: openArray[seq[string]])</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">newModule
|
||||
<li><a class="reference" href="#newModule%2CBModuleList%2CPSym%2CConfigRef%2CIdGenerator" title="newModule(g: BModuleList; module: PSym; conf: ConfigRef; idgen: IdGenerator): BModule">newModule(g: BModuleList; module: PSym; conf: ConfigRef; idgen: IdGenerator): BModule</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">registerReusedModuleToMain
|
||||
<li><a class="reference" href="#registerReusedModuleToMain%2CBModuleList%2CBModule%2Cbool%2Cbool" title="registerReusedModuleToMain(g: BModuleList; m: BModule;
|
||||
initRequired, datInitRequired: bool)">registerReusedModuleToMain(g: BModuleList; m: BModule;
|
||||
initRequired, datInitRequired: bool)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">requestProcDef
|
||||
<li><a class="reference" href="#requestProcDef%2CBModule%2CPSym" title="requestProcDef(m: BModule; prc: PSym)">requestProcDef(m: BModule; prc: PSym)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">setupCgen
|
||||
<li><a class="reference" href="#setupCgen%2CModuleGraph%2CPSym%2CIdGenerator" title="setupCgen(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext">setupCgen(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">cgDeclFrmt
|
||||
<li><a class="reference" href="#cgDeclFrmt.t%2CPSym" title="cgDeclFrmt(s: PSym): string">cgDeclFrmt(s: PSym): string</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module implements the C code generator.This include file contains the logic to produce constant string and seq literals. The code here is responsible that <tt class="docutils literal"><span class="pre">const x = ["a", "b"]</span></tt> works without hidden runtime creation code. The price is that seqs and strings are not purely a library implementation.Generates traversal procs for the C backend.Code specialization instead of the old, incredibly slow 'genericReset' implementation.Thread var support for architectures that lack native support for thread local storage.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="astalgo.html">astalgo</a>, <a class="reference external" href="trees.html">trees</a>, <a class="reference external" href="platform.html">platform</a>, <a class="reference external" href="magicsys.html">magicsys</a>, <a class="reference external" href="extccomp.html">extccomp</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="nversion.html">nversion</a>, <a class="reference external" href="nimsets.html">nimsets</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="bitsets.html">bitsets</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="ccgutils.html">ccgutils</a>, <a class="reference external" href="ropes.html">ropes</a>, <a class="reference external" href="wordrecg.html">wordrecg</a>, <a class="reference external" href="treetab.html">treetab</a>, <a class="reference external" href="cgmeth.html">cgmeth</a>, <a class="reference external" href="rodutils.html">rodutils</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="cgendata.html">cgendata</a>, <a class="reference external" href="aliases.html">aliases</a>, <a class="reference external" href="lowerings.html">lowerings</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="transf.html">transf</a>, <a class="reference external" href="injectdestructors.html">injectdestructors</a>, <a class="reference external" href="astmsgs.html">astmsgs</a>, <a class="reference external" href="modulepaths.html">modulepaths</a>, <a class="reference external" href="pushpoppragmas.html">pushpoppragmas</a>, <a class="reference external" href="mangleutils.html">mangleutils</a>, <a class="reference external" href="cbuilderbase.html">cbuilderbase</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="expanddefaults.html">expanddefaults</a>, <a class="reference external" href="ast2nif.html">ast2nif</a>, <a class="reference external" href="typekeys.html">typekeys</a>, <a class="reference external" href="cnif.html">cnif</a>, <a class="reference external" href="pipelineutils.html">pipelineutils</a>, <a class="reference external" href="spawn.html">spawn</a>, <a class="reference external" href="semparallel.html">semparallel</a>, <a class="reference external" href="sighashes.html">sighashes</a>, <a class="reference external" href="aliasanalysis.html">aliasanalysis</a>, <a class="reference external" href="parampatterns.html">parampatterns</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="cgenWriteModules-procs-all">
|
||||
<div id="cgenWriteModules,RootRef,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#cgenWriteModules%2CRootRef%2CConfigRef"><span class="Identifier">cgenWriteModules</span></a><span class="Other">(</span><span class="Identifier">backend</span><span class="Other">:</span> <span class="Identifier">RootRef</span><span class="Other">;</span> <span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">TimeEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L2953" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L2953" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="fillObjectFields-procs-all">
|
||||
<div id="fillObjectFields,BModule,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#fillObjectFields%2CBModule%2CPType"><span class="Identifier">fillObjectFields</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span> <span class="Identifier">typ</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgtypes.nim#L853" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgtypes.nim#L853" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="finalCodegenActions-procs-all">
|
||||
<div id="finalCodegenActions,ModuleGraph,BModule,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#finalCodegenActions%2CModuleGraph%2CBModule%2CPNode"><span class="Identifier">finalCodegenActions</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Also called from IC.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L2869" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L2869" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="genProcLvl3-procs-all">
|
||||
<div id="genProcLvl3,BModule,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genProcLvl3%2CBModule%2CPSym"><span class="Identifier">genProcLvl3</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span> <span class="Identifier">prc</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L1440" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L1440" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="genTopLevelStmt-procs-all">
|
||||
<div id="genTopLevelStmt,BModule,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genTopLevelStmt%2CBModule%2CPNode"><span class="Identifier">genTopLevelStmt</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Also called from <tt class="docutils literal"><span class="pre"><span class="Identifier">ic</span><span class="Operator">/</span><span class="Identifier">cbackend</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L2761" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L2761" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="genTypeInfo-procs-all">
|
||||
<div id="genTypeInfo,ConfigRef,BModule,PType,TLineInfo">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genTypeInfo%2CConfigRef%2CBModule%2CPType%2CTLineInfo"><span class="Identifier">genTypeInfo</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span> <span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgtypes.nim#L2262" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgtypes.nim#L2262" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getCFile-procs-all">
|
||||
<div id="getCFile,BModule">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getCFile%2CBModule"><span class="Identifier">getCFile</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L68" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L68" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getSomeNameForModule-procs-all">
|
||||
<div id="getSomeNameForModule,BModule">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getSomeNameForModule%2CBModule"><span class="Identifier">getSomeNameForModule</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Returns a mangled module name.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L1902" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L1902" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="multiFormat-procs-all">
|
||||
<div id="multiFormat,string,staticopenArray[char],openArray[seq[string]]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#multiFormat%2Cstring%2CstaticopenArray%5Bchar%5D%2CopenArray%5Bseq%5Bstring%5D%5D"><span class="Identifier">multiFormat</span></a><span class="Other">(</span><span class="Identifier">frmt</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">chars</span><span class="Other">:</span> <span class="Keyword">static</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Identifier">char</span><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">args</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">]</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgtypes.nim#L549" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgtypes.nim#L549" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="newModule-procs-all">
|
||||
<div id="newModule,BModuleList,PSym,ConfigRef,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newModule%2CBModuleList%2CPSym%2CConfigRef%2CIdGenerator"><span class="Identifier">newModule</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="cgendata.html#BModuleList"><span class="Identifier">BModuleList</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L67" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L67" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="registerReusedModuleToMain-procs-all">
|
||||
<div id="registerReusedModuleToMain,BModuleList,BModule,bool,bool">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#registerReusedModuleToMain%2CBModuleList%2CBModule%2Cbool%2Cbool"><span class="Identifier">registerReusedModuleToMain</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="cgendata.html#BModuleList"><span class="Identifier">BModuleList</span></a><span class="Other">;</span> <span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">initRequired</span><span class="Other">,</span> <span class="Identifier">datInitRequired</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<tt class="docutils literal"><span class="pre"><span class="Identifier">registerModuleToMain</span></span></tt> for a module whose cached translation unit is reused: the init/datInit presence comes from the artifact's meta head instead of the (never generated) sections. Mirrors the non-hcr path of <tt class="docutils literal"><span class="pre"><span class="Identifier">registerModuleToMain</span></span></tt> — reuse is disabled when hcr is on.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L2289" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L2289" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="requestProcDef-procs-all">
|
||||
<div id="requestProcDef,BModule,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#requestProcDef%2CBModule%2CPSym"><span class="Identifier">requestProcDef</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="cgendata.html#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span> <span class="Identifier">prc</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Public demand entry: request <tt class="docutils literal"><span class="pre"><span class="Identifier">prc</span></span></tt>'s definition; it is routed to the module that owns it and generated once, exactly as if some generated code had referenced it.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L1827" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L1827" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="setupCgen-procs-all">
|
||||
<div id="setupCgen,ModuleGraph,PSym,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#setupCgen%2CModuleGraph%2CPSym%2CIdGenerator"><span class="Identifier">setupCgen</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L2672" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L2672" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="18">
|
||||
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
||||
<dl class="item">
|
||||
<div id="cgDeclFrmt-templates-all">
|
||||
<div id="cgDeclFrmt.t,PSym">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#cgDeclFrmt.t%2CPSym"><span class="Identifier">cgDeclFrmt</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cbuilderdecls.nim#L437" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cbuilderdecls.nim#L437" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:12 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
15
compiler/cgen.idx
Normal file
15
compiler/cgen.idx
Normal file
@@ -0,0 +1,15 @@
|
||||
nimTitle cgen cgen.html module cgen 0
|
||||
nim newModule cgen.html#newModule,BModuleList,PSym,ConfigRef,IdGenerator proc newModule(g: BModuleList; module: PSym; conf: ConfigRef; idgen: IdGenerator): BModule 67
|
||||
nim getCFile cgen.html#getCFile,BModule proc getCFile(m: BModule): AbsoluteFile 68
|
||||
nim cgDeclFrmt cgen.html#cgDeclFrmt.t,PSym template cgDeclFrmt(s: PSym): string 437
|
||||
nim multiFormat cgen.html#multiFormat,string,staticopenArray[char],openArray[seq[string]] proc multiFormat(frmt: var string; chars: static openArray[char];\n args: openArray[seq[string]]) 549
|
||||
nim fillObjectFields cgen.html#fillObjectFields,BModule,PType proc fillObjectFields(m: BModule; typ: PType) 853
|
||||
nim genTypeInfo cgen.html#genTypeInfo,ConfigRef,BModule,PType,TLineInfo proc genTypeInfo(config: ConfigRef; m: BModule; t: PType; info: TLineInfo): Rope 2262
|
||||
nim genProcLvl3 cgen.html#genProcLvl3,BModule,PSym proc genProcLvl3(m: BModule; prc: PSym) 1440
|
||||
nim requestProcDef cgen.html#requestProcDef,BModule,PSym proc requestProcDef(m: BModule; prc: PSym) 1827
|
||||
nim getSomeNameForModule cgen.html#getSomeNameForModule,BModule proc getSomeNameForModule(m: BModule): Rope 1902
|
||||
nim registerReusedModuleToMain cgen.html#registerReusedModuleToMain,BModuleList,BModule,bool,bool proc registerReusedModuleToMain(g: BModuleList; m: BModule;\n initRequired, datInitRequired: bool) 2289
|
||||
nim setupCgen cgen.html#setupCgen,ModuleGraph,PSym,IdGenerator proc setupCgen(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 2672
|
||||
nim genTopLevelStmt cgen.html#genTopLevelStmt,BModule,PNode proc genTopLevelStmt(m: BModule; n: PNode) 2761
|
||||
nim finalCodegenActions cgen.html#finalCodegenActions,ModuleGraph,BModule,PNode proc finalCodegenActions(graph: ModuleGraph; m: BModule; n: PNode) 2869
|
||||
nim cgenWriteModules cgen.html#cgenWriteModules,RootRef,ConfigRef proc cgenWriteModules(backend: RootRef; config: ConfigRef) 2953
|
||||
569
compiler/cgendata.html
Normal file
569
compiler/cgendata.html
Normal file
@@ -0,0 +1,569 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>cgendata</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">cgendata</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#BModule" title="BModule = ref TCGen">BModule</a></li>
|
||||
<li><a class="reference" href="#BModuleList" title="BModuleList = ref object of RootObj
|
||||
mainModProcs*, mainModInit*, otherModsInit*, mainDatInit*: Builder
|
||||
mapping*: Rope
|
||||
mods*: seq[BModule]
|
||||
modulesClosed*: seq[BModule]
|
||||
forwardedProcs*: seq[PSym]
|
||||
generatedHeader*: BModule
|
||||
typeInfoMarker*: TypeCacheWithOwner
|
||||
typeInfoMarkerV2*: TypeCacheWithOwner
|
||||
config*: ConfigRef
|
||||
graph*: ModuleGraph
|
||||
strVersion*, seqVersion*: int
|
||||
nimtv*: Builder
|
||||
nimtvDeps*: seq[PType]
|
||||
nimtvDeclared*: IntSet
|
||||
mangledPrcs*: HashSet[string]">BModuleList</a></li>
|
||||
<li><a class="reference" href="#BProc" title="BProc = ref TCProc">BProc</a></li>
|
||||
<li><a class="reference" href="#CodegenFlag" title="CodegenFlag = enum
|
||||
preventStackTrace, usesThreadVars, frameDeclared, isHeaderFile,
|
||||
includesStringh, objHasKidsValid, useAliveDataFromDce">CodegenFlag</a></li>
|
||||
<li><a class="reference" href="#TBlock" title="TBlock = object
|
||||
id*: int
|
||||
label*: Rope
|
||||
sections*: TCProcSections
|
||||
isLoop*: bool
|
||||
nestedTryStmts*: int16
|
||||
nestedExceptStmts*: int16
|
||||
frameLen*: int16">TBlock</a></li>
|
||||
<li><a class="reference" href="#TCFileSection" title="TCFileSection = enum
|
||||
cfsHeaders, cfsFrameDefines, cfsForwardTypes, cfsTypes, cfsSeqTypes,
|
||||
cfsTypeInfo, cfsProcHeaders, cfsStrData, cfsData, cfsVars, cfsProcs,
|
||||
cfsInitProc, cfsDatInitProc, cfsTypeInit1, cfsTypeInit3, cfsDynLibInit">TCFileSection</a></li>
|
||||
<li><a class="reference" href="#TCFileSections" title="TCFileSections = array[TCFileSection, Builder]">TCFileSections</a></li>
|
||||
<li><a class="reference" href="#TCProcFlag" title="TCProcFlag = enum
|
||||
beforeRetNeeded, threadVarAccessed, hasCurFramePointer, noSafePoints,
|
||||
nimErrorFlagAccessed, nimErrorFlagDeclared, nimErrorFlagDisabled">TCProcFlag</a></li>
|
||||
<li><a class="reference" href="#TCProcSection" title="TCProcSection = enum
|
||||
cpsLocals, cpsInit, cpsStmts">TCProcSection</a></li>
|
||||
<li><a class="reference" href="#TCProcSections" title="TCProcSections = array[TCProcSection, Builder]">TCProcSections</a></li>
|
||||
<li><a class="reference" href="#TCTypeKind" title="TCTypeKind = enum
|
||||
ctVoid, ctChar, ctBool, ctInt, ctInt8, ctInt16, ctInt32, ctInt64, ctFloat,
|
||||
ctFloat32, ctFloat64, ctFloat128, ctUInt, ctUInt8, ctUInt16, ctUInt32,
|
||||
ctUInt64, ctArray, ctPtrToArray, ctStruct, ctPtr, ctNimStr, ctNimSeq, ctProc,
|
||||
ctCString">TCTypeKind</a></li>
|
||||
<li><a class="reference" href="#TLabel" title="TLabel = Rope">TLabel</a></li>
|
||||
<li><a class="reference" href="#TTypeSeq" title="TTypeSeq = seq[PType]">TTypeSeq</a></li>
|
||||
<li><a class="reference" href="#TypeCache" title="TypeCache = Table[SigHash, Rope]">TypeCache</a></li>
|
||||
<li><a class="reference" href="#TypeCacheWithOwner" title="TypeCacheWithOwner = Table[SigHash, tuple[str: Rope, owner: int32]]">TypeCacheWithOwner</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">delayedCodegen
|
||||
<li><a class="reference" href="#delayedCodegen%2CBModule" title="delayedCodegen(m: BModule): bool">delayedCodegen(m: BModule): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">includeHeader
|
||||
<li><a class="reference" href="#includeHeader%2CBModule%2Cstring" title="includeHeader(this: BModule; header: string)">includeHeader(this: BModule; header: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initBlock
|
||||
<li><a class="reference" href="#initBlock" title="initBlock(): TBlock">initBlock(): TBlock</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">newModuleList
|
||||
<li><a class="reference" href="#newModuleList%2CModuleGraph" title="newModuleList(g: ModuleGraph): BModuleList">newModuleList(g: ModuleGraph): BModuleList</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">newProc
|
||||
<li><a class="reference" href="#newProc%2CPSym%2CBModule" title="newProc(prc: PSym; module: BModule): BProc">newProc(prc: PSym; module: BModule): BProc</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">procSec
|
||||
<li><a class="reference" href="#procSec%2CBProc%2CTCProcSection" title="procSec(p: BProc; s: TCProcSection): var Builder">procSec(p: BProc; s: TCProcSection): var Builder</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">s
|
||||
<li><a class="reference" href="#s%2CBProc%2CTCProcSection" title="s(p: BProc; s: TCProcSection): var Builder">s(p: BProc; s: TCProcSection): var Builder</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#15" id="65">Iterators</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">cgenModules
|
||||
<li><a class="reference" href="#cgenModules.i%2CBModuleList" title="cgenModules(g: BModuleList): BModule">cgenModules(g: BModuleList): BModule</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">config
|
||||
<li><a class="reference" href="#config.t%2CBModule" title="config(m: BModule): ConfigRef">config(m: BModule): ConfigRef</a></li>
|
||||
<li><a class="reference" href="#config.t%2CBProc" title="config(p: BProc): ConfigRef">config(p: BProc): ConfigRef</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">vccAndC
|
||||
<li><a class="reference" href="#vccAndC.t%2CBProc" title="vccAndC(p: BProc): bool">vccAndC(p: BProc): bool</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module contains the data structures for the C code generation phase.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="ropes.html">ropes</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="cbuilderbase.html">cbuilderbase</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="BModule">
|
||||
<dt><pre><a href="#BModule"><span class="Identifier">BModule</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Identifier">TCGen</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L52" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L52" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="BModuleList">
|
||||
<dt><pre><a href="#BModuleList"><span class="Identifier">BModuleList</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <span class="Identifier">RootObj</span>
|
||||
<span class="Identifier">mainModProcs</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">mainModInit</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">otherModsInit</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">mainDatInit</span><span class="Operator">*</span><span class="Other">:</span> <a href="cbuilderbase.html#Builder"><span class="Identifier">Builder</span></a>
|
||||
<span class="Identifier">mapping</span><span class="Operator">*</span><span class="Other">:</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a>
|
||||
<span class="Identifier">mods</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="#BModule"><span class="Identifier">BModule</span></a><span class="Other">]</span>
|
||||
<span class="Identifier">modulesClosed</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="#BModule"><span class="Identifier">BModule</span></a><span class="Other">]</span>
|
||||
<span class="Identifier">forwardedProcs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">]</span>
|
||||
<span class="Identifier">generatedHeader</span><span class="Operator">*</span><span class="Other">:</span> <a href="#BModule"><span class="Identifier">BModule</span></a>
|
||||
<span class="Identifier">typeInfoMarker</span><span class="Operator">*</span><span class="Other">:</span> <a href="#TypeCacheWithOwner"><span class="Identifier">TypeCacheWithOwner</span></a>
|
||||
<span class="Identifier">typeInfoMarkerV2</span><span class="Operator">*</span><span class="Other">:</span> <a href="#TypeCacheWithOwner"><span class="Identifier">TypeCacheWithOwner</span></a>
|
||||
<span class="Identifier">config</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a>
|
||||
<span class="Identifier">graph</span><span class="Operator">*</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a>
|
||||
<span class="Identifier">strVersion</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">seqVersion</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
||||
<span class="Identifier">nimtv</span><span class="Operator">*</span><span class="Other">:</span> <a href="cbuilderbase.html#Builder"><span class="Identifier">Builder</span></a>
|
||||
<span class="Identifier">nimtvDeps</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">]</span>
|
||||
<span class="Identifier">nimtvDeclared</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">IntSet</span>
|
||||
<span class="Identifier">mangledPrcs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">HashSet</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L120" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L120" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="BProc">
|
||||
<dt><pre><a href="#BProc"><span class="Identifier">BProc</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Identifier">TCProc</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L53" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L53" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="CodegenFlag">
|
||||
<dt><pre><a href="#CodegenFlag"><span class="Identifier">CodegenFlag</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">preventStackTrace</span><span class="Other">,</span> <span class="Identifier">usesThreadVars</span><span class="Other">,</span> <span class="Identifier">frameDeclared</span><span class="Other">,</span> <span class="Identifier">isHeaderFile</span><span class="Other">,</span>
|
||||
<span class="Identifier">includesStringh</span><span class="Other">,</span> <span class="Identifier">objHasKidsValid</span><span class="Other">,</span> <span class="Identifier">useAliveDataFromDce</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L109" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L109" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TBlock">
|
||||
<dt><pre><a href="#TBlock"><span class="Identifier">TBlock</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">id</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
||||
<span class="Identifier">label</span><span class="Operator">*</span><span class="Other">:</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a>
|
||||
<span class="Identifier">sections</span><span class="Operator">*</span><span class="Other">:</span> <a href="#TCProcSections"><span class="Identifier">TCProcSections</span></a>
|
||||
<span class="Identifier">isLoop</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
|
||||
<span class="Identifier">nestedTryStmts</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int16</span>
|
||||
<span class="Identifier">nestedExceptStmts</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int16</span>
|
||||
<span class="Identifier">frameLen</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int16</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L54" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L54" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCFileSection">
|
||||
<dt><pre><a href="#TCFileSection"><span class="Identifier">TCFileSection</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">cfsHeaders</span><span class="Other">,</span> <span class="Identifier">cfsFrameDefines</span><span class="Other">,</span> <span class="Identifier">cfsForwardTypes</span><span class="Other">,</span> <span class="Identifier">cfsTypes</span><span class="Other">,</span> <span class="Identifier">cfsSeqTypes</span><span class="Other">,</span>
|
||||
<span class="Identifier">cfsTypeInfo</span><span class="Other">,</span> <span class="Identifier">cfsProcHeaders</span><span class="Other">,</span> <span class="Identifier">cfsStrData</span><span class="Other">,</span> <span class="Identifier">cfsData</span><span class="Other">,</span> <span class="Identifier">cfsVars</span><span class="Other">,</span> <span class="Identifier">cfsProcs</span><span class="Other">,</span>
|
||||
<span class="Identifier">cfsInitProc</span><span class="Other">,</span> <span class="Identifier">cfsDatInitProc</span><span class="Other">,</span> <span class="Identifier">cfsTypeInit1</span><span class="Other">,</span> <span class="Identifier">cfsTypeInit3</span><span class="Other">,</span> <span class="Identifier">cfsDynLibInit</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L20" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L20" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCFileSections">
|
||||
<dt><pre><a href="#TCFileSections"><span class="Identifier">TCFileSections</span></a> <span class="Other">=</span> <span class="Identifier">array</span><span class="Other">[</span><span class="Identifier">TCFileSection</span><span class="Other">,</span> <a href="cbuilderbase.html#Builder"><span class="Identifier">Builder</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L46" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L46" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCProcFlag">
|
||||
<dt><pre><a href="#TCProcFlag"><span class="Identifier">TCProcFlag</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">beforeRetNeeded</span><span class="Other">,</span> <span class="Identifier">threadVarAccessed</span><span class="Other">,</span> <span class="Identifier">hasCurFramePointer</span><span class="Other">,</span> <span class="Identifier">noSafePoints</span><span class="Other">,</span>
|
||||
<span class="Identifier">nimErrorFlagAccessed</span><span class="Other">,</span> <span class="Identifier">nimErrorFlagDeclared</span><span class="Other">,</span> <span class="Identifier">nimErrorFlagDisabled</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L64" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L64" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCProcSection">
|
||||
<dt><pre><a href="#TCProcSection"><span class="Identifier">TCProcSection</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">cpsLocals</span><span class="Other">,</span> <span class="Identifier">cpsInit</span><span class="Other">,</span> <span class="Identifier">cpsStmts</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L47" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L47" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCProcSections">
|
||||
<dt><pre><a href="#TCProcSections"><span class="Identifier">TCProcSections</span></a> <span class="Other">=</span> <span class="Identifier">array</span><span class="Other">[</span><span class="Identifier">TCProcSection</span><span class="Other">,</span> <a href="cbuilderbase.html#Builder"><span class="Identifier">Builder</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L51" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L51" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCTypeKind">
|
||||
<dt><pre><a href="#TCTypeKind"><span class="Identifier">TCTypeKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">ctVoid</span><span class="Other">,</span> <span class="Identifier">ctChar</span><span class="Other">,</span> <span class="Identifier">ctBool</span><span class="Other">,</span> <span class="Identifier">ctInt</span><span class="Other">,</span> <span class="Identifier">ctInt8</span><span class="Other">,</span> <span class="Identifier">ctInt16</span><span class="Other">,</span> <span class="Identifier">ctInt32</span><span class="Other">,</span> <span class="Identifier">ctInt64</span><span class="Other">,</span> <span class="Identifier">ctFloat</span><span class="Other">,</span>
|
||||
<span class="Identifier">ctFloat32</span><span class="Other">,</span> <span class="Identifier">ctFloat64</span><span class="Other">,</span> <span class="Identifier">ctFloat128</span><span class="Other">,</span> <span class="Identifier">ctUInt</span><span class="Other">,</span> <span class="Identifier">ctUInt8</span><span class="Other">,</span> <span class="Identifier">ctUInt16</span><span class="Other">,</span> <span class="Identifier">ctUInt32</span><span class="Other">,</span>
|
||||
<span class="Identifier">ctUInt64</span><span class="Other">,</span> <span class="Identifier">ctArray</span><span class="Other">,</span> <span class="Identifier">ctPtrToArray</span><span class="Other">,</span> <span class="Identifier">ctStruct</span><span class="Other">,</span> <span class="Identifier">ctPtr</span><span class="Other">,</span> <span class="Identifier">ctNimStr</span><span class="Other">,</span> <span class="Identifier">ctNimSeq</span><span class="Other">,</span> <span class="Identifier">ctProc</span><span class="Other">,</span>
|
||||
<span class="Identifier">ctCString</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L39" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L39" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TLabel">
|
||||
<dt><pre><a href="#TLabel"><span class="Identifier">TLabel</span></a> <span class="Other">=</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L19" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L19" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TTypeSeq">
|
||||
<dt><pre><a href="#TTypeSeq"><span class="Identifier">TTypeSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L105" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L105" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TypeCache">
|
||||
<dt><pre><a href="#TypeCache"><span class="Identifier">TypeCache</span></a> <span class="Other">=</span> <span class="Identifier">Table</span><span class="Other">[</span><a href="modulegraphs.html#SigHash"><span class="Identifier">SigHash</span></a><span class="Other">,</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L106" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L106" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TypeCacheWithOwner">
|
||||
<dt><pre><a href="#TypeCacheWithOwner"><span class="Identifier">TypeCacheWithOwner</span></a> <span class="Other">=</span> <span class="Identifier">Table</span><span class="Other">[</span><a href="modulegraphs.html#SigHash"><span class="Identifier">SigHash</span></a><span class="Other">,</span> <span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">str</span><span class="Other">:</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a><span class="Other">,</span> <span class="Identifier">owner</span><span class="Other">:</span> <span class="Identifier">int32</span><span class="Other">]</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L107" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L107" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="delayedCodegen-procs-all">
|
||||
<div id="delayedCodegen,BModule">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#delayedCodegen%2CBModule"><span class="Identifier">delayedCodegen</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="#BModule"><span class="Identifier">BModule</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L202" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L202" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="includeHeader-procs-all">
|
||||
<div id="includeHeader,BModule,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#includeHeader%2CBModule%2Cstring"><span class="Identifier">includeHeader</span></a><span class="Other">(</span><span class="Identifier">this</span><span class="Other">:</span> <a href="#BModule"><span class="Identifier">BModule</span></a><span class="Other">;</span> <span class="Identifier">header</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L205" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L205" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initBlock-procs-all">
|
||||
<div id="initBlock">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initBlock"><span class="Identifier">initBlock</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="#TBlock"><span class="Identifier">TBlock</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L217" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L217" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="newModuleList-procs-all">
|
||||
<div id="newModuleList,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newModuleList%2CModuleGraph"><span class="Identifier">newModuleList</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">)</span><span class="Other">:</span> <a href="#BModuleList"><span class="Identifier">BModuleList</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L235" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L235" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="newProc-procs-all">
|
||||
<div id="newProc,PSym,BModule">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newProc%2CPSym%2CBModule"><span class="Identifier">newProc</span></a><span class="Other">(</span><span class="Identifier">prc</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="#BModule"><span class="Identifier">BModule</span></a><span class="Other">)</span><span class="Other">:</span> <a href="#BProc"><span class="Identifier">BProc</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L222" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L222" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="procSec-procs-all">
|
||||
<div id="procSec,BProc,TCProcSection">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#procSec%2CBProc%2CTCProcSection"><span class="Identifier">procSec</span></a><span class="Other">(</span><span class="Identifier">p</span><span class="Other">:</span> <a href="#BProc"><span class="Identifier">BProc</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="#TCProcSection"><span class="Identifier">TCProcSection</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="cbuilderbase.html#Builder"><span class="Identifier">Builder</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L213" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L213" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="s-procs-all">
|
||||
<div id="s,BProc,TCProcSection">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#s%2CBProc%2CTCProcSection"><span class="Identifier">s</span></a><span class="Other">(</span><span class="Identifier">p</span><span class="Other">:</span> <a href="#BProc"><span class="Identifier">BProc</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="#TCProcSection"><span class="Identifier">TCProcSection</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="cbuilderbase.html#Builder"><span class="Identifier">Builder</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L209" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L209" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="15">
|
||||
<h1><a class="toc-backref" href="#15">Iterators</a></h1>
|
||||
<dl class="item">
|
||||
<div id="cgenModules-iterators-all">
|
||||
<div id="cgenModules.i,BModuleList">
|
||||
<dt><pre><span class="Keyword">iterator</span> <a href="#cgenModules.i%2CBModuleList"><span class="Identifier">cgenModules</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="#BModuleList"><span class="Identifier">BModuleList</span></a><span class="Other">)</span><span class="Other">:</span> <a href="#BModule"><span class="Identifier">BModule</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L239" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L239" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="18">
|
||||
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
||||
<dl class="item">
|
||||
<div id="config-templates-all">
|
||||
<div id="config.t,BModule">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#config.t%2CBModule"><span class="Identifier">config</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="#BModule"><span class="Identifier">BModule</span></a><span class="Other">)</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L198" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L198" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="config.t,BProc">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#config.t%2CBProc"><span class="Identifier">config</span></a><span class="Other">(</span><span class="Identifier">p</span><span class="Other">:</span> <a href="#BProc"><span class="Identifier">BProc</span></a><span class="Other">)</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L199" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L199" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="vccAndC-templates-all">
|
||||
<div id="vccAndC.t,BProc">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#vccAndC.t%2CBProc"><span class="Identifier">vccAndC</span></a><span class="Other">(</span><span class="Identifier">p</span><span class="Other">:</span> <a href="#BProc"><span class="Identifier">BProc</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L200" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L200" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:09 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
86
compiler/cgendata.idx
Normal file
86
compiler/cgendata.idx
Normal file
@@ -0,0 +1,86 @@
|
||||
nimTitle cgendata cgendata.html module cgendata 0
|
||||
nim TLabel cgendata.html#TLabel type TLabel 19
|
||||
nim cfsHeaders cgendata.html#cfsHeaders TCFileSection.cfsHeaders 20
|
||||
nim cfsFrameDefines cgendata.html#cfsFrameDefines TCFileSection.cfsFrameDefines 20
|
||||
nim cfsForwardTypes cgendata.html#cfsForwardTypes TCFileSection.cfsForwardTypes 20
|
||||
nim cfsTypes cgendata.html#cfsTypes TCFileSection.cfsTypes 20
|
||||
nim cfsSeqTypes cgendata.html#cfsSeqTypes TCFileSection.cfsSeqTypes 20
|
||||
nim cfsTypeInfo cgendata.html#cfsTypeInfo TCFileSection.cfsTypeInfo 20
|
||||
nim cfsProcHeaders cgendata.html#cfsProcHeaders TCFileSection.cfsProcHeaders 20
|
||||
nim cfsStrData cgendata.html#cfsStrData TCFileSection.cfsStrData 20
|
||||
nim cfsData cgendata.html#cfsData TCFileSection.cfsData 20
|
||||
nim cfsVars cgendata.html#cfsVars TCFileSection.cfsVars 20
|
||||
nim cfsProcs cgendata.html#cfsProcs TCFileSection.cfsProcs 20
|
||||
nim cfsInitProc cgendata.html#cfsInitProc TCFileSection.cfsInitProc 20
|
||||
nim cfsDatInitProc cgendata.html#cfsDatInitProc TCFileSection.cfsDatInitProc 20
|
||||
nim cfsTypeInit1 cgendata.html#cfsTypeInit1 TCFileSection.cfsTypeInit1 20
|
||||
nim cfsTypeInit3 cgendata.html#cfsTypeInit3 TCFileSection.cfsTypeInit3 20
|
||||
nim cfsDynLibInit cgendata.html#cfsDynLibInit TCFileSection.cfsDynLibInit 20
|
||||
nim TCFileSection cgendata.html#TCFileSection enum TCFileSection 20
|
||||
nim ctVoid cgendata.html#ctVoid TCTypeKind.ctVoid 39
|
||||
nim ctChar cgendata.html#ctChar TCTypeKind.ctChar 39
|
||||
nim ctBool cgendata.html#ctBool TCTypeKind.ctBool 39
|
||||
nim ctInt cgendata.html#ctInt TCTypeKind.ctInt 39
|
||||
nim ctInt8 cgendata.html#ctInt8 TCTypeKind.ctInt8 39
|
||||
nim ctInt16 cgendata.html#ctInt16 TCTypeKind.ctInt16 39
|
||||
nim ctInt32 cgendata.html#ctInt32 TCTypeKind.ctInt32 39
|
||||
nim ctInt64 cgendata.html#ctInt64 TCTypeKind.ctInt64 39
|
||||
nim ctFloat cgendata.html#ctFloat TCTypeKind.ctFloat 39
|
||||
nim ctFloat32 cgendata.html#ctFloat32 TCTypeKind.ctFloat32 39
|
||||
nim ctFloat64 cgendata.html#ctFloat64 TCTypeKind.ctFloat64 39
|
||||
nim ctFloat128 cgendata.html#ctFloat128 TCTypeKind.ctFloat128 39
|
||||
nim ctUInt cgendata.html#ctUInt TCTypeKind.ctUInt 39
|
||||
nim ctUInt8 cgendata.html#ctUInt8 TCTypeKind.ctUInt8 39
|
||||
nim ctUInt16 cgendata.html#ctUInt16 TCTypeKind.ctUInt16 39
|
||||
nim ctUInt32 cgendata.html#ctUInt32 TCTypeKind.ctUInt32 39
|
||||
nim ctUInt64 cgendata.html#ctUInt64 TCTypeKind.ctUInt64 39
|
||||
nim ctArray cgendata.html#ctArray TCTypeKind.ctArray 39
|
||||
nim ctPtrToArray cgendata.html#ctPtrToArray TCTypeKind.ctPtrToArray 39
|
||||
nim ctStruct cgendata.html#ctStruct TCTypeKind.ctStruct 39
|
||||
nim ctPtr cgendata.html#ctPtr TCTypeKind.ctPtr 39
|
||||
nim ctNimStr cgendata.html#ctNimStr TCTypeKind.ctNimStr 39
|
||||
nim ctNimSeq cgendata.html#ctNimSeq TCTypeKind.ctNimSeq 39
|
||||
nim ctProc cgendata.html#ctProc TCTypeKind.ctProc 39
|
||||
nim ctCString cgendata.html#ctCString TCTypeKind.ctCString 39
|
||||
nim TCTypeKind cgendata.html#TCTypeKind enum TCTypeKind 39
|
||||
nim TCFileSections cgendata.html#TCFileSections type TCFileSections 46
|
||||
nim cpsLocals cgendata.html#cpsLocals TCProcSection.cpsLocals 47
|
||||
nim cpsInit cgendata.html#cpsInit TCProcSection.cpsInit 47
|
||||
nim cpsStmts cgendata.html#cpsStmts TCProcSection.cpsStmts 47
|
||||
nim TCProcSection cgendata.html#TCProcSection enum TCProcSection 47
|
||||
nim TCProcSections cgendata.html#TCProcSections type TCProcSections 51
|
||||
nim BModule cgendata.html#BModule type BModule 52
|
||||
nim BProc cgendata.html#BProc type BProc 53
|
||||
nim TBlock cgendata.html#TBlock object TBlock 54
|
||||
nim beforeRetNeeded cgendata.html#beforeRetNeeded TCProcFlag.beforeRetNeeded 64
|
||||
nim threadVarAccessed cgendata.html#threadVarAccessed TCProcFlag.threadVarAccessed 64
|
||||
nim hasCurFramePointer cgendata.html#hasCurFramePointer TCProcFlag.hasCurFramePointer 64
|
||||
nim noSafePoints cgendata.html#noSafePoints TCProcFlag.noSafePoints 64
|
||||
nim nimErrorFlagAccessed cgendata.html#nimErrorFlagAccessed TCProcFlag.nimErrorFlagAccessed 64
|
||||
nim nimErrorFlagDeclared cgendata.html#nimErrorFlagDeclared TCProcFlag.nimErrorFlagDeclared 64
|
||||
nim nimErrorFlagDisabled cgendata.html#nimErrorFlagDisabled TCProcFlag.nimErrorFlagDisabled 64
|
||||
nim TCProcFlag cgendata.html#TCProcFlag enum TCProcFlag 64
|
||||
nim TTypeSeq cgendata.html#TTypeSeq type TTypeSeq 105
|
||||
nim TypeCache cgendata.html#TypeCache type TypeCache 106
|
||||
nim TypeCacheWithOwner cgendata.html#TypeCacheWithOwner type TypeCacheWithOwner 107
|
||||
nim preventStackTrace cgendata.html#preventStackTrace CodegenFlag.preventStackTrace 109
|
||||
nim usesThreadVars cgendata.html#usesThreadVars CodegenFlag.usesThreadVars 109
|
||||
nim frameDeclared cgendata.html#frameDeclared CodegenFlag.frameDeclared 109
|
||||
nim isHeaderFile cgendata.html#isHeaderFile CodegenFlag.isHeaderFile 109
|
||||
nim includesStringh cgendata.html#includesStringh CodegenFlag.includesStringh 109
|
||||
nim objHasKidsValid cgendata.html#objHasKidsValid CodegenFlag.objHasKidsValid 109
|
||||
nim useAliveDataFromDce cgendata.html#useAliveDataFromDce CodegenFlag.useAliveDataFromDce 109
|
||||
nim CodegenFlag cgendata.html#CodegenFlag enum CodegenFlag 109
|
||||
nim BModuleList cgendata.html#BModuleList type BModuleList 120
|
||||
nim config cgendata.html#config.t,BModule template config(m: BModule): ConfigRef 198
|
||||
nim config cgendata.html#config.t,BProc template config(p: BProc): ConfigRef 199
|
||||
nim vccAndC cgendata.html#vccAndC.t,BProc template vccAndC(p: BProc): bool 200
|
||||
nim delayedCodegen cgendata.html#delayedCodegen,BModule proc delayedCodegen(m: BModule): bool 202
|
||||
nim includeHeader cgendata.html#includeHeader,BModule,string proc includeHeader(this: BModule; header: string) 205
|
||||
nim s cgendata.html#s,BProc,TCProcSection proc s(p: BProc; s: TCProcSection): var Builder 209
|
||||
nim procSec cgendata.html#procSec,BProc,TCProcSection proc procSec(p: BProc; s: TCProcSection): var Builder 213
|
||||
nim initBlock cgendata.html#initBlock proc initBlock(): TBlock 217
|
||||
nim newProc cgendata.html#newProc,PSym,BModule proc newProc(prc: PSym; module: BModule): BProc 222
|
||||
nim newModuleList cgendata.html#newModuleList,ModuleGraph proc newModuleList(g: ModuleGraph): BModuleList 235
|
||||
nim cgenModules cgendata.html#cgenModules.i,BModuleList iterator cgenModules(g: BModuleList): BModule 239
|
||||
nimgrp config cgendata.html#config-templates-all template 198
|
||||
243
compiler/cgmeth.html
Normal file
243
compiler/cgmeth.html
Normal file
@@ -0,0 +1,243 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>cgmeth</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">cgmeth</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">generateIfMethodDispatchers
|
||||
<li><a class="reference" href="#generateIfMethodDispatchers%2CModuleGraph%2CIdGenerator" title="generateIfMethodDispatchers(g: ModuleGraph; idgen: IdGenerator)">generateIfMethodDispatchers(g: ModuleGraph; idgen: IdGenerator)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">genIfDispatcher
|
||||
<li><a class="reference" href="#genIfDispatcher%2CModuleGraph%2Cseq%5BPSym%5D%2CIntSet%2CIdGenerator" title="genIfDispatcher(g: ModuleGraph; methods: seq[PSym]; relevantCols: IntSet;
|
||||
idgen: IdGenerator): PSym">genIfDispatcher(g: ModuleGraph; methods: seq[PSym]; relevantCols: IntSet;
|
||||
idgen: IdGenerator): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getDispatcher
|
||||
<li><a class="reference" href="#getDispatcher%2CPSym" title="getDispatcher(s: PSym): PSym">getDispatcher(s: PSym): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">methodCall
|
||||
<li><a class="reference" href="#methodCall%2CPNode%2CConfigRef" title="methodCall(n: PNode; conf: ConfigRef): PNode">methodCall(n: PNode; conf: ConfigRef): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">methodDef
|
||||
<li><a class="reference" href="#methodDef%2CModuleGraph%2CIdGenerator%2CPSym" title="methodDef(g: ModuleGraph; idgen: IdGenerator; s: PSym)">methodDef(g: ModuleGraph; idgen: IdGenerator; s: PSym)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">relevantCol
|
||||
<li><a class="reference" href="#relevantCol%2Cseq%5BPSym%5D%2Cint" title="relevantCol(methods: seq[PSym]; col: int): bool">relevantCol(methods: seq[PSym]; col: int): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">sortBucket
|
||||
<li><a class="reference" href="#sortBucket%2Cseq%5BPSym%5D%2CIntSet" title="sortBucket(a: var seq[PSym]; relevantCols: IntSet)">sortBucket(a: var seq[PSym]; relevantCols: IntSet)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgmeth.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module implements code generation for methods.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="magicsys.html">magicsys</a>, <a class="reference external" href="sempass2.html">sempass2</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="astalgo.html">astalgo</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="generateIfMethodDispatchers-procs-all">
|
||||
<div id="generateIfMethodDispatchers,ModuleGraph,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#generateIfMethodDispatchers%2CModuleGraph%2CIdGenerator"><span class="Identifier">generateIfMethodDispatchers</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgmeth.nim#L311" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L311" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="genIfDispatcher-procs-all">
|
||||
<div id="genIfDispatcher,ModuleGraph,seq[PSym],IntSet,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genIfDispatcher%2CModuleGraph%2Cseq%5BPSym%5D%2CIntSet%2CIdGenerator"><span class="Identifier">genIfDispatcher</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">methods</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">relevantCols</span><span class="Other">:</span> <span class="Identifier">IntSet</span><span class="Other">;</span>
|
||||
<span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgmeth.nim#L252" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L252" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getDispatcher-procs-all">
|
||||
<div id="getDispatcher,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getDispatcher%2CPSym"><span class="Identifier">getDispatcher</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
can return nil if is has no dispatcher.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgmeth.nim#L45" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L45" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="methodCall-procs-all">
|
||||
<div id="methodCall,PNode,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#methodCall%2CPNode%2CConfigRef"><span class="Identifier">methodCall</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgmeth.nim#L53" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L53" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="methodDef-procs-all">
|
||||
<div id="methodDef,ModuleGraph,IdGenerator,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#methodDef%2CModuleGraph%2CIdGenerator%2CPSym"><span class="Identifier">methodDef</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgmeth.nim#L160" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L160" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="relevantCol-procs-all">
|
||||
<div id="relevantCol,seq[PSym],int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#relevantCol%2Cseq%5BPSym%5D%2Cint"><span class="Identifier">relevantCol</span></a><span class="Other">(</span><span class="Identifier">methods</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">col</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgmeth.nim#L213" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L213" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="sortBucket-procs-all">
|
||||
<div id="sortBucket,seq[PSym],IntSet">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#sortBucket%2Cseq%5BPSym%5D%2CIntSet"><span class="Identifier">sortBucket</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">relevantCols</span><span class="Other">:</span> <span class="Identifier">IntSet</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgmeth.nim#L233" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L233" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:10 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
8
compiler/cgmeth.idx
Normal file
8
compiler/cgmeth.idx
Normal file
@@ -0,0 +1,8 @@
|
||||
nimTitle cgmeth cgmeth.html module cgmeth 0
|
||||
nim getDispatcher cgmeth.html#getDispatcher,PSym proc getDispatcher(s: PSym): PSym 45
|
||||
nim methodCall cgmeth.html#methodCall,PNode,ConfigRef proc methodCall(n: PNode; conf: ConfigRef): PNode 53
|
||||
nim methodDef cgmeth.html#methodDef,ModuleGraph,IdGenerator,PSym proc methodDef(g: ModuleGraph; idgen: IdGenerator; s: PSym) 160
|
||||
nim relevantCol cgmeth.html#relevantCol,seq[PSym],int proc relevantCol(methods: seq[PSym]; col: int): bool 213
|
||||
nim sortBucket cgmeth.html#sortBucket,seq[PSym],IntSet proc sortBucket(a: var seq[PSym]; relevantCols: IntSet) 233
|
||||
nim genIfDispatcher cgmeth.html#genIfDispatcher,ModuleGraph,seq[PSym],IntSet,IdGenerator proc genIfDispatcher(g: ModuleGraph; methods: seq[PSym]; relevantCols: IntSet;\n idgen: IdGenerator): PSym 252
|
||||
nim generateIfMethodDispatchers cgmeth.html#generateIfMethodDispatchers,ModuleGraph,IdGenerator proc generateIfMethodDispatchers(g: ModuleGraph; idgen: IdGenerator) 311
|
||||
125
compiler/closureiters.html
Normal file
125
compiler/closureiters.html
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>closureiters</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">closureiters</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">transformClosureIterator
|
||||
<li><a class="reference" href="#transformClosureIterator%2CModuleGraph%2CIdGenerator%2CPSym%2CPNode" title="transformClosureIterator(g: ModuleGraph; idgen: IdGenerator; fn: PSym; n: PNode): PNode">transformClosureIterator(g: ModuleGraph; idgen: IdGenerator; fn: PSym; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/closureiters.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/closureiters.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="magicsys.html">magicsys</a>, <a class="reference external" href="lowerings.html">lowerings</a>, <a class="reference external" href="lambdalifting.html">lambdalifting</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="trees.html">trees</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="transformClosureIterator-procs-all">
|
||||
<div id="transformClosureIterator,ModuleGraph,IdGenerator,PSym,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#transformClosureIterator%2CModuleGraph%2CIdGenerator%2CPSym%2CPNode"><span class="Identifier">transformClosureIterator</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">;</span> <span class="Identifier">fn</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/closureiters.nim#L1490" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/closureiters.nim#L1490" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:10 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/closureiters.idx
Normal file
2
compiler/closureiters.idx
Normal file
@@ -0,0 +1,2 @@
|
||||
nimTitle closureiters closureiters.html module closureiters 0
|
||||
nim transformClosureIterator closureiters.html#transformClosureIterator,ModuleGraph,IdGenerator,PSym,PNode proc transformClosureIterator(g: ModuleGraph; idgen: IdGenerator; fn: PSym; n: PNode): PNode 1490
|
||||
259
compiler/cmdlinehelper.html
Normal file
259
compiler/cmdlinehelper.html
Normal file
@@ -0,0 +1,259 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>cmdlinehelper</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">cmdlinehelper</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#NimProg" title="NimProg = ref object
|
||||
suggestMode*: bool
|
||||
supportsStdinFile*: bool
|
||||
processCmdLine*: proc (pass: TCmdLinePass; cmd: string; config: ConfigRef)">NimProg</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">addCmdPrefix
|
||||
<li><a class="reference" href="#addCmdPrefix%2Cstring%2CCmdLineKind" title="addCmdPrefix(result: var string; kind: CmdLineKind)">addCmdPrefix(result: var string; kind: CmdLineKind)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initDefinesProg
|
||||
<li><a class="reference" href="#initDefinesProg%2CNimProg%2CConfigRef%2Cstring" title="initDefinesProg(self: NimProg; conf: ConfigRef; name: string)">initDefinesProg(self: NimProg; conf: ConfigRef; name: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadConfigsAndProcessCmdLine
|
||||
<li><a class="reference" href="#loadConfigsAndProcessCmdLine%2CNimProg%2CIdentCache%2CConfigRef%2CModuleGraph" title="loadConfigsAndProcessCmdLine(self: NimProg; cache: IdentCache; conf: ConfigRef;
|
||||
graph: ModuleGraph): bool">loadConfigsAndProcessCmdLine(self: NimProg; cache: IdentCache; conf: ConfigRef;
|
||||
graph: ModuleGraph): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadConfigsAndRunMainCommand
|
||||
<li><a class="reference" href="#loadConfigsAndRunMainCommand%2CNimProg%2CIdentCache%2CConfigRef%2CModuleGraph" title="loadConfigsAndRunMainCommand(self: NimProg; cache: IdentCache; conf: ConfigRef;
|
||||
graph: ModuleGraph): bool">loadConfigsAndRunMainCommand(self: NimProg; cache: IdentCache; conf: ConfigRef;
|
||||
graph: ModuleGraph): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">prependCurDir
|
||||
<li><a class="reference" href="#prependCurDir%2CAbsoluteFile" title="prependCurDir(f: AbsoluteFile): AbsoluteFile">prependCurDir(f: AbsoluteFile): AbsoluteFile</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">processCmdLineAndProjectPath
|
||||
<li><a class="reference" href="#processCmdLineAndProjectPath%2CNimProg%2CConfigRef" title="processCmdLineAndProjectPath(self: NimProg; conf: ConfigRef)">processCmdLineAndProjectPath(self: NimProg; conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cmdlinehelper.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Helpers for binaries that use compiler passes, e.g.: nim, nimsuggest</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="nimconf.html">nimconf</a>, <a class="reference external" href="extccomp.html">extccomp</a>, <a class="reference external" href="commands.html">commands</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="condsyms.html">condsyms</a>, <a class="reference external" href="pathutils.html">pathutils</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="NimProg">
|
||||
<dt><pre><a href="#NimProg"><span class="Identifier">NimProg</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">suggestMode</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
|
||||
<span class="Identifier">supportsStdinFile</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
|
||||
<span class="Identifier">processCmdLine</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">pass</span><span class="Other">:</span> <a href="commands.html#TCmdLinePass"><span class="Identifier">TCmdLinePass</span></a><span class="Other">;</span> <span class="Identifier">cmd</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cmdlinehelper.nim#L33" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L33" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="addCmdPrefix-procs-all">
|
||||
<div id="addCmdPrefix,string,CmdLineKind">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addCmdPrefix%2Cstring%2CCmdLineKind"><span class="Identifier">addCmdPrefix</span></a><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">kind</span><span class="Other">:</span> <span class="Identifier">CmdLineKind</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cmdlinehelper.nim#L25" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L25" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initDefinesProg-procs-all">
|
||||
<div id="initDefinesProg,NimProg,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initDefinesProg%2CNimProg%2CConfigRef%2Cstring"><span class="Identifier">initDefinesProg</span></a><span class="Other">(</span><span class="Identifier">self</span><span class="Other">:</span> <a href="#NimProg"><span class="Identifier">NimProg</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cmdlinehelper.nim#L38" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L38" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadConfigsAndProcessCmdLine-procs-all">
|
||||
<div id="loadConfigsAndProcessCmdLine,NimProg,IdentCache,ConfigRef,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadConfigsAndProcessCmdLine%2CNimProg%2CIdentCache%2CConfigRef%2CModuleGraph"><span class="Identifier">loadConfigsAndProcessCmdLine</span></a><span class="Other">(</span><span class="Identifier">self</span><span class="Other">:</span> <a href="#NimProg"><span class="Identifier">NimProg</span></a><span class="Other">;</span> <span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">EOFError</span><span class="Other">,</span> <span class="Identifier">ESuggestDone</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteEnvEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cmdlinehelper.nim#L53" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L53" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadConfigsAndRunMainCommand-procs-all">
|
||||
<div id="loadConfigsAndRunMainCommand,NimProg,IdentCache,ConfigRef,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadConfigsAndRunMainCommand%2CNimProg%2CIdentCache%2CConfigRef%2CModuleGraph"><span class="Identifier">loadConfigsAndRunMainCommand</span></a><span class="Other">(</span><span class="Identifier">self</span><span class="Other">:</span> <a href="#NimProg"><span class="Identifier">NimProg</span></a><span class="Other">;</span> <span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">EOFError</span><span class="Other">,</span> <span class="Identifier">ESuggestDone</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteEnvEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Alias for loadConfigsAndProcessCmdLine, here for backwards compatibility
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cmdlinehelper.nim#L84" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L84" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="prependCurDir-procs-all">
|
||||
<div id="prependCurDir,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#prependCurDir%2CAbsoluteFile"><span class="Identifier">prependCurDir</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cmdlinehelper.nim#L18" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L18" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="processCmdLineAndProjectPath-procs-all">
|
||||
<div id="processCmdLineAndProjectPath,NimProg,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processCmdLineAndProjectPath%2CNimProg%2CConfigRef"><span class="Identifier">processCmdLineAndProjectPath</span></a><span class="Other">(</span><span class="Identifier">self</span><span class="Other">:</span> <a href="#NimProg"><span class="Identifier">NimProg</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cmdlinehelper.nim#L42" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L42" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
8
compiler/cmdlinehelper.idx
Normal file
8
compiler/cmdlinehelper.idx
Normal file
@@ -0,0 +1,8 @@
|
||||
nimTitle cmdlinehelper cmdlinehelper.html module cmdlinehelper 0
|
||||
nim prependCurDir cmdlinehelper.html#prependCurDir,AbsoluteFile proc prependCurDir(f: AbsoluteFile): AbsoluteFile 18
|
||||
nim addCmdPrefix cmdlinehelper.html#addCmdPrefix,string,CmdLineKind proc addCmdPrefix(result: var string; kind: CmdLineKind) 25
|
||||
nim NimProg cmdlinehelper.html#NimProg type NimProg 33
|
||||
nim initDefinesProg cmdlinehelper.html#initDefinesProg,NimProg,ConfigRef,string proc initDefinesProg(self: NimProg; conf: ConfigRef; name: string) 38
|
||||
nim processCmdLineAndProjectPath cmdlinehelper.html#processCmdLineAndProjectPath,NimProg,ConfigRef proc processCmdLineAndProjectPath(self: NimProg; conf: ConfigRef) 42
|
||||
nim loadConfigsAndProcessCmdLine cmdlinehelper.html#loadConfigsAndProcessCmdLine,NimProg,IdentCache,ConfigRef,ModuleGraph proc loadConfigsAndProcessCmdLine(self: NimProg; cache: IdentCache; conf: ConfigRef;\n graph: ModuleGraph): bool 53
|
||||
nim loadConfigsAndRunMainCommand cmdlinehelper.html#loadConfigsAndRunMainCommand,NimProg,IdentCache,ConfigRef,ModuleGraph proc loadConfigsAndRunMainCommand(self: NimProg; cache: IdentCache; conf: ConfigRef;\n graph: ModuleGraph): bool 84
|
||||
541
compiler/cnif.html
Normal file
541
compiler/cnif.html
Normal file
@@ -0,0 +1,541 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>cnif</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">cnif</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#CnifHeads" title="CnifHeads = object
|
||||
valid*: bool ## file parsed, carries the meta head and has
|
||||
## the current format version
|
||||
initRequired*: bool
|
||||
datInitRequired*: bool
|
||||
semmedNif*: string ## the semmed NIF this TU was generated from
|
||||
moduleBase*: string ## the module's mangled base name
|
||||
cdefs*: seq[tuple[cname, nifname: string]] ## the proc definitions
|
||||
cdata*: seq[tuple[cname, nifname: string]] ## the data definitions
|
||||
crefs*: seq[string] ## C names referenced but not defined here
|
||||
cdeps*: seq[string] ## module suffixes whose routine bodies this
|
||||
## TU embeds (impl-cookie gated on reuse)">CnifHeads</a></li>
|
||||
<li><a class="reference" href="#CnifLiveness" title="CnifLiveness = object
|
||||
defs*: int ## proc definitions emitted across all modules
|
||||
liveDefs*: int ## of those, reachable from the roots
|
||||
live*: HashSet[string] ## live C names
|
||||
broken*: bool">CnifLiveness</a></li>
|
||||
<li><a class="reference" href="#MergeDecision" title="MergeDecision = object
|
||||
live*: HashSet[string] ## globally reachable C names (dead cdefs
|
||||
## are dropped from every module)
|
||||
owners*: Table[string, string] ## for each `'u'`-flagged (unique,
|
||||
## externally-linked) definition, the single
|
||||
## artifact base name allowed to embed its
|
||||
## body; every other module prototypes it
|
||||
broken*: bool ## an artifact was missing or unparsable —
|
||||
## the caller should fall back / regenerate
|
||||
defs*, liveDefs*: int">MergeDecision</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#CnifDefEnd" title="CnifDefEnd = '\x05'">CnifDefEnd</a></li>
|
||||
<li><a class="reference" href="#CnifDefSep" title="CnifDefSep = '\x1F'">CnifDefSep</a></li>
|
||||
<li><a class="reference" href="#CnifDefStart" title="CnifDefStart = '\x04'">CnifDefStart</a></li>
|
||||
<li><a class="reference" href="#CnifSymEnd" title="CnifSymEnd = '\x03'">CnifSymEnd</a></li>
|
||||
<li><a class="reference" href="#CnifSymStart" title="CnifSymStart = '\x02'">CnifSymStart</a></li>
|
||||
<li><a class="reference" href="#CnifVersion" title="CnifVersion = "4"">CnifVersion</a></li>
|
||||
<li><a class="reference" href="#MergeDecisionFile" title="MergeDecisionFile = "ic.backend.merge.nif"">MergeDecisionFile</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">cnifDefDirective
|
||||
<li><a class="reference" href="#cnifDefDirective%2Cstring%2Cstring%2Cstring" title="cnifDefDirective(name, flags, nifName: string): string">cnifDefDirective(name, flags, nifName: string): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">cnifEndDefs
|
||||
<li><a class="reference" href="#cnifEndDefs" title="cnifEndDefs(): string">cnifEndDefs(): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">computeLiveFromCArtifacts
|
||||
<li><a class="reference" href="#computeLiveFromCArtifacts%2CopenArray%5Bstring%5D" title="computeLiveFromCArtifacts(files: openArray[string]): CnifLiveness">computeLiveFromCArtifacts(files: openArray[string]): CnifLiveness</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">computeMergeDecision
|
||||
<li><a class="reference" href="#computeMergeDecision%2CopenArray%5Bstring%5D" title="computeMergeDecision(files: openArray[string]): MergeDecision">computeMergeDecision(files: openArray[string]): MergeDecision</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">hasCnifMarks
|
||||
<li><a class="reference" href="#hasCnifMarks%2Cstring" title="hasCnifMarks(s: string): bool">hasCnifMarks(s: string): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">markCName
|
||||
<li><a class="reference" href="#markCName%2Cstring" title="markCName(name: string): string">markCName(name: string): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">readCnifHeads
|
||||
<li><a class="reference" href="#readCnifHeads%2Cstring" title="readCnifHeads(f: string): CnifHeads">readCnifHeads(f: string): CnifHeads</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">readMergeDecision
|
||||
<li><a class="reference" href="#readMergeDecision%2Cstring" title="readMergeDecision(f: string): MergeDecision">readMergeDecision(f: string): MergeDecision</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">renderCFromArtifact
|
||||
<li><a class="reference" href="#renderCFromArtifact%2Cstring%2CMergeDecision%2Cstring%2Cint" title="renderCFromArtifact(artifact: string; d: MergeDecision; ownerId: string;
|
||||
dropped: var int): string">renderCFromArtifact(artifact: string; d: MergeDecision; ownerId: string;
|
||||
dropped: var int): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">renderMarkedC
|
||||
<li><a class="reference" href="#renderMarkedC%2Cstring%2CHashSet%5Bstring%5D%2Cint" title="renderMarkedC(code: string; live: HashSet[string]; dropped: var int): string">renderMarkedC(code: string; live: HashSet[string]; dropped: var int): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">stripCnifMarks
|
||||
<li><a class="reference" href="#stripCnifMarks%2Cstring" title="stripCnifMarks(s: string): string">stripCnifMarks(s: string): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeCnifArtifact
|
||||
<li><a class="reference" href="#writeCnifArtifact%2Cstring%2Cstring%2CopenArray%5Btuple%5Bstring%2Cstring%5D%5D%2Cstring%2Cstring%2CopenArray%5Bstring%5D" title="writeCnifArtifact(code: string; outfile: string; initRequired = false;
|
||||
datInitRequired = false;
|
||||
dataDefs: openArray[tuple[cname, nifname: string]] = [];
|
||||
semmedNif = ""; moduleBase = "";
|
||||
implDeps: openArray[string] = [])">writeCnifArtifact(code: string; outfile: string; initRequired = false;
|
||||
datInitRequired = false;
|
||||
dataDefs: openArray[tuple[cname, nifname: string]] = [];
|
||||
semmedNif = ""; moduleBase = "";
|
||||
implDeps: openArray[string] = [])</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeMergeDecision
|
||||
<li><a class="reference" href="#writeMergeDecision%2Cstring%2CMergeDecision" title="writeMergeDecision(outfile: string; d: MergeDecision)">writeMergeDecision(outfile: string; d: MergeDecision)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"><p>The "cnif" artifact: the C code generator's output as a NIF file.</p>
|
||||
<p>This is deliberately <em>not</em> NIFC: the C text is kept verbatim (Nim's C-level machinery — exception handling in particular — is more refined than what NIFC models today; the gap can be closed incrementally later). The only structure the artifact adds is the part dead code elimination and generic-instance merging need:</p>
|
||||
<ul class="simple"><li>raw C text as string literals</li>
|
||||
<li>every <em>global</em> entity's C name as a <tt class="docutils literal"><span class="pre"><span class="Identifier">Symbol</span></span></tt> token</li>
|
||||
<li>every emitted proc definition as a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cdef</span> <span class="Identifier">SymbolDef</span> <span class="Identifier">flags</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> group</li>
|
||||
</ul>
|
||||
<p>The C generator marks names with control characters at the single place a global's C name is minted (<tt class="docutils literal"><span class="pre"><span class="Identifier">fillBackendName</span></span></tt>) and emits a definition directive at the single place finished procs are appended; the marks then ride through all of the snippet composition untouched. This module turns the final marked module text into the <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">c</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> artifact and strips the marks for the actual <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">c</span></span></tt> output. Rendering C from the artifact is a plain token walk: string literals verbatim, symbols by name — which is also where a later merge step redirects losing generic instances.</p>
|
||||
<p>Marker scheme (cannot collide: C string literals escape control chars, and <tt class="docutils literal"><span class="pre"><span class="Operator">\</span><span class="DecNumber">1</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Operator">\</span><span class="DecNumber">31</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Operator">\</span><span class="DecNumber">23</span></span></tt> of cgen's postprocess directives are distinct): 2 name 3 a global's C name 4 name 31 flags 31 nif 5 start of the definition of <tt class="docutils literal"><span class="pre"><span class="Identifier">name</span></span></tt>; <tt class="docutils literal"><span class="pre"><span class="Identifier">nif</span></span></tt> is the defining symbol's NIF name (empty for backend-minted symbols) so a later run can re-demand the definition 4 5 end of the definitions section</p>
|
||||
</p>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="CnifHeads">
|
||||
<dt><pre><a href="#CnifHeads"><span class="Identifier">CnifHeads</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">valid</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span> <span class="Comment">## file parsed, carries the meta head and has</span>
|
||||
<span class="Comment">## the current format version</span>
|
||||
<span class="Identifier">initRequired</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
|
||||
<span class="Identifier">datInitRequired</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
|
||||
<span class="Identifier">semmedNif</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span> <span class="Comment">## the semmed NIF this TU was generated from</span>
|
||||
<span class="Identifier">moduleBase</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span> <span class="Comment">## the module's mangled base name</span>
|
||||
<span class="Identifier">cdefs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">cname</span><span class="Other">,</span> <span class="Identifier">nifname</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">]</span><span class="Other">]</span> <span class="Comment">## the proc definitions</span>
|
||||
<span class="Identifier">cdata</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">cname</span><span class="Other">,</span> <span class="Identifier">nifname</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">]</span><span class="Other">]</span> <span class="Comment">## the data definitions</span>
|
||||
<span class="Identifier">crefs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> <span class="Comment">## C names referenced but not defined here</span>
|
||||
<span class="Identifier">cdeps</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> <span class="Comment">## module suffixes whose routine bodies this</span>
|
||||
<span class="Comment">## TU embeds (impl-cookie gated on reuse)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
The cheap-to-parse part of an artifact that a later run needs in order to reuse the TU without regenerating it.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L255" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L255" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="CnifLiveness">
|
||||
<dt><pre><a href="#CnifLiveness"><span class="Identifier">CnifLiveness</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">defs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Comment">## proc definitions emitted across all modules</span>
|
||||
<span class="Identifier">liveDefs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Comment">## of those, reachable from the roots</span>
|
||||
<span class="Identifier">live</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">HashSet</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> <span class="Comment">## live C names</span>
|
||||
<span class="Identifier">broken</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L362" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L362" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="MergeDecision">
|
||||
<dt><pre><a href="#MergeDecision"><span class="Identifier">MergeDecision</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">live</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">HashSet</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> <span class="Comment">## globally reachable C names (dead cdefs</span>
|
||||
<span class="Comment">## are dropped from every module)</span>
|
||||
<span class="Identifier">owners</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">Table</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">string</span><span class="Other">]</span> <span class="Comment">## for each `'u'`-flagged (unique,</span>
|
||||
<span class="Comment">## externally-linked) definition, the single</span>
|
||||
<span class="Comment">## artifact base name allowed to embed its</span>
|
||||
<span class="Comment">## body; every other module prototypes it</span>
|
||||
<span class="Identifier">broken</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span> <span class="Comment">## an artifact was missing or unparsable —</span>
|
||||
<span class="Comment">## the caller should fall back / regenerate</span>
|
||||
<span class="Identifier">defs</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">liveDefs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
What the per-module backend's <tt class="docutils literal"><span class="pre"><span class="Identifier">merge</span></span></tt> stage computes from every module's <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">c</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> and what its <tt class="docutils literal"><span class="pre"><span class="Identifier">emit</span></span></tt> stage consumes to render the final <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">c</span></span></tt> of one module.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L468" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L468" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="CnifDefEnd">
|
||||
<dt><pre><a href="#CnifDefEnd"><span class="Identifier">CnifDefEnd</span></a> <span class="Other">=</span> <span class="CharLit">'\x05'</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L48" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L48" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="CnifDefSep">
|
||||
<dt><pre><a href="#CnifDefSep"><span class="Identifier">CnifDefSep</span></a> <span class="Other">=</span> <span class="CharLit">'\x1F'</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L47" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L47" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="CnifDefStart">
|
||||
<dt><pre><a href="#CnifDefStart"><span class="Identifier">CnifDefStart</span></a> <span class="Other">=</span> <span class="CharLit">'\x04'</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L46" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L46" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="CnifSymEnd">
|
||||
<dt><pre><a href="#CnifSymEnd"><span class="Identifier">CnifSymEnd</span></a> <span class="Other">=</span> <span class="CharLit">'\x03'</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L45" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L45" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="CnifSymStart">
|
||||
<dt><pre><a href="#CnifSymStart"><span class="Identifier">CnifSymStart</span></a> <span class="Other">=</span> <span class="CharLit">'\x02'</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L44" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L44" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="CnifVersion">
|
||||
<dt><pre><a href="#CnifVersion"><span class="Identifier">CnifVersion</span></a> <span class="Other">=</span> <span class="StringLit">"4"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
Artifact format version, stored in the meta head. Artifacts written by an older compiler lack the NIF names and the cref group the def-retention check needs (v2), the cdeps group the fine-grained reuse gate needs (v3), or the type NIF names and cnif-marked extern RTTI references the typeinfo flavor of the def-retention check needs (v4); <tt class="docutils literal"><span class="pre"><span class="Identifier">readCnifHeads</span></span></tt> reports them as invalid so their TUs simply regenerate once.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L76" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L76" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="MergeDecisionFile">
|
||||
<dt><pre><a href="#MergeDecisionFile"><span class="Identifier">MergeDecisionFile</span></a> <span class="Other">=</span> <span class="StringLit">"ic.backend.merge.nif"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
Fixed name of the merge stage's output in the nimcache, read by <tt class="docutils literal"><span class="pre"><span class="Identifier">emit</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L587" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L587" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="cnifDefDirective-procs-all">
|
||||
<div id="cnifDefDirective,string,string,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#cnifDefDirective%2Cstring%2Cstring%2Cstring"><span class="Identifier">cnifDefDirective</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">,</span> <span class="Identifier">flags</span><span class="Other">,</span> <span class="Identifier">nifName</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L85" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L85" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="cnifEndDefs-procs-all">
|
||||
<div id="cnifEndDefs">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#cnifEndDefs"><span class="Identifier">cnifEndDefs</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L88" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L88" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="computeLiveFromCArtifacts-procs-all">
|
||||
<div id="computeLiveFromCArtifacts,openArray[string]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#computeLiveFromCArtifacts%2CopenArray%5Bstring%5D"><span class="Identifier">computeLiveFromCArtifacts</span></a><span class="Other">(</span><span class="Identifier">files</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="#CnifLiveness"><span class="Identifier">CnifLiveness</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<p>dce1-style mark&sweep over the C-shaped artifacts: a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cdef</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> group is a definition (flags 'x'/'c'/'m' — exportc, compilerproc, method/dispatcher — make it a root), names at the top level (data, globals, init code) are roots, names inside a group are its uses. Because the artifact is <em>fully lowered</em> output, no conservative modelling is needed: every call the C code contains is a token here.</p>
|
||||
<p>NB: mangled C names contain no dots, so NIF's text reader classifies them as <tt class="docutils literal"><span class="pre"><span class="Identifier">Ident</span></span></tt> rather than <tt class="docutils literal"><span class="pre"><span class="Identifier">Symbol</span></span></tt>; the dialect therefore treats Ident tokens as name uses. Inside a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cdef</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> the flags ident is the one immediately following the SymbolDef; everything after is a use.</p>
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L368" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L368" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="computeMergeDecision-procs-all">
|
||||
<div id="computeMergeDecision,openArray[string]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#computeMergeDecision%2CopenArray%5Bstring%5D"><span class="Identifier">computeMergeDecision</span></a><span class="Other">(</span><span class="Identifier">files</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="#MergeDecision"><span class="Identifier">MergeDecision</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<p>One pass over every <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">c</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt>: the same mark&sweep as <tt class="docutils literal"><span class="pre"><span class="Identifier">computeLiveFromCArtifacts</span></span></tt> plus, per definition, owner assignment.</p>
|
||||
<p>Each <tt class="docutils literal"><span class="pre"><span class="Identifier">cg</span></span></tt> process emits the body of every definition it demands (emit-everywhere), so the same externally-linked definition appears in several artifacts. A <tt class="docutils literal"><span class="pre"><span class="CharLit">'u'</span></span></tt> flag on the <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cdef</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> marks those that need exactly one owner, assigned here across processes: the owner is the lexicographically smallest artifact that emits it — a pure function of the claimant set, hence stable across rebuilds. Definitions without <tt class="docutils literal"><span class="pre"><span class="CharLit">'u'</span></span></tt> (inline procs, dispatchers) are <tt class="docutils literal"><span class="pre"><span class="Keyword">static</span></span></tt>/main-only and emitted into every using TU, so they get no owner entry and are never deduplicated.</p>
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L482" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L482" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="hasCnifMarks-procs-all">
|
||||
<div id="hasCnifMarks,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hasCnifMarks%2Cstring"><span class="Identifier">hasCnifMarks</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L53" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L53" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="markCName-procs-all">
|
||||
<div id="markCName,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#markCName%2Cstring"><span class="Identifier">markCName</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L50" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L50" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="readCnifHeads-procs-all">
|
||||
<div id="readCnifHeads,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#readCnifHeads%2Cstring"><span class="Identifier">readCnifHeads</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="#CnifHeads"><span class="Identifier">CnifHeads</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Reads <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">meta</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cdata</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cref</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> and the <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cdef</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> head names from an artifact. Artifacts written by an older compiler (no meta head or a different format version) report <tt class="docutils literal"><span class="pre"><span class="Identifier">valid</span><span class="Operator">=</span><span class="Identifier">false</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L270" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L270" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="readMergeDecision-procs-all">
|
||||
<div id="readMergeDecision,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#readMergeDecision%2Cstring"><span class="Identifier">readMergeDecision</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="#MergeDecision"><span class="Identifier">MergeDecision</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Reads back a <tt class="docutils literal"><span class="pre"><span class="Identifier">writeMergeDecision</span></span></tt> file; <tt class="docutils literal"><span class="pre"><span class="Identifier">broken</span><span class="Operator">=</span><span class="Identifier">true</span></span></tt> if absent/unparsable.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L611" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L611" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="renderCFromArtifact-procs-all">
|
||||
<div id="renderCFromArtifact,string,MergeDecision,string,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#renderCFromArtifact%2Cstring%2CMergeDecision%2Cstring%2Cint"><span class="Identifier">renderCFromArtifact</span></a><span class="Other">(</span><span class="Identifier">artifact</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">d</span><span class="Other">:</span> <a href="#MergeDecision"><span class="Identifier">MergeDecision</span></a><span class="Other">;</span> <span class="Identifier">ownerId</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span>
|
||||
<span class="Identifier">dropped</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
The per-module backend's <tt class="docutils literal"><span class="pre"><span class="Identifier">emit</span></span></tt> stage: render one module's final <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">c</span></span></tt> from its <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">c</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> and the merge decision. String literals are emitted verbatim, symbols by name; a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cdef</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> body is dropped when the name is dead, or when it is a <tt class="docutils literal"><span class="pre"><span class="CharLit">'u'</span></span></tt> unique definition this module does not own. The body's prototype lives in the surrounding raw text (cgen emits a forward declaration for every <em>used</em> proc, independent of where the body lands), so a dropped body still leaves a valid declaration — no synthesis needed. The head groups (meta/cdata/cref/cdeps) carry no C text.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L657" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L657" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="renderMarkedC-procs-all">
|
||||
<div id="renderMarkedC,string,HashSet[string],int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#renderMarkedC%2Cstring%2CHashSet%5Bstring%5D%2Cint"><span class="Identifier">renderMarkedC</span></a><span class="Other">(</span><span class="Identifier">code</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">live</span><span class="Other">:</span> <span class="Identifier">HashSet</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">dropped</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Renders the final C text from the marked module text: symbol marks are removed (keeping the names — a later merge step substitutes them here), and definitions whose name is not in <tt class="docutils literal"><span class="pre"><span class="Identifier">live</span></span></tt> are dropped entirely. Each definition is self-delimiting (genProcAux emits an end directive right after the proc's text), so text written by other emitters is never part of a definition's span and survives unconditionally.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L218" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L218" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="stripCnifMarks-procs-all">
|
||||
<div id="stripCnifMarks,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#stripCnifMarks%2Cstring"><span class="Identifier">stripCnifMarks</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Removes the symbol marks (keeping the names) and the definition directives (entirely) so the result is plain C.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L58" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L58" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeCnifArtifact-procs-all">
|
||||
<div id="writeCnifArtifact,string,string,openArray[tuple[string,string]],string,string,openArray[string]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeCnifArtifact%2Cstring%2Cstring%2CopenArray%5Btuple%5Bstring%2Cstring%5D%5D%2Cstring%2Cstring%2CopenArray%5Bstring%5D"><span class="Identifier">writeCnifArtifact</span></a><span class="Other">(</span><span class="Identifier">code</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">outfile</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">initRequired</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">;</span>
|
||||
<span class="Identifier">datInitRequired</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">;</span>
|
||||
<span class="Identifier">dataDefs</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">cname</span><span class="Other">,</span> <span class="Identifier">nifname</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">]</span><span class="Other">]</span> <span class="Other">=</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">semmedNif</span> <span class="Other">=</span> <span class="StringLit">""</span><span class="Other">;</span> <span class="Identifier">moduleBase</span> <span class="Other">=</span> <span class="StringLit">""</span><span class="Other">;</span>
|
||||
<span class="Identifier">implDeps</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> <span class="Other">=</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Splits the marked module text into the <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">c</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> artifact. The artifact starts with a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">meta</span> <span class="Operator"><</span><span class="Identifier">flags</span><span class="Operator">></span> <span class="StringLit">"semmedNif"</span> <span class="StringLit">"moduleBase"</span> <span class="StringLit">"version"</span><span class="Punctuation">)</span></span></tt> head — whether the module has an init/datInit proc ('i'/'d'), which semmed NIF it was generated from and the module's mangled base name (what <tt class="docutils literal"><span class="pre"><span class="Identifier">registerModuleToMain</span></span></tt> and the reuse decision need when the TU is reused in a later run, possibly without the module ever being loaded again) — a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cdata</span> <span class="Punctuation">(</span><span class="Identifier">SymbolDef</span> <span class="Identifier">StrLit</span><span class="Punctuation">)</span><span class="Operator">*</span><span class="Punctuation">)</span></span></tt> group naming the data definitions (consts, globals, RTTI) the TU embeds together with their NIF names, a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cref</span> <span class="Identifier">Ident</span><span class="Operator">*</span><span class="Punctuation">)</span></span></tt> group naming every C name the TU references but does not define itself (what the def-retention check consults when some <em>other</em> TU regenerates), and a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">cdeps</span> <span class="Identifier">Ident</span><span class="Operator">*</span><span class="Punctuation">)</span></span></tt> group naming the modules whose routine <em>bodies</em> this TU embeds (redirected defs, shared instances, hooks): the fine-grained reuse gate checks their <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">impl</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> cookies on top of the direct imports' <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">iface</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> cookies.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L91" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L91" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeMergeDecision-procs-all">
|
||||
<div id="writeMergeDecision,string,MergeDecision">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeMergeDecision%2Cstring%2CMergeDecision"><span class="Identifier">writeMergeDecision</span></a><span class="Other">(</span><span class="Identifier">outfile</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">d</span><span class="Other">:</span> <a href="#MergeDecision"><span class="Identifier">MergeDecision</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Serializes the merge decision: <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">merge</span> <span class="Punctuation">(</span><span class="Identifier">live</span> <span class="Identifier">Symbol</span><span class="Operator">*</span><span class="Punctuation">)</span> <span class="Punctuation">(</span><span class="Identifier">owners</span> <span class="Punctuation">(</span><span class="Identifier">own</span> <span class="Identifier">Symbol</span> <span class="Identifier">StrLit</span><span class="Punctuation">)</span><span class="Operator">*</span><span class="Punctuation">)</span><span class="Punctuation">)</span></span></tt>. C names are mangled (no dots) so they serialize as symbols; owner artifact base names go in string literals.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cnif.nim#L590" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cnif.nim#L590" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:11 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
24
compiler/cnif.idx
Normal file
24
compiler/cnif.idx
Normal file
@@ -0,0 +1,24 @@
|
||||
nimTitle cnif cnif.html module cnif 0
|
||||
nim CnifSymStart cnif.html#CnifSymStart const CnifSymStart 44
|
||||
nim CnifSymEnd cnif.html#CnifSymEnd const CnifSymEnd 45
|
||||
nim CnifDefStart cnif.html#CnifDefStart const CnifDefStart 46
|
||||
nim CnifDefSep cnif.html#CnifDefSep const CnifDefSep 47
|
||||
nim CnifDefEnd cnif.html#CnifDefEnd const CnifDefEnd 48
|
||||
nim markCName cnif.html#markCName,string proc markCName(name: string): string 50
|
||||
nim hasCnifMarks cnif.html#hasCnifMarks,string proc hasCnifMarks(s: string): bool 53
|
||||
nim stripCnifMarks cnif.html#stripCnifMarks,string proc stripCnifMarks(s: string): string 58
|
||||
nim CnifVersion cnif.html#CnifVersion const CnifVersion 76
|
||||
nim cnifDefDirective cnif.html#cnifDefDirective,string,string,string proc cnifDefDirective(name, flags, nifName: string): string 85
|
||||
nim cnifEndDefs cnif.html#cnifEndDefs proc cnifEndDefs(): string 88
|
||||
nim writeCnifArtifact cnif.html#writeCnifArtifact,string,string,openArray[tuple[string,string]],string,string,openArray[string] proc writeCnifArtifact(code: string; outfile: string; initRequired = false;\n datInitRequired = false;\n dataDefs: openArray[tuple[cname, nifname: string]] = [];\n semmedNif = ""; moduleBase = "";\n implDeps: openArray[string] = []) 91
|
||||
nim renderMarkedC cnif.html#renderMarkedC,string,HashSet[string],int proc renderMarkedC(code: string; live: HashSet[string]; dropped: var int): string 218
|
||||
nim CnifHeads cnif.html#CnifHeads object CnifHeads 255
|
||||
nim readCnifHeads cnif.html#readCnifHeads,string proc readCnifHeads(f: string): CnifHeads 270
|
||||
nim CnifLiveness cnif.html#CnifLiveness object CnifLiveness 362
|
||||
nim computeLiveFromCArtifacts cnif.html#computeLiveFromCArtifacts,openArray[string] proc computeLiveFromCArtifacts(files: openArray[string]): CnifLiveness 368
|
||||
nim MergeDecision cnif.html#MergeDecision object MergeDecision 468
|
||||
nim computeMergeDecision cnif.html#computeMergeDecision,openArray[string] proc computeMergeDecision(files: openArray[string]): MergeDecision 482
|
||||
nim MergeDecisionFile cnif.html#MergeDecisionFile const MergeDecisionFile 587
|
||||
nim writeMergeDecision cnif.html#writeMergeDecision,string,MergeDecision proc writeMergeDecision(outfile: string; d: MergeDecision) 590
|
||||
nim readMergeDecision cnif.html#readMergeDecision,string proc readMergeDecision(f: string): MergeDecision 611
|
||||
nim renderCFromArtifact cnif.html#renderCFromArtifact,string,MergeDecision,string,int proc renderCFromArtifact(artifact: string; d: MergeDecision; ownerId: string;\n dropped: var int): string 657
|
||||
420
compiler/commands.html
Normal file
420
compiler/commands.html
Normal file
@@ -0,0 +1,420 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>commands</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">commands</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#TCmdLinePass" title="TCmdLinePass = enum
|
||||
passCmd1, passCmd2, passPP">TCmdLinePass</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">handleCmdInput
|
||||
<li><a class="reference" href="#handleCmdInput%2CConfigRef" title="handleCmdInput(conf: ConfigRef)">handleCmdInput(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">handleStdinInput
|
||||
<li><a class="reference" href="#handleStdinInput%2CConfigRef" title="handleStdinInput(conf: ConfigRef)">handleStdinInput(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initOrcDefines
|
||||
<li><a class="reference" href="#initOrcDefines%2CConfigRef" title="initOrcDefines(conf: ConfigRef)">initOrcDefines(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">parseCommand
|
||||
<li><a class="reference" href="#parseCommand%2Cstring" title="parseCommand(command: string): Command">parseCommand(command: string): Command</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">processArgument
|
||||
<li><a class="reference" href="#processArgument%2CTCmdLinePass%2COptParser%2Cint%2CConfigRef" title="processArgument(pass: TCmdLinePass; p: OptParser; argsCount: var int;
|
||||
config: ConfigRef): bool">processArgument(pass: TCmdLinePass; p: OptParser; argsCount: var int;
|
||||
config: ConfigRef): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">processCommand
|
||||
<li><a class="reference" href="#processCommand%2Cstring%2CTCmdLinePass%2CConfigRef" title="processCommand(switch: string; pass: TCmdLinePass; config: ConfigRef)">processCommand(switch: string; pass: TCmdLinePass; config: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">processSpecificNote
|
||||
<li><a class="reference" href="#processSpecificNote%2Cstring%2CTSpecialWord%2CTCmdLinePass%2CTLineInfo%2Cstring%2CConfigRef" title="processSpecificNote(arg: string; state: TSpecialWord; pass: TCmdLinePass;
|
||||
info: TLineInfo; orig: string; conf: ConfigRef)">processSpecificNote(arg: string; state: TSpecialWord; pass: TCmdLinePass;
|
||||
info: TLineInfo; orig: string; conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">processSwitch
|
||||
<li><a class="reference" href="#processSwitch%2CTCmdLinePass%2COptParser%2CConfigRef" title="processSwitch(pass: TCmdLinePass; p: OptParser; config: ConfigRef)">processSwitch(pass: TCmdLinePass; p: OptParser; config: ConfigRef)</a></li>
|
||||
<li><a class="reference" href="#processSwitch%2Cstring%2Cstring%2CTCmdLinePass%2CTLineInfo%2CConfigRef" title="processSwitch(switch, arg: string; pass: TCmdLinePass; info: TLineInfo;
|
||||
conf: ConfigRef)">processSwitch(switch, arg: string; pass: TCmdLinePass; info: TLineInfo;
|
||||
conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">setCmd
|
||||
<li><a class="reference" href="#setCmd%2CConfigRef%2CCommand" title="setCmd(conf: ConfigRef; cmd: Command)">setCmd(conf: ConfigRef; cmd: Command)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">setCommandEarly
|
||||
<li><a class="reference" href="#setCommandEarly%2CConfigRef%2Cstring" title="setCommandEarly(conf: ConfigRef; command: string)">setCommandEarly(conf: ConfigRef; command: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">testCompileOption
|
||||
<li><a class="reference" href="#testCompileOption%2CConfigRef%2Cstring%2CTLineInfo" title="testCompileOption(conf: ConfigRef; switch: string; info: TLineInfo): bool">testCompileOption(conf: ConfigRef; switch: string; info: TLineInfo): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">testCompileOptionArg
|
||||
<li><a class="reference" href="#testCompileOptionArg%2CConfigRef%2Cstring%2Cstring%2CTLineInfo" title="testCompileOptionArg(conf: ConfigRef; switch, arg: string; info: TLineInfo): bool">testCompileOptionArg(conf: ConfigRef; switch, arg: string; info: TLineInfo): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">unregisterArcOrc
|
||||
<li><a class="reference" href="#unregisterArcOrc%2CConfigRef" title="unregisterArcOrc(conf: ConfigRef)">unregisterArcOrc(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeCommandLineUsage
|
||||
<li><a class="reference" href="#writeCommandLineUsage%2CConfigRef" title="writeCommandLineUsage(conf: ConfigRef)">writeCommandLineUsage(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="nversion.html">nversion</a>, <a class="reference external" href="condsyms.html">condsyms</a>, <a class="reference external" href="extccomp.html">extccomp</a>, <a class="reference external" href="platform.html">platform</a>, <a class="reference external" href="wordrecg.html">wordrecg</a>, <a class="reference external" href="nimblecmd.html">nimblecmd</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="ast.html">ast</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="TCmdLinePass">
|
||||
<dt><pre><a href="#TCmdLinePass"><span class="Identifier">TCmdLinePass</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">passCmd1</span><span class="Other">,</span> <span class="Identifier">passCmd2</span><span class="Other">,</span> <span class="Identifier">passPP</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L44" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L44" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="handleCmdInput-procs-all">
|
||||
<div id="handleCmdInput,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#handleCmdInput%2CConfigRef"><span class="Identifier">handleCmdInput</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L476" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L476" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="handleStdinInput-procs-all">
|
||||
<div id="handleStdinInput,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#handleStdinInput%2CConfigRef"><span class="Identifier">handleStdinInput</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L471" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L471" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initOrcDefines-procs-all">
|
||||
<div id="initOrcDefines,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initOrcDefines%2CConfigRef"><span class="Identifier">initOrcDefines</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L559" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L559" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="parseCommand-procs-all">
|
||||
<div id="parseCommand,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parseCommand%2Cstring"><span class="Identifier">parseCommand</span></a><span class="Other">(</span><span class="Identifier">command</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="options.html#Command"><span class="Identifier">Command</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L480" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L480" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="processArgument-procs-all">
|
||||
<div id="processArgument,TCmdLinePass,OptParser,int,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processArgument%2CTCmdLinePass%2COptParser%2Cint%2CConfigRef"><span class="Identifier">processArgument</span></a><span class="Other">(</span><span class="Identifier">pass</span><span class="Other">:</span> <a href="#TCmdLinePass"><span class="Identifier">TCmdLinePass</span></a><span class="Other">;</span> <span class="Identifier">p</span><span class="Other">:</span> <span class="Identifier">OptParser</span><span class="Other">;</span> <span class="Identifier">argsCount</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">int</span><span class="Other">;</span>
|
||||
<span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L1304" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L1304" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="processCommand-procs-all">
|
||||
<div id="processCommand,string,TCmdLinePass,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processCommand%2Cstring%2CTCmdLinePass%2CConfigRef"><span class="Identifier">processCommand</span></a><span class="Other">(</span><span class="Identifier">switch</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">pass</span><span class="Other">:</span> <a href="#TCmdLinePass"><span class="Identifier">TCmdLinePass</span></a><span class="Other">;</span> <span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">EOFError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L1287" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L1287" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="processSpecificNote-procs-all">
|
||||
<div id="processSpecificNote,string,TSpecialWord,TCmdLinePass,TLineInfo,string,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processSpecificNote%2Cstring%2CTSpecialWord%2CTCmdLinePass%2CTLineInfo%2Cstring%2CConfigRef"><span class="Identifier">processSpecificNote</span></a><span class="Other">(</span><span class="Identifier">arg</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">state</span><span class="Other">:</span> <a href="wordrecg.html#TSpecialWord"><span class="Identifier">TSpecialWord</span></a><span class="Other">;</span> <span class="Identifier">pass</span><span class="Other">:</span> <a href="#TCmdLinePass"><span class="Identifier">TCmdLinePass</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span> <span class="Identifier">orig</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L185" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L185" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="processSwitch-procs-all">
|
||||
<div id="processSwitch,TCmdLinePass,OptParser,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processSwitch%2CTCmdLinePass%2COptParser%2CConfigRef"><span class="Identifier">processSwitch</span></a><span class="Other">(</span><span class="Identifier">pass</span><span class="Other">:</span> <a href="#TCmdLinePass"><span class="Identifier">TCmdLinePass</span></a><span class="Other">;</span> <span class="Identifier">p</span><span class="Other">:</span> <span class="Identifier">OptParser</span><span class="Other">;</span> <span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">EOFError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L1293" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L1293" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="processSwitch,string,string,TCmdLinePass,TLineInfo,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processSwitch%2Cstring%2Cstring%2CTCmdLinePass%2CTLineInfo%2CConfigRef"><span class="Identifier">processSwitch</span></a><span class="Other">(</span><span class="Identifier">switch</span><span class="Other">,</span> <span class="Identifier">arg</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">pass</span><span class="Other">:</span> <a href="#TCmdLinePass"><span class="Identifier">TCmdLinePass</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">EOFError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L654" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L654" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="setCmd-procs-all">
|
||||
<div id="setCmd,ConfigRef,Command">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#setCmd%2CConfigRef%2CCommand"><span class="Identifier">setCmd</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">cmd</span><span class="Other">:</span> <a href="options.html#Command"><span class="Identifier">Command</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
sets cmd, backend so subsequent flags can query it (e.g. so --gc:arc can be ignored for backendJs)
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L515" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L515" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="setCommandEarly-procs-all">
|
||||
<div id="setCommandEarly,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#setCommandEarly%2CConfigRef%2Cstring"><span class="Identifier">setCommandEarly</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">command</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L532" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L532" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="testCompileOption-procs-all">
|
||||
<div id="testCompileOption,ConfigRef,string,TLineInfo">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#testCompileOption%2CConfigRef%2Cstring%2CTLineInfo"><span class="Identifier">testCompileOption</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">switch</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L327" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L327" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="testCompileOptionArg-procs-all">
|
||||
<div id="testCompileOptionArg,ConfigRef,string,string,TLineInfo">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#testCompileOptionArg%2CConfigRef%2Cstring%2Cstring%2CTLineInfo"><span class="Identifier">testCompileOptionArg</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">switch</span><span class="Other">,</span> <span class="Identifier">arg</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L261" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L261" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="unregisterArcOrc-procs-all">
|
||||
<div id="unregisterArcOrc,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#unregisterArcOrc%2CConfigRef"><span class="Identifier">unregisterArcOrc</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L580" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L580" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeCommandLineUsage-procs-all">
|
||||
<div id="writeCommandLineUsage,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeCommandLineUsage%2CConfigRef"><span class="Identifier">writeCommandLineUsage</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/commands.nim#L110" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L110" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:08 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
21
compiler/commands.idx
Normal file
21
compiler/commands.idx
Normal file
@@ -0,0 +1,21 @@
|
||||
nimTitle commands commands.html module commands 0
|
||||
nim passCmd1 commands.html#passCmd1 TCmdLinePass.passCmd1 44
|
||||
nim passCmd2 commands.html#passCmd2 TCmdLinePass.passCmd2 44
|
||||
nim passPP commands.html#passPP TCmdLinePass.passPP 44
|
||||
nim TCmdLinePass commands.html#TCmdLinePass enum TCmdLinePass 44
|
||||
nim writeCommandLineUsage commands.html#writeCommandLineUsage,ConfigRef proc writeCommandLineUsage(conf: ConfigRef) 110
|
||||
nim processSpecificNote commands.html#processSpecificNote,string,TSpecialWord,TCmdLinePass,TLineInfo,string,ConfigRef proc processSpecificNote(arg: string; state: TSpecialWord; pass: TCmdLinePass;\n info: TLineInfo; orig: string; conf: ConfigRef) 185
|
||||
nim testCompileOptionArg commands.html#testCompileOptionArg,ConfigRef,string,string,TLineInfo proc testCompileOptionArg(conf: ConfigRef; switch, arg: string; info: TLineInfo): bool 261
|
||||
nim testCompileOption commands.html#testCompileOption,ConfigRef,string,TLineInfo proc testCompileOption(conf: ConfigRef; switch: string; info: TLineInfo): bool 327
|
||||
nim handleStdinInput commands.html#handleStdinInput,ConfigRef proc handleStdinInput(conf: ConfigRef) 471
|
||||
nim handleCmdInput commands.html#handleCmdInput,ConfigRef proc handleCmdInput(conf: ConfigRef) 476
|
||||
nim parseCommand commands.html#parseCommand,string proc parseCommand(command: string): Command 480
|
||||
nim setCmd commands.html#setCmd,ConfigRef,Command proc setCmd(conf: ConfigRef; cmd: Command) 515
|
||||
nim setCommandEarly commands.html#setCommandEarly,ConfigRef,string proc setCommandEarly(conf: ConfigRef; command: string) 532
|
||||
nim initOrcDefines commands.html#initOrcDefines,ConfigRef proc initOrcDefines(conf: ConfigRef) 559
|
||||
nim unregisterArcOrc commands.html#unregisterArcOrc,ConfigRef proc unregisterArcOrc(conf: ConfigRef) 580
|
||||
nim processSwitch commands.html#processSwitch,string,string,TCmdLinePass,TLineInfo,ConfigRef proc processSwitch(switch, arg: string; pass: TCmdLinePass; info: TLineInfo;\n conf: ConfigRef) 654
|
||||
nim processCommand commands.html#processCommand,string,TCmdLinePass,ConfigRef proc processCommand(switch: string; pass: TCmdLinePass; config: ConfigRef) 1287
|
||||
nim processSwitch commands.html#processSwitch,TCmdLinePass,OptParser,ConfigRef proc processSwitch(pass: TCmdLinePass; p: OptParser; config: ConfigRef) 1293
|
||||
nim processArgument commands.html#processArgument,TCmdLinePass,OptParser,int,ConfigRef proc processArgument(pass: TCmdLinePass; p: OptParser; argsCount: var int;\n config: ConfigRef): bool 1304
|
||||
nimgrp processswitch commands.html#processSwitch-procs-all proc 654
|
||||
196
compiler/concepts.html
Normal file
196
compiler/concepts.html
Normal file
@@ -0,0 +1,196 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>concepts</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">concepts</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li><a class="reference" id="code-dealing-with-concept-declarations_toc" href="#code-dealing-with-concept-declarations">Code dealing with Concept declarations</a></li>
|
||||
<li><a class="reference" id="concept-matching_toc" href="#concept-matching">Concept matching</a></li>
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#MatchFlags" title="MatchFlags = enum
|
||||
mfDontBind, mfCheckGeneric">MatchFlags</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">conceptBody
|
||||
<li><a class="reference" href="#conceptBody%2CPType" title="conceptBody(n: PType): PNode">conceptBody(n: PType): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">conceptMatch
|
||||
<li><a class="reference" href="#conceptMatch%2CPContext%2CPType%2CPType%2CLayeredIdTableObj%2CPType%2Cset%5BMatchFlags%5D" title="conceptMatch(c: PContext; concpt, arg: PType; bindings: var LayeredIdTable;
|
||||
invocation: PType; flags: set[MatchFlags] = {}): bool">conceptMatch(c: PContext; concpt, arg: PType; bindings: var LayeredIdTable;
|
||||
invocation: PType; flags: set[MatchFlags] = {}): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">semConceptDeclaration
|
||||
<li><a class="reference" href="#semConceptDeclaration%2CPContext%2CPNode" title="semConceptDeclaration(c: PContext; n: PNode): PNode">semConceptDeclaration(c: PContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/concepts.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/concepts.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">New styled concepts for Nim. See <a class="reference external" href="https://github.com/nim-lang/RFCs/issues/168">https://github.com/nim-lang/RFCs/issues/168</a> for details. Note this is a first implementation and only the "Concept matching" section has been implemented.
|
||||
<h1><a class="toc-backref" id="code-dealing-with-concept-declarations" href="#code-dealing-with-concept-declarations">Code dealing with Concept declarations</a></h1>
|
||||
<h1><a class="toc-backref" id="concept-matching" href="#concept-matching">Concept matching</a></h1></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="semdata.html">semdata</a>, <a class="reference external" href="lookups.html">lookups</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="layeredtable.html">layeredtable</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="MatchFlags">
|
||||
<dt><pre><a href="#MatchFlags"><span class="Identifier">MatchFlags</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">mfDontBind</span><span class="Other">,</span> <span class="Identifier">mfCheckGeneric</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/concepts.nim#L73" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/concepts.nim#L73" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="conceptBody-procs-all">
|
||||
<div id="conceptBody,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#conceptBody%2CPType"><span class="Identifier">conceptBody</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/concepts.nim#L155" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/concepts.nim#L155" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="conceptMatch-procs-all">
|
||||
<div id="conceptMatch,PContext,PType,PType,LayeredIdTableObj,PType,set[MatchFlags]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#conceptMatch%2CPContext%2CPType%2CPType%2CLayeredIdTableObj%2CPType%2Cset%5BMatchFlags%5D"><span class="Identifier">conceptMatch</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="semdata.html#PContext"><span class="Identifier">PContext</span></a><span class="Other">;</span> <span class="Identifier">concpt</span><span class="Other">,</span> <span class="Identifier">arg</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">bindings</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="layeredtable.html#LayeredIdTable"><span class="Identifier">LayeredIdTable</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">invocation</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">flags</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="#MatchFlags"><span class="Identifier">MatchFlags</span></a><span class="Other">]</span> <span class="Other">=</span> <span class="Other">{</span><span class="Other">}</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Entry point from sigmatch. 'concpt' is the concept we try to match (here still a PType but we extract its AST via 'concpt.n.lastSon'). 'arg' is the type that might fulfill the concept's requirements. If so, we return true and fill the 'bindings' with pairs of (typeVar, instance) pairs. ('typeVar' is usually simply written as a generic 'T'.) 'invocation' can be nil for atomic concepts. For non-atomic concepts, it contains the <tt class="docutils literal"><span class="pre"><span class="Identifier">C</span><span class="Punctuation">[</span><span class="Identifier">S</span><span class="Punctuation">,</span> <span class="Identifier">T</span><span class="Punctuation">]</span></span></tt> parent type that we look for. We need this because we need to store bindings for 'S' and 'T' inside 'bindings' on a successful match. It is very important that we do not add any bindings at all on an unsuccessful match!
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/concepts.nim#L622" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/concepts.nim#L622" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="semConceptDeclaration-procs-all">
|
||||
<div id="semConceptDeclaration,PContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#semConceptDeclaration%2CPContext%2CPNode"><span class="Identifier">semConceptDeclaration</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="semdata.html#PContext"><span class="Identifier">PContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Semantic checking for the concept declaration. Runs when we process the concept itself, not its matching process.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/concepts.nim#L58" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/concepts.nim#L58" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:09 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
9
compiler/concepts.idx
Normal file
9
compiler/concepts.idx
Normal file
@@ -0,0 +1,9 @@
|
||||
nimTitle concepts concepts.html module concepts 0
|
||||
nim semConceptDeclaration concepts.html#semConceptDeclaration,PContext,PNode proc semConceptDeclaration(c: PContext; n: PNode): PNode 58
|
||||
nim mfDontBind concepts.html#mfDontBind MatchFlags.mfDontBind 73
|
||||
nim mfCheckGeneric concepts.html#mfCheckGeneric MatchFlags.mfCheckGeneric 73
|
||||
nim MatchFlags concepts.html#MatchFlags enum MatchFlags 73
|
||||
nim conceptBody concepts.html#conceptBody,PType proc conceptBody(n: PType): PNode 155
|
||||
nim conceptMatch concepts.html#conceptMatch,PContext,PType,PType,LayeredIdTableObj,PType,set[MatchFlags] proc conceptMatch(c: PContext; concpt, arg: PType; bindings: var LayeredIdTable;\n invocation: PType; flags: set[MatchFlags] = {}): bool 622
|
||||
heading Code dealing with Concept declarations concepts.html#code-dealing-with-concept-declarations Code dealing with Concept declarations 0
|
||||
heading Concept matching concepts.html#concept-matching Concept matching 0
|
||||
208
compiler/condsyms.html
Normal file
208
compiler/condsyms.html
Normal file
@@ -0,0 +1,208 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>condsyms</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">condsyms</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">countDefinedSymbols
|
||||
<li><a class="reference" href="#countDefinedSymbols%2CStringTableRef" title="countDefinedSymbols(symbols: StringTableRef): int">countDefinedSymbols(symbols: StringTableRef): int</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">defineSymbol
|
||||
<li><a class="reference" href="#defineSymbol%2CStringTableRef%2Cstring%2Cstring" title="defineSymbol(symbols: StringTableRef; symbol: string; value: string = "true")">defineSymbol(symbols: StringTableRef; symbol: string; value: string = "true")</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initDefines
|
||||
<li><a class="reference" href="#initDefines%2CStringTableRef" title="initDefines(symbols: StringTableRef)">initDefines(symbols: StringTableRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">undefSymbol
|
||||
<li><a class="reference" href="#undefSymbol%2CStringTableRef%2Cstring" title="undefSymbol(symbols: StringTableRef; symbol: string)">undefSymbol(symbols: StringTableRef; symbol: string)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#15" id="65">Iterators</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">definedSymbolNames
|
||||
<li><a class="reference" href="#definedSymbolNames.i%2CStringTableRef" title="definedSymbolNames(symbols: StringTableRef): string">definedSymbolNames(symbols: StringTableRef): string</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/condsyms.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/condsyms.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="countDefinedSymbols-procs-all">
|
||||
<div id="countDefinedSymbols,StringTableRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#countDefinedSymbols%2CStringTableRef"><span class="Identifier">countDefinedSymbols</span></a><span class="Other">(</span><span class="Identifier">symbols</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/condsyms.nim#L31" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/condsyms.nim#L31" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="defineSymbol-procs-all">
|
||||
<div id="defineSymbol,StringTableRef,string,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#defineSymbol%2CStringTableRef%2Cstring%2Cstring"><span class="Identifier">defineSymbol</span></a><span class="Other">(</span><span class="Identifier">symbols</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span><span class="Other">;</span> <span class="Identifier">symbol</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span>
|
||||
<span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">string</span> <span class="Other">=</span> <span class="StringLit">"true"</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/condsyms.nim#L18" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/condsyms.nim#L18" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initDefines-procs-all">
|
||||
<div id="initDefines,StringTableRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initDefines%2CStringTableRef"><span class="Identifier">initDefines</span></a><span class="Other">(</span><span class="Identifier">symbols</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/condsyms.nim#L34" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/condsyms.nim#L34" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="undefSymbol-procs-all">
|
||||
<div id="undefSymbol,StringTableRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#undefSymbol%2CStringTableRef%2Cstring"><span class="Identifier">undefSymbol</span></a><span class="Other">(</span><span class="Identifier">symbols</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span><span class="Other">;</span> <span class="Identifier">symbol</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/condsyms.nim#L21" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/condsyms.nim#L21" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="15">
|
||||
<h1><a class="toc-backref" href="#15">Iterators</a></h1>
|
||||
<dl class="item">
|
||||
<div id="definedSymbolNames-iterators-all">
|
||||
<div id="definedSymbolNames.i,StringTableRef">
|
||||
<dt><pre><span class="Keyword">iterator</span> <a href="#definedSymbolNames.i%2CStringTableRef"><span class="Identifier">definedSymbolNames</span></a><span class="Other">(</span><span class="Identifier">symbols</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/condsyms.nim#L27" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/condsyms.nim#L27" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:06 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
6
compiler/condsyms.idx
Normal file
6
compiler/condsyms.idx
Normal file
@@ -0,0 +1,6 @@
|
||||
nimTitle condsyms condsyms.html module condsyms 0
|
||||
nim defineSymbol condsyms.html#defineSymbol,StringTableRef,string,string proc defineSymbol(symbols: StringTableRef; symbol: string; value: string = "true") 18
|
||||
nim undefSymbol condsyms.html#undefSymbol,StringTableRef,string proc undefSymbol(symbols: StringTableRef; symbol: string) 21
|
||||
nim definedSymbolNames condsyms.html#definedSymbolNames.i,StringTableRef iterator definedSymbolNames(symbols: StringTableRef): string 27
|
||||
nim countDefinedSymbols condsyms.html#countDefinedSymbols,StringTableRef proc countDefinedSymbols(symbols: StringTableRef): int 31
|
||||
nim initDefines condsyms.html#initDefines,StringTableRef proc initDefines(symbols: StringTableRef) 34
|
||||
160
compiler/depends.html
Normal file
160
compiler/depends.html
Normal file
@@ -0,0 +1,160 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>depends</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">depends</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">addDotDependency
|
||||
<li><a class="reference" href="#addDotDependency%2CPPassContext%2CPNode" title="addDotDependency(c: PPassContext; n: PNode): PNode">addDotDependency(c: PPassContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">generateDot
|
||||
<li><a class="reference" href="#generateDot%2CModuleGraph%2CAbsoluteFile" title="generateDot(graph: ModuleGraph; project: AbsoluteFile)">generateDot(graph: ModuleGraph; project: AbsoluteFile)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">setupDependPass
|
||||
<li><a class="reference" href="#setupDependPass%2CModuleGraph%2CPSym%2CIdGenerator" title="setupDependPass(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext">setupDependPass(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/depends.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/depends.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="ropes.html">ropes</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="addDotDependency-procs-all">
|
||||
<div id="addDotDependency,PPassContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addDotDependency%2CPPassContext%2CPNode"><span class="Identifier">addDotDependency</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/depends.nim#L86" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/depends.nim#L86" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="generateDot-procs-all">
|
||||
<div id="generateDot,ModuleGraph,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#generateDot%2CModuleGraph%2CAbsoluteFile"><span class="Identifier">generateDot</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">project</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/depends.nim#L101" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/depends.nim#L101" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="setupDependPass-procs-all">
|
||||
<div id="setupDependPass,ModuleGraph,PSym,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#setupDependPass%2CModuleGraph%2CPSym%2CIdGenerator"><span class="Identifier">setupDependPass</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/depends.nim#L107" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/depends.nim#L107" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
4
compiler/depends.idx
Normal file
4
compiler/depends.idx
Normal file
@@ -0,0 +1,4 @@
|
||||
nimTitle depends depends.html module depends 0
|
||||
nim addDotDependency depends.html#addDotDependency,PPassContext,PNode proc addDotDependency(c: PPassContext; n: PNode): PNode 86
|
||||
nim generateDot depends.html#generateDot,ModuleGraph,AbsoluteFile proc generateDot(graph: ModuleGraph; project: AbsoluteFile) 101
|
||||
nim setupDependPass depends.html#setupDependPass,ModuleGraph,PSym,IdGenerator proc setupDependPass(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 107
|
||||
144
compiler/deps.html
Normal file
144
compiler/deps.html
Normal file
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>deps</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">deps</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">commandIc
|
||||
<li><a class="reference" href="#commandIc%2CConfigRef" title="commandIc(conf: ConfigRef; frontendOnly = false)">commandIc(conf: ConfigRef; frontendOnly = false)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">includerSbifs
|
||||
<li><a class="reference" href="#includerSbifs%2CConfigRef%2CAbsoluteFile" title="includerSbifs(conf: ConfigRef; targetFile: AbsoluteFile): seq[string]">includerSbifs(conf: ConfigRef; targetFile: AbsoluteFile): seq[string]</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/deps.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/deps.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Generate a .build.nif file for nifmake from a Nim project. This enables incremental and parallel compilation using the <tt class="docutils literal"><span class="pre"><span class="Identifier">m</span></span></tt> switch.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="condsyms.html">condsyms</a>, <a class="reference external" href="modulepaths.html">modulepaths</a>, <a class="reference external" href="extccomp.html">extccomp</a>, <a class="reference external" href="cnif.html">cnif</a>, <a class="reference external" href="platform.html">platform</a>, <a class="reference external" href="icmodnames.html">icmodnames</a>, <a class="reference external" href="icnifcore.html">icnifcore</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="commandIc-procs-all">
|
||||
<div id="commandIc,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#commandIc%2CConfigRef"><span class="Identifier">commandIc</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">frontendOnly</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Main entry point for <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt>. With <tt class="docutils literal"><span class="pre"><span class="Identifier">frontendOnly</span></span></tt> (used by <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">track</span></span></tt> for IDE queries) it runs only Phase 1 — the incremental nifler + <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">m</span></span></tt> frontend that writes every module's <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt> — and skips the whole-program backend (<tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">nifc</span></span></tt> -> C -> link), which a goto-def / find-usages scan does not need.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/deps.nim#L1229" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/deps.nim#L1229" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="includerSbifs-procs-all">
|
||||
<div id="includerSbifs,ConfigRef,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#includerSbifs%2CConfigRef%2CAbsoluteFile"><span class="Identifier">includerSbifs</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">targetFile</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
For an include file <tt class="docutils literal"><span class="pre"><span class="Identifier">targetFile</span></span></tt>, return the <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt> paths of every module that includes it — directly OR transitively (following the include chain <tt class="docutils literal"><span class="pre"><span class="Identifier">module</span> <span class="Operator">-></span> <span class="Identifier">incA</span> <span class="Operator">-></span> <span class="Identifier">incB</span> <span class="Operator">-></span> <span class="Identifier">targetFile</span></span></tt>). <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">track</span></span></tt> uses this to avoid loading and scanning every module bif: an include file has no bif of its own, so its type-checked tokens live in the <em>including</em> module's bif. Only the small <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">deps</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt> preludes are read here, never a <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/deps.nim#L631" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/deps.nim#L631" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
3
compiler/deps.idx
Normal file
3
compiler/deps.idx
Normal file
@@ -0,0 +1,3 @@
|
||||
nimTitle deps deps.html module deps 0
|
||||
nim includerSbifs deps.html#includerSbifs,ConfigRef,AbsoluteFile proc includerSbifs(conf: ConfigRef; targetFile: AbsoluteFile): seq[string] 631
|
||||
nim commandIc deps.html#commandIc,ConfigRef proc commandIc(conf: ConfigRef; frontendOnly = false) 1229
|
||||
207
compiler/dfa.html
Normal file
207
compiler/dfa.html
Normal file
@@ -0,0 +1,207 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>dfa</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">dfa</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#ControlFlowGraph" title="ControlFlowGraph = seq[Instr]">ControlFlowGraph</a></li>
|
||||
<li><a class="reference" href="#Instr" title="Instr = object
|
||||
case kind*: InstrKind
|
||||
of goto, fork, loop:
|
||||
dest*: int
|
||||
of def, use:
|
||||
n*: PNode">Instr</a></li>
|
||||
<li><a class="reference" href="#InstrKind" title="InstrKind = enum
|
||||
goto, loop, fork, def, use">InstrKind</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">constructCfg
|
||||
<li><a class="reference" href="#constructCfg%2CPSym%2CPNode%2CPSym" title="constructCfg(s: PSym; body: PNode; root: PSym): ControlFlowGraph">constructCfg(s: PSym; body: PNode; root: PSym): ControlFlowGraph</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">echoCfg
|
||||
<li><a class="reference" href="#echoCfg%2CControlFlowGraph%2Cint%2Cint" title="echoCfg(c: ControlFlowGraph; start = 0; last = -1)">echoCfg(c: ControlFlowGraph; start = 0; last = -1)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/dfa.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"><p>Data flow analysis for Nim. We transform the AST into a linear list of instructions first to make this easier to handle: There are only 3 different branching instructions: 'goto X' is an unconditional goto, 'fork X' is a conditional goto (either the next instruction or 'X' can be taken), 'loop X' is the only jump that jumps back.</p>
|
||||
<p>Exhaustive case statements are translated so that the last branch is transformed into an 'else' branch. <tt class="docutils literal"><span class="pre">return</span></tt> and <tt class="docutils literal"><span class="pre">break</span></tt> are all covered by 'goto'.</p>
|
||||
<p>The data structures and algorithms used here are inspired by "A Graph–Free Approach to Data–Flow Analysis" by Markus Mohnen. <a class="reference external" href="https://link.springer.com/content/pdf/10.1007/3-540-45937-5_6.pdf">https://link.springer.com/content/pdf/10.1007/3-540-45937-5_6.pdf</a></p>
|
||||
</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="aliasanalysis.html">aliasanalysis</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="ControlFlowGraph">
|
||||
<dt><pre><a href="#ControlFlowGraph"><span class="Identifier">ControlFlowGraph</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="#Instr"><span class="Identifier">Instr</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/dfa.nim#L41" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L41" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="Instr">
|
||||
<dt><pre><a href="#Instr"><span class="Identifier">Instr</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Keyword">case</span> <span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="#InstrKind"><span class="Identifier">InstrKind</span></a>
|
||||
<span class="Keyword">of</span> <span class="Identifier">goto</span><span class="Other">,</span> <span class="Identifier">fork</span><span class="Other">,</span> <span class="Identifier">loop</span><span class="Other">:</span>
|
||||
<span class="Identifier">dest</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
||||
<span class="Keyword">of</span> <span class="Identifier">def</span><span class="Other">,</span> <span class="Identifier">use</span><span class="Other">:</span>
|
||||
<span class="Identifier">n</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/dfa.nim#L35" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L35" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="InstrKind">
|
||||
<dt><pre><a href="#InstrKind"><span class="Identifier">InstrKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">goto</span><span class="Other">,</span> <span class="Identifier">loop</span><span class="Other">,</span> <span class="Identifier">fork</span><span class="Other">,</span> <span class="Identifier">def</span><span class="Other">,</span> <span class="Identifier">use</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/dfa.nim#L33" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L33" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="constructCfg-procs-all">
|
||||
<div id="constructCfg,PSym,PNode,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#constructCfg%2CPSym%2CPNode%2CPSym"><span class="Identifier">constructCfg</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">body</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">root</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="#ControlFlowGraph"><span class="Identifier">ControlFlowGraph</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
constructs a control flow graph for <tt class="docutils literal"><span class="pre">body</span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/dfa.nim#L479" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L479" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="echoCfg-procs-all">
|
||||
<div id="echoCfg,ControlFlowGraph,int,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#echoCfg%2CControlFlowGraph%2Cint%2Cint"><span class="Identifier">echoCfg</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="#ControlFlowGraph"><span class="Identifier">ControlFlowGraph</span></a><span class="Other">;</span> <span class="Identifier">start</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">last</span> <span class="Other">=</span> <span class="DecNumber">-1</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">,</span>
|
||||
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
<div class="deprecation-message">
|
||||
<b>Deprecated</b>
|
||||
</div>
|
||||
|
||||
echos the ControlFlowGraph for debugging purposes.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/dfa.nim#L88" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L88" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:11 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
11
compiler/dfa.idx
Normal file
11
compiler/dfa.idx
Normal file
@@ -0,0 +1,11 @@
|
||||
nimTitle dfa dfa.html module dfa 0
|
||||
nim goto dfa.html#goto InstrKind.goto 33
|
||||
nim loop dfa.html#loop InstrKind.loop 33
|
||||
nim fork dfa.html#fork InstrKind.fork 33
|
||||
nim def dfa.html#def InstrKind.def 33
|
||||
nim use dfa.html#use InstrKind.use 33
|
||||
nim InstrKind dfa.html#InstrKind enum InstrKind 33
|
||||
nim Instr dfa.html#Instr object Instr 35
|
||||
nim ControlFlowGraph dfa.html#ControlFlowGraph type ControlFlowGraph 41
|
||||
nim echoCfg dfa.html#echoCfg,ControlFlowGraph,int,int proc echoCfg(c: ControlFlowGraph; start = 0; last = -1) 88
|
||||
nim constructCfg dfa.html#constructCfg,PSym,PNode,PSym proc constructCfg(s: PSym; body: PNode; root: PSym): ControlFlowGraph 479
|
||||
501
compiler/docgen.html
Normal file
501
compiler/docgen.html
Normal file
@@ -0,0 +1,501 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>docgen</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">docgen</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#PDoc" title="PDoc = ref TDocumentor">PDoc</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">commandBuildIndex
|
||||
<li><a class="reference" href="#commandBuildIndex%2CConfigRef%2Cstring" title="commandBuildIndex(conf: ConfigRef; dir: string; outFile = RelativeFile"")">commandBuildIndex(conf: ConfigRef; dir: string; outFile = RelativeFile"")</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">commandBuildIndexJson
|
||||
<li><a class="reference" href="#commandBuildIndexJson%2CConfigRef%2Cstring" title="commandBuildIndexJson(conf: ConfigRef; dir: string; outFile = RelativeFile"")">commandBuildIndexJson(conf: ConfigRef; dir: string; outFile = RelativeFile"")</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">commandDoc
|
||||
<li><a class="reference" href="#commandDoc%2CIdentCache%2CConfigRef" title="commandDoc(cache: IdentCache; conf: ConfigRef)">commandDoc(cache: IdentCache; conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">commandJson
|
||||
<li><a class="reference" href="#commandJson%2CIdentCache%2CConfigRef" title="commandJson(cache: IdentCache; conf: ConfigRef)">commandJson(cache: IdentCache; conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">commandRst2Html
|
||||
<li><a class="reference" href="#commandRst2Html%2CIdentCache%2CConfigRef" title="commandRst2Html(cache: IdentCache; conf: ConfigRef; preferMarkdown = false)">commandRst2Html(cache: IdentCache; conf: ConfigRef; preferMarkdown = false)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">commandRst2TeX
|
||||
<li><a class="reference" href="#commandRst2TeX%2CIdentCache%2CConfigRef" title="commandRst2TeX(cache: IdentCache; conf: ConfigRef; preferMarkdown = false)">commandRst2TeX(cache: IdentCache; conf: ConfigRef; preferMarkdown = false)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">commandTags
|
||||
<li><a class="reference" href="#commandTags%2CIdentCache%2CConfigRef" title="commandTags(cache: IdentCache; conf: ConfigRef)">commandTags(cache: IdentCache; conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">documentRaises
|
||||
<li><a class="reference" href="#documentRaises%2CIdentCache%2CPNode" title="documentRaises(cache: IdentCache; n: PNode)">documentRaises(cache: IdentCache; n: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">finishGenerateDoc
|
||||
<li><a class="reference" href="#finishGenerateDoc%2CPDoc" title="finishGenerateDoc(d: var PDoc)">finishGenerateDoc(d: var PDoc)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">generateDoc
|
||||
<li><a class="reference" href="#generateDoc%2CPDoc%2CPNode%2CPNode%2CConfigRef%2CDocFlags" title="generateDoc(d: PDoc; n, orig: PNode; config: ConfigRef;
|
||||
docFlags: DocFlags = kDefault)">generateDoc(d: PDoc; n, orig: PNode; config: ConfigRef;
|
||||
docFlags: DocFlags = kDefault)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">generateIndex
|
||||
<li><a class="reference" href="#generateIndex%2CPDoc" title="generateIndex(d: PDoc)">generateIndex(d: PDoc)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">generateJson
|
||||
<li><a class="reference" href="#generateJson%2CPDoc%2CPNode%2CConfigRef%2Cbool" title="generateJson(d: PDoc; n: PNode; config: ConfigRef; includeComments: bool = true)">generateJson(d: PDoc; n: PNode; config: ConfigRef; includeComments: bool = true)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">generateTags
|
||||
<li><a class="reference" href="#generateTags%2CPDoc%2CPNode%2Cstring" title="generateTags(d: PDoc; n: PNode; r: var string)">generateTags(d: PDoc; n: PNode; r: var string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">handleDocOutputOptions
|
||||
<li><a class="reference" href="#handleDocOutputOptions%2CConfigRef" title="handleDocOutputOptions(conf: ConfigRef)">handleDocOutputOptions(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">newDocumentor
|
||||
<li><a class="reference" href="#newDocumentor%2CAbsoluteFile%2CIdentCache%2CConfigRef%2Cstring%2CPSym" title="newDocumentor(filename: AbsoluteFile; cache: IdentCache; conf: ConfigRef;
|
||||
outExt: string = HtmlExt; module: PSym = nil;
|
||||
standaloneDoc = false; preferMarkdown = true; hasToc = true): PDoc">newDocumentor(filename: AbsoluteFile; cache: IdentCache; conf: ConfigRef;
|
||||
outExt: string = HtmlExt; module: PSym = nil;
|
||||
standaloneDoc = false; preferMarkdown = true; hasToc = true): PDoc</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">presentationPath
|
||||
<li><a class="reference" href="#presentationPath%2CConfigRef%2CAbsoluteFile" title="presentationPath(conf: ConfigRef; file: AbsoluteFile): RelativeFile">presentationPath(conf: ConfigRef; file: AbsoluteFile): RelativeFile</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeOutput
|
||||
<li><a class="reference" href="#writeOutput%2CPDoc" title="writeOutput(d: PDoc; useWarning = false; groupedToc = false)">writeOutput(d: PDoc; useWarning = false; groupedToc = false)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeOutputJson
|
||||
<li><a class="reference" href="#writeOutputJson%2CPDoc" title="writeOutputJson(d: PDoc; useWarning = false)">writeOutputJson(d: PDoc; useWarning = false)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This is the Nim documentation generator. Cross-references are generated by knowing how the anchors are going to be named.<p>For corresponding users' documentation see <a class="reference external" href="../docgen.html">Nim DocGen Tools Guide</a>.</p>
|
||||
</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="wordrecg.html">wordrecg</a>, <a class="reference external" href="syntaxes.html">syntaxes</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="lexer.html">lexer</a>, <a class="reference external" href="trees.html">trees</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="typesrenderer.html">typesrenderer</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="nimpaths.html">nimpaths</a>, <a class="reference external" href="renderverbatim.html">renderverbatim</a>, <a class="reference external" href="packages.html">packages</a>, <a class="reference external" href="nodejs.html">nodejs</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="PDoc">
|
||||
<dt><pre><a href="#PDoc"><span class="Identifier">PDoc</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Identifier">TDocumentor</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
Alias to type less.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L111" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L111" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="commandBuildIndex-procs-all">
|
||||
<div id="commandBuildIndex,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#commandBuildIndex%2CConfigRef%2Cstring"><span class="Identifier">commandBuildIndex</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">dir</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">outFile</span> <span class="Other">=</span> <a href="pathutils.html#RelativeFile"><span class="Identifier">RelativeFile</span></a><span class="StringLit">""</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1935" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1935" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="commandBuildIndexJson-procs-all">
|
||||
<div id="commandBuildIndexJson,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#commandBuildIndexJson%2CConfigRef%2Cstring"><span class="Identifier">commandBuildIndexJson</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">dir</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span>
|
||||
<span class="Identifier">outFile</span> <span class="Other">=</span> <a href="pathutils.html#RelativeFile"><span class="Identifier">RelativeFile</span></a><span class="StringLit">""</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span>
|
||||
<span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1958" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1958" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="commandDoc-procs-all">
|
||||
<div id="commandDoc,IdentCache,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#commandDoc%2CIdentCache%2CConfigRef"><span class="Identifier">commandDoc</span></a><span class="Other">(</span><span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
implementation of deprecated <tt class="docutils literal"><span class="pre">doc0</span></tt> command (without semantic checking)
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1848" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1848" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="commandJson-procs-all">
|
||||
<div id="commandJson,IdentCache,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#commandJson%2CIdentCache%2CConfigRef"><span class="Identifier">commandJson</span></a><span class="Other">(</span><span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
implementation of a deprecated jsondoc0 command
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1884" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1884" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="commandRst2Html-procs-all">
|
||||
<div id="commandRst2Html,IdentCache,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#commandRst2Html%2CIdentCache%2CConfigRef"><span class="Identifier">commandRst2Html</span></a><span class="Other">(</span><span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">preferMarkdown</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1876" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1876" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="commandRst2TeX-procs-all">
|
||||
<div id="commandRst2TeX,IdentCache,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#commandRst2TeX%2CIdentCache%2CConfigRef"><span class="Identifier">commandRst2TeX</span></a><span class="Other">(</span><span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">preferMarkdown</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1880" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1880" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="commandTags-procs-all">
|
||||
<div id="commandTags,IdentCache,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#commandTags%2CIdentCache%2CConfigRef"><span class="Identifier">commandTags</span></a><span class="Other">(</span><span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1911" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1911" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="documentRaises-procs-all">
|
||||
<div id="documentRaises,IdentCache,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#documentRaises%2CIdentCache%2CPNode"><span class="Identifier">documentRaises</span></a><span class="Other">(</span><span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1353" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1353" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="finishGenerateDoc-procs-all">
|
||||
<div id="finishGenerateDoc,PDoc">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#finishGenerateDoc%2CPDoc"><span class="Identifier">finishGenerateDoc</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#PDoc"><span class="Identifier">PDoc</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Perform 2nd RST pass for resolution of links/footnotes/headings...
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1461" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1461" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="generateDoc-procs-all">
|
||||
<div id="generateDoc,PDoc,PNode,PNode,ConfigRef,DocFlags">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#generateDoc%2CPDoc%2CPNode%2CPNode%2CConfigRef%2CDocFlags"><span class="Identifier">generateDoc</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <a href="#PDoc"><span class="Identifier">PDoc</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">,</span> <span class="Identifier">orig</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">docFlags</span><span class="Other">:</span> <span class="Identifier">DocFlags</span> <span class="Other">=</span> <span class="Identifier">kDefault</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Goes through nim nodes recursively and collects doc comments. Main function for <tt class="docutils literal"><span class="pre option">doc</span></tt> command, which is implemented in <tt class="docutils literal"><span class="pre">docgen2.nim</span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1373" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1373" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="generateIndex-procs-all">
|
||||
<div id="generateIndex,PDoc">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#generateIndex%2CPDoc"><span class="Identifier">generateIndex</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <a href="#PDoc"><span class="Identifier">PDoc</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1774" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1774" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="generateJson-procs-all">
|
||||
<div id="generateJson,PDoc,PNode,ConfigRef,bool">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#generateJson%2CPDoc%2CPNode%2CConfigRef%2Cbool"><span class="Identifier">generateJson</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <a href="#PDoc"><span class="Identifier">PDoc</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">includeComments</span><span class="Other">:</span> <span class="Identifier">bool</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1577" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1577" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="generateTags-procs-all">
|
||||
<div id="generateTags,PDoc,PNode,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#generateTags%2CPDoc%2CPNode%2Cstring"><span class="Identifier">generateTags</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <a href="#PDoc"><span class="Identifier">PDoc</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1622" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1622" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="handleDocOutputOptions-procs-all">
|
||||
<div id="handleDocOutputOptions,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#handleDocOutputOptions%2CConfigRef"><span class="Identifier">handleDocOutputOptions</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1841" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1841" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="newDocumentor-procs-all">
|
||||
<div id="newDocumentor,AbsoluteFile,IdentCache,ConfigRef,string,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newDocumentor%2CAbsoluteFile%2CIdentCache%2CConfigRef%2Cstring%2CPSym"><span class="Identifier">newDocumentor</span></a><span class="Other">(</span><span class="Identifier">filename</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">;</span> <span class="Identifier">cache</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">outExt</span><span class="Other">:</span> <span class="Identifier">string</span> <span class="Other">=</span> <span class="Identifier">HtmlExt</span><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> <span class="Other">=</span> <span class="Keyword">nil</span><span class="Other">;</span>
|
||||
<span class="Identifier">standaloneDoc</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">;</span> <span class="Identifier">preferMarkdown</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">;</span> <span class="Identifier">hasToc</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span><span class="Other">:</span> <a href="#PDoc"><span class="Identifier">PDoc</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L324" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L324" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="presentationPath-procs-all">
|
||||
<div id="presentationPath,ConfigRef,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#presentationPath%2CConfigRef%2CAbsoluteFile"><span class="Identifier">presentationPath</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">file</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#RelativeFile"><span class="Identifier">RelativeFile</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
returns a relative file that will be appended to outDir
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L178" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L178" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeOutput-procs-all">
|
||||
<div id="writeOutput,PDoc">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeOutput%2CPDoc"><span class="Identifier">writeOutput</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <a href="#PDoc"><span class="Identifier">PDoc</span></a><span class="Other">;</span> <span class="Identifier">useWarning</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">;</span> <span class="Identifier">groupedToc</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1786" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1786" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeOutputJson-procs-all">
|
||||
<div id="writeOutputJson,PDoc">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeOutputJson%2CPDoc"><span class="Identifier">writeOutputJson</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <a href="#PDoc"><span class="Identifier">PDoc</span></a><span class="Other">;</span> <span class="Identifier">useWarning</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1817" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1817" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
20
compiler/docgen.idx
Normal file
20
compiler/docgen.idx
Normal file
@@ -0,0 +1,20 @@
|
||||
nimTitle docgen docgen.html module docgen 0
|
||||
nim PDoc docgen.html#PDoc type PDoc 111
|
||||
nim presentationPath docgen.html#presentationPath,ConfigRef,AbsoluteFile proc presentationPath(conf: ConfigRef; file: AbsoluteFile): RelativeFile 178
|
||||
nim newDocumentor docgen.html#newDocumentor,AbsoluteFile,IdentCache,ConfigRef,string,PSym proc newDocumentor(filename: AbsoluteFile; cache: IdentCache; conf: ConfigRef;\n outExt: string = HtmlExt; module: PSym = nil;\n standaloneDoc = false; preferMarkdown = true; hasToc = true): PDoc 324
|
||||
nim documentRaises docgen.html#documentRaises,IdentCache,PNode proc documentRaises(cache: IdentCache; n: PNode) 1353
|
||||
nim generateDoc docgen.html#generateDoc,PDoc,PNode,PNode,ConfigRef,DocFlags proc generateDoc(d: PDoc; n, orig: PNode; config: ConfigRef;\n docFlags: DocFlags = kDefault) 1373
|
||||
nim finishGenerateDoc docgen.html#finishGenerateDoc,PDoc proc finishGenerateDoc(d: var PDoc) 1461
|
||||
nim generateJson docgen.html#generateJson,PDoc,PNode,ConfigRef,bool proc generateJson(d: PDoc; n: PNode; config: ConfigRef; includeComments: bool = true) 1577
|
||||
nim generateTags docgen.html#generateTags,PDoc,PNode,string proc generateTags(d: PDoc; n: PNode; r: var string) 1622
|
||||
nim generateIndex docgen.html#generateIndex,PDoc proc generateIndex(d: PDoc) 1774
|
||||
nim writeOutput docgen.html#writeOutput,PDoc proc writeOutput(d: PDoc; useWarning = false; groupedToc = false) 1786
|
||||
nim writeOutputJson docgen.html#writeOutputJson,PDoc proc writeOutputJson(d: PDoc; useWarning = false) 1817
|
||||
nim handleDocOutputOptions docgen.html#handleDocOutputOptions,ConfigRef proc handleDocOutputOptions(conf: ConfigRef) 1841
|
||||
nim commandDoc docgen.html#commandDoc,IdentCache,ConfigRef proc commandDoc(cache: IdentCache; conf: ConfigRef) 1848
|
||||
nim commandRst2Html docgen.html#commandRst2Html,IdentCache,ConfigRef proc commandRst2Html(cache: IdentCache; conf: ConfigRef; preferMarkdown = false) 1876
|
||||
nim commandRst2TeX docgen.html#commandRst2TeX,IdentCache,ConfigRef proc commandRst2TeX(cache: IdentCache; conf: ConfigRef; preferMarkdown = false) 1880
|
||||
nim commandJson docgen.html#commandJson,IdentCache,ConfigRef proc commandJson(cache: IdentCache; conf: ConfigRef) 1884
|
||||
nim commandTags docgen.html#commandTags,IdentCache,ConfigRef proc commandTags(cache: IdentCache; conf: ConfigRef) 1911
|
||||
nim commandBuildIndex docgen.html#commandBuildIndex,ConfigRef,string proc commandBuildIndex(conf: ConfigRef; dir: string; outFile = RelativeFile"") 1935
|
||||
nim commandBuildIndexJson docgen.html#commandBuildIndexJson,ConfigRef,string proc commandBuildIndexJson(conf: ConfigRef; dir: string; outFile = RelativeFile"") 1958
|
||||
247
compiler/docgen2.html
Normal file
247
compiler/docgen2.html
Normal file
@@ -0,0 +1,247 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>docgen2</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">docgen2</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">closeDoc
|
||||
<li><a class="reference" href="#closeDoc%2CModuleGraph%2CPPassContext%2CPNode" title="closeDoc(graph: ModuleGraph; p: PPassContext; n: PNode): PNode">closeDoc(graph: ModuleGraph; p: PPassContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">closeJson
|
||||
<li><a class="reference" href="#closeJson%2CModuleGraph%2CPPassContext%2CPNode" title="closeJson(graph: ModuleGraph; p: PPassContext; n: PNode): PNode">closeJson(graph: ModuleGraph; p: PPassContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">openHtml
|
||||
<li><a class="reference" href="#openHtml%2CModuleGraph%2CPSym%2CIdGenerator" title="openHtml(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext">openHtml(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">openJson
|
||||
<li><a class="reference" href="#openJson%2CModuleGraph%2CPSym%2CIdGenerator" title="openJson(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext">openJson(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">openTex
|
||||
<li><a class="reference" href="#openTex%2CModuleGraph%2CPSym%2CIdGenerator" title="openTex(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext">openTex(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">processNode
|
||||
<li><a class="reference" href="#processNode%2CPPassContext%2CPNode" title="processNode(c: PPassContext; n: PNode): PNode">processNode(c: PPassContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">processNodeJson
|
||||
<li><a class="reference" href="#processNodeJson%2CPPassContext%2CPNode" title="processNodeJson(c: PPassContext; n: PNode): PNode">processNodeJson(c: PPassContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen2.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="docgen.html">docgen</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="packages.html">packages</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="closeDoc-procs-all">
|
||||
<div id="closeDoc,ModuleGraph,PPassContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#closeDoc%2CModuleGraph%2CPPassContext%2CPNode"><span class="Identifier">closeDoc</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">p</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen2.nim#L41" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L41" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="closeJson-procs-all">
|
||||
<div id="closeJson,ModuleGraph,PPassContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#closeJson%2CModuleGraph%2CPPassContext%2CPNode"><span class="Identifier">closeJson</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">p</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen2.nim#L46" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L46" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="openHtml-procs-all">
|
||||
<div id="openHtml,ModuleGraph,PSym,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#openHtml%2CModuleGraph%2CPSym%2CIdGenerator"><span class="Identifier">openHtml</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen2.nim#L73" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L73" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="openJson-procs-all">
|
||||
<div id="openJson,ModuleGraph,PSym,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#openJson%2CModuleGraph%2CPSym%2CIdGenerator"><span class="Identifier">openJson</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen2.nim#L79" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L79" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="openTex-procs-all">
|
||||
<div id="openTex,ModuleGraph,PSym,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#openTex%2CModuleGraph%2CPSym%2CIdGenerator"><span class="Identifier">openTex</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen2.nim#L76" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L76" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="processNode-procs-all">
|
||||
<div id="processNode,PPassContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processNode%2CPPassContext%2CPNode"><span class="Identifier">processNode</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen2.nim#L51" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L51" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="processNodeJson-procs-all">
|
||||
<div id="processNodeJson,PPassContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processNodeJson%2CPPassContext%2CPNode"><span class="Identifier">processNodeJson</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen2.nim#L57" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L57" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
8
compiler/docgen2.idx
Normal file
8
compiler/docgen2.idx
Normal file
@@ -0,0 +1,8 @@
|
||||
nimTitle docgen2 docgen2.html module docgen2 0
|
||||
nim closeDoc docgen2.html#closeDoc,ModuleGraph,PPassContext,PNode proc closeDoc(graph: ModuleGraph; p: PPassContext; n: PNode): PNode 41
|
||||
nim closeJson docgen2.html#closeJson,ModuleGraph,PPassContext,PNode proc closeJson(graph: ModuleGraph; p: PPassContext; n: PNode): PNode 46
|
||||
nim processNode docgen2.html#processNode,PPassContext,PNode proc processNode(c: PPassContext; n: PNode): PNode 51
|
||||
nim processNodeJson docgen2.html#processNodeJson,PPassContext,PNode proc processNodeJson(c: PPassContext; n: PNode): PNode 57
|
||||
nim openHtml docgen2.html#openHtml,ModuleGraph,PSym,IdGenerator proc openHtml(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 73
|
||||
nim openTex docgen2.html#openTex,ModuleGraph,PSym,IdGenerator proc openTex(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 76
|
||||
nim openJson docgen2.html#openJson,ModuleGraph,PSym,IdGenerator proc openJson(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 79
|
||||
1728
compiler/dochack.js
Normal file
1728
compiler/dochack.js
Normal file
File diff suppressed because it is too large
Load Diff
148
compiler/enumtostr.html
Normal file
148
compiler/enumtostr.html
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>enumtostr</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">enumtostr</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">genCaseObjDiscMapping
|
||||
<li><a class="reference" href="#genCaseObjDiscMapping%2CPType%2CPSym%2CTLineInfo%2CModuleGraph%2CIdGenerator" title="genCaseObjDiscMapping(t: PType; field: PSym; info: TLineInfo; g: ModuleGraph;
|
||||
idgen: IdGenerator): PSym">genCaseObjDiscMapping(t: PType; field: PSym; info: TLineInfo; g: ModuleGraph;
|
||||
idgen: IdGenerator): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">genEnumToStrProc
|
||||
<li><a class="reference" href="#genEnumToStrProc%2CPType%2CTLineInfo%2CModuleGraph%2CIdGenerator" title="genEnumToStrProc(t: PType; info: TLineInfo; g: ModuleGraph; idgen: IdGenerator): PSym">genEnumToStrProc(t: PType; info: TLineInfo; g: ModuleGraph; idgen: IdGenerator): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/enumtostr.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/enumtostr.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="magicsys.html">magicsys</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="genCaseObjDiscMapping-procs-all">
|
||||
<div id="genCaseObjDiscMapping,PType,PSym,TLineInfo,ModuleGraph,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genCaseObjDiscMapping%2CPType%2CPSym%2CTLineInfo%2CModuleGraph%2CIdGenerator"><span class="Identifier">genCaseObjDiscMapping</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">field</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/enumtostr.nim#L74" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/enumtostr.nim#L74" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="genEnumToStrProc-procs-all">
|
||||
<div id="genEnumToStrProc,PType,TLineInfo,ModuleGraph,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genEnumToStrProc%2CPType%2CTLineInfo%2CModuleGraph%2CIdGenerator"><span class="Identifier">genEnumToStrProc</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/enumtostr.nim#L8" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/enumtostr.nim#L8" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
3
compiler/enumtostr.idx
Normal file
3
compiler/enumtostr.idx
Normal file
@@ -0,0 +1,3 @@
|
||||
nimTitle enumtostr enumtostr.html module enumtostr 0
|
||||
nim genEnumToStrProc enumtostr.html#genEnumToStrProc,PType,TLineInfo,ModuleGraph,IdGenerator proc genEnumToStrProc(t: PType; info: TLineInfo; g: ModuleGraph; idgen: IdGenerator): PSym 8
|
||||
nim genCaseObjDiscMapping enumtostr.html#genCaseObjDiscMapping,PType,PSym,TLineInfo,ModuleGraph,IdGenerator proc genCaseObjDiscMapping(t: PType; field: PSym; info: TLineInfo; g: ModuleGraph;\n idgen: IdGenerator): PSym 74
|
||||
200
compiler/errorhandling.html
Normal file
200
compiler/errorhandling.html
Normal file
@@ -0,0 +1,200 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>errorhandling</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">errorhandling</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#ErrorKind" title="ErrorKind = enum
|
||||
RawTypeMismatchError, ExpressionCannotBeCalled, CustomError,
|
||||
WrongNumberOfArguments, AmbiguousCall">ErrorKind</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">errorSubNode
|
||||
<li><a class="reference" href="#errorSubNode%2CPNode" title="errorSubNode(n: PNode): PNode">errorSubNode(n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">errorToString
|
||||
<li><a class="reference" href="#errorToString%2CConfigRef%2CPNode" title="errorToString(config: ConfigRef; n: PNode): string">errorToString(config: ConfigRef; n: PNode): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">newError
|
||||
<li><a class="reference" href="#newError%2CPNode%2CErrorKind%2Cvarargs%5BPNode%5D" title="newError(wrongNode: PNode; k: ErrorKind; args: varargs[PNode]): PNode">newError(wrongNode: PNode; k: ErrorKind; args: varargs[PNode]): PNode</a></li>
|
||||
<li><a class="reference" href="#newError%2CPNode%2Cstring" title="newError(wrongNode: PNode; msg: string): PNode">newError(wrongNode: PNode; msg: string): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/errorhandling.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module contains support code for new-styled error handling via an <tt class="docutils literal"><span class="pre"><span class="Identifier">nkError</span></span></tt> node kind.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="types.html">types</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="ErrorKind">
|
||||
<dt><pre><a href="#ErrorKind"><span class="Identifier">ErrorKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">RawTypeMismatchError</span><span class="Other">,</span> <span class="Identifier">ExpressionCannotBeCalled</span><span class="Other">,</span> <span class="Identifier">CustomError</span><span class="Other">,</span>
|
||||
<span class="Identifier">WrongNumberOfArguments</span><span class="Other">,</span> <span class="Identifier">AmbiguousCall</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
expand as you need.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/errorhandling.nim#L20" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L20" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="errorSubNode-procs-all">
|
||||
<div id="errorSubNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#errorSubNode%2CPNode"><span class="Identifier">errorSubNode</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/errorhandling.nim#L27" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L27" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="errorToString-procs-all">
|
||||
<div id="errorToString,ConfigRef,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#errorToString%2CConfigRef%2CPNode"><span class="Identifier">errorToString</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/errorhandling.nim#L61" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L61" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="newError-procs-all">
|
||||
<div id="newError,PNode,ErrorKind,varargs[PNode]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newError%2CPNode%2CErrorKind%2Cvarargs%5BPNode%5D"><span class="Identifier">newError</span></a><span class="Other">(</span><span class="Identifier">wrongNode</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">k</span><span class="Other">:</span> <a href="#ErrorKind"><span class="Identifier">ErrorKind</span></a><span class="Other">;</span> <span class="Identifier">args</span><span class="Other">:</span> <span class="Identifier">varargs</span><span class="Other">[</span><a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/errorhandling.nim#L39" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L39" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="newError,PNode,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newError%2CPNode%2Cstring"><span class="Identifier">newError</span></a><span class="Other">(</span><span class="Identifier">wrongNode</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">msg</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/errorhandling.nim#L50" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L50" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:09 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
12
compiler/errorhandling.idx
Normal file
12
compiler/errorhandling.idx
Normal file
@@ -0,0 +1,12 @@
|
||||
nimTitle errorhandling errorhandling.html module errorhandling 0
|
||||
nim RawTypeMismatchError errorhandling.html#RawTypeMismatchError ErrorKind.RawTypeMismatchError 20
|
||||
nim ExpressionCannotBeCalled errorhandling.html#ExpressionCannotBeCalled ErrorKind.ExpressionCannotBeCalled 20
|
||||
nim CustomError errorhandling.html#CustomError ErrorKind.CustomError 20
|
||||
nim WrongNumberOfArguments errorhandling.html#WrongNumberOfArguments ErrorKind.WrongNumberOfArguments 20
|
||||
nim AmbiguousCall errorhandling.html#AmbiguousCall ErrorKind.AmbiguousCall 20
|
||||
nim ErrorKind errorhandling.html#ErrorKind enum ErrorKind 20
|
||||
nim errorSubNode errorhandling.html#errorSubNode,PNode proc errorSubNode(n: PNode): PNode 27
|
||||
nim newError errorhandling.html#newError,PNode,ErrorKind,varargs[PNode] proc newError(wrongNode: PNode; k: ErrorKind; args: varargs[PNode]): PNode 39
|
||||
nim newError errorhandling.html#newError,PNode,string proc newError(wrongNode: PNode; msg: string): PNode 50
|
||||
nim errorToString errorhandling.html#errorToString,ConfigRef,PNode proc errorToString(config: ConfigRef; n: PNode): string 61
|
||||
nimgrp newerror errorhandling.html#newError-procs-all proc 39
|
||||
171
compiler/evaltempl.html
Normal file
171
compiler/evaltempl.html
Normal file
@@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>evaltempl</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">evaltempl</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#evalTemplateLimit" title="evalTemplateLimit = 1000">evalTemplateLimit</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">evalTemplate
|
||||
<li><a class="reference" href="#evalTemplate%2CPNode%2CPSym%2CPSym%2CConfigRef%2CIdentCache%2Cref.int%2CIdGenerator" title="evalTemplate(n: PNode; tmpl, genSymOwner: PSym; conf: ConfigRef; ic: IdentCache;
|
||||
instID: ref int; idgen: IdGenerator; fromHlo = false): PNode">evalTemplate(n: PNode; tmpl, genSymOwner: PSym; conf: ConfigRef; ic: IdentCache;
|
||||
instID: ref int; idgen: IdGenerator; fromHlo = false): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">wrapInComesFrom
|
||||
<li><a class="reference" href="#wrapInComesFrom%2CTLineInfo%2CPSym%2CPNode" title="wrapInComesFrom(info: TLineInfo; sym: PSym; res: PNode): PNode">wrapInComesFrom(info: TLineInfo; sym: PSym; res: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/evaltempl.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/evaltempl.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Template evaluation engine. Now hygienic.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="astalgo.html">astalgo</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="trees.html">trees</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="evalTemplateLimit">
|
||||
<dt><pre><a href="#evalTemplateLimit"><span class="Identifier">evalTemplateLimit</span></a> <span class="Other">=</span> <span class="DecNumber">1000</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/evaltempl.nim#L163" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/evaltempl.nim#L163" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="evalTemplate-procs-all">
|
||||
<div id="evalTemplate,PNode,PSym,PSym,ConfigRef,IdentCache,ref.int,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#evalTemplate%2CPNode%2CPSym%2CPSym%2CConfigRef%2CIdentCache%2Cref.int%2CIdGenerator"><span class="Identifier">evalTemplate</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">tmpl</span><span class="Other">,</span> <span class="Identifier">genSymOwner</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">ic</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">instID</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">int</span><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">fromHlo</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/evaltempl.nim#L187" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/evaltempl.nim#L187" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="wrapInComesFrom-procs-all">
|
||||
<div id="wrapInComesFrom,TLineInfo,PSym,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#wrapInComesFrom%2CTLineInfo%2CPSym%2CPNode"><span class="Identifier">wrapInComesFrom</span></a><span class="Other">(</span><span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span> <span class="Identifier">sym</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">res</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/evaltempl.nim#L165" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/evaltempl.nim#L165" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:12 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
4
compiler/evaltempl.idx
Normal file
4
compiler/evaltempl.idx
Normal file
@@ -0,0 +1,4 @@
|
||||
nimTitle evaltempl evaltempl.html module evaltempl 0
|
||||
nim evalTemplateLimit evaltempl.html#evalTemplateLimit const evalTemplateLimit 163
|
||||
nim wrapInComesFrom evaltempl.html#wrapInComesFrom,TLineInfo,PSym,PNode proc wrapInComesFrom(info: TLineInfo; sym: PSym; res: PNode): PNode 165
|
||||
nim evalTemplate evaltempl.html#evalTemplate,PNode,PSym,PSym,ConfigRef,IdentCache,ref.int,IdGenerator proc evalTemplate(n: PNode; tmpl, genSymOwner: PSym; conf: ConfigRef; ic: IdentCache;\n instID: ref int; idgen: IdGenerator; fromHlo = false): PNode 187
|
||||
144
compiler/expanddefaults.html
Normal file
144
compiler/expanddefaults.html
Normal file
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>expanddefaults</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">expanddefaults</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">caseObjDefaultBranch
|
||||
<li><a class="reference" href="#caseObjDefaultBranch%2CPNode%2CInt128" title="caseObjDefaultBranch(obj: PNode; branch: Int128): int">caseObjDefaultBranch(obj: PNode; branch: Int128): int</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">expandDefault
|
||||
<li><a class="reference" href="#expandDefault%2CPType%2CTLineInfo" title="expandDefault(t: PType; info: TLineInfo): PNode">expandDefault(t: PType; info: TLineInfo): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/expanddefaults.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/expanddefaults.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="types.html">types</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="caseObjDefaultBranch-procs-all">
|
||||
<div id="caseObjDefaultBranch,PNode,Int128">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#caseObjDefaultBranch%2CPNode%2CInt128"><span class="Identifier">caseObjDefaultBranch</span></a><span class="Other">(</span><span class="Identifier">obj</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">branch</span><span class="Other">:</span> <a href="int128.html#Int128"><span class="Identifier">Int128</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/expanddefaults.nim#L12" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/expanddefaults.nim#L12" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="expandDefault-procs-all">
|
||||
<div id="expandDefault,PType,TLineInfo">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#expandDefault%2CPType%2CTLineInfo"><span class="Identifier">expandDefault</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/expanddefaults.nim#L30" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/expanddefaults.nim#L30" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:11 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
3
compiler/expanddefaults.idx
Normal file
3
compiler/expanddefaults.idx
Normal file
@@ -0,0 +1,3 @@
|
||||
nimTitle expanddefaults expanddefaults.html module expanddefaults 0
|
||||
nim caseObjDefaultBranch expanddefaults.html#caseObjDefaultBranch,PNode,Int128 proc caseObjDefaultBranch(obj: PNode; branch: Int128): int 12
|
||||
nim expandDefault expanddefaults.html#expandDefault,PType,TLineInfo proc expandDefault(t: PType; info: TLineInfo): PNode 30
|
||||
871
compiler/extccomp.html
Normal file
871
compiler/extccomp.html
Normal file
@@ -0,0 +1,871 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>extccomp</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">extccomp</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#TInfoCC" title="TInfoCC = tuple[name: string, objExt: string, optSpeed: string, optSize: string,
|
||||
compilerExe: string, cppCompiler: string, compileTmpl: string,
|
||||
buildGui: string, buildDll: string, buildLib: string,
|
||||
linkerExe: string, linkTmpl: string, includeCmd: string,
|
||||
linkDirCmd: string, linkLibCmd: string, debug: string,
|
||||
pic: string, asmStmtFrmt: string, structStmtFmt: string,
|
||||
produceAsm: string, cppXsupport: string, props: TInfoCCProps]">TInfoCC</a></li>
|
||||
<li><a class="reference" href="#TInfoCCProp" title="TInfoCCProp = enum
|
||||
hasSwitchRange, hasComputedGoto, hasCpp, hasAssume, hasGcGuard, hasGnuAsm,
|
||||
hasDeclspec, hasAttribute, hasBuiltinUnreachable">TInfoCCProp</a></li>
|
||||
<li><a class="reference" href="#TInfoCCProps" title="TInfoCCProps = set[TInfoCCProp]">TInfoCCProps</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#CC" title="CC: array[succ(low(TSystemCC)) .. high(TSystemCC), TInfoCC] = [("gcc", "o",
|
||||
" -O3 -fno-ident", " -Os -fno-ident", "gcc", "g++",
|
||||
"-c $options $include -o $objfile $file", " -mwindows", " -shared",
|
||||
"ar rcs $libfile $objfiles", "",
|
||||
"$buildgui $builddll -o $exefile $objfiles $options", " -I", " -L", " -l$1",
|
||||
"", "-fPIC", "__asm__($1);$n", "$1 $3 $2 ",
|
||||
"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel",
|
||||
"-std=gnu++17 -funsigned-char", {hasSwitchRange, hasComputedGoto, hasCpp,
|
||||
hasGcGuard, hasGnuAsm, hasAttribute,
|
||||
hasBuiltinUnreachable}), ("switch_gcc",
|
||||
"o", " -O3 ", " -Os ", "aarch64-none-elf-gcc", "aarch64-none-elf-g++",
|
||||
"-w -MMD -MP -MF $dfile -c $options $include -o $objfile $file",
|
||||
" -mwindows", " -shared", "aarch64-none-elf-gcc-ar rcs $libfile $objfiles",
|
||||
"aarch64-none-elf-gcc",
|
||||
"$buildgui $builddll -Wl,-Map,$mapfile -o $exefile $objfiles $options",
|
||||
" -I", " -L", " -l$1", "", "-fPIE", "asm($1);$n", "$1 $3 $2 ",
|
||||
"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel",
|
||||
"-std=gnu++17 -funsigned-char", {hasSwitchRange, hasComputedGoto, hasCpp,
|
||||
hasGcGuard, hasGnuAsm, hasAttribute,
|
||||
hasBuiltinUnreachable}), ("llvm_gcc", "o",
|
||||
" -O3 -fno-ident", " -Os -fno-ident", "llvm-gcc", "llvm-g++",
|
||||
"-c $options $include -o $objfile $file", " -mwindows", " -shared",
|
||||
"llvm-ar rcs $libfile $objfiles", "",
|
||||
"$buildgui $builddll -o $exefile $objfiles $options", " -I", " -L", " -l$1",
|
||||
"", "-fPIC", "__asm__($1);$n", "$1 $3 $2 ",
|
||||
"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel",
|
||||
"-std=gnu++17 -funsigned-char", {hasSwitchRange, hasComputedGoto, hasCpp,
|
||||
hasGcGuard, hasGnuAsm, hasAttribute,
|
||||
hasBuiltinUnreachable}), ("clang", "o",
|
||||
" -O3 -fno-ident", " -Os -fno-ident", "clang", "clang++",
|
||||
"-c $options $include -o $objfile $file", " -mwindows", " -shared",
|
||||
"llvm-ar rcs $libfile $objfiles", "",
|
||||
"$buildgui $builddll -o $exefile $objfiles $options", " -I", " -L", " -l$1",
|
||||
"", "-fPIC", "__asm__($1);$n", "$1 $3 $2 ",
|
||||
"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel",
|
||||
"-std=gnu++17 -funsigned-char", {hasSwitchRange, hasComputedGoto, hasCpp,
|
||||
hasGcGuard, hasGnuAsm, hasAttribute,
|
||||
hasBuiltinUnreachable}), ("bcc", "obj",
|
||||
" -O3 -6 ", " -O1 -6 ", "bcc32c", "cpp32c",
|
||||
"-c $options $include -o$objfile $file", " -tW", " -tWD", "", "bcc32",
|
||||
"$options $buildgui $builddll -e$exefile $objfiles", " -I", "", "", "", "",
|
||||
"__asm{$n$1$n}$n", "$1 $2", "", "",
|
||||
{hasSwitchRange, hasComputedGoto, hasCpp, hasGcGuard, hasAttribute}), (
|
||||
"vcc", "obj", " /Ogityb2 ", " /O1 ", "cl", "cl",
|
||||
"/c$vccplatform $options $include /nologo /Fo$objfile $file",
|
||||
" /SUBSYSTEM:WINDOWS user32.lib ", " /LD",
|
||||
"vccexe --command:lib$vccplatform /nologo /OUT:$libfile $objfiles", "cl",
|
||||
"$builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options",
|
||||
" /I", " /link /LIBPATH:", " $1.lib", " /RTC1 /Z7 ", "", "__asm{$n$1$n}$n",
|
||||
"$3$n$1 $2", "/Fa$asmfile", "", {hasCpp, hasAssume, hasDeclspec}), ("tcc",
|
||||
"o", "", "", "tcc", "", "-c $options $include -o $objfile $file",
|
||||
"-Wl,-subsystem=gui", " -shared", "", "tcc",
|
||||
"-o $exefile $options $buildgui $builddll $objfiles", " -I", " -L", " -l$1",
|
||||
" -g ", "", "asm($1);$n", "$1 $2",
|
||||
"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel", "",
|
||||
{hasSwitchRange, hasComputedGoto, hasGnuAsm}), ("env", "o", " -O3 ",
|
||||
" -O1 ", "", "", "-c $ccenvflags $options $include -o $objfile $file", "",
|
||||
" -shared ", "", "", "-o $exefile $buildgui $builddll $objfiles $options",
|
||||
" -I", "", "", "", "", "__asm{$n$1$n}$n", "$1 $2", "", "", {hasGnuAsm}), (
|
||||
"icl", "obj", " /Ogityb2 ", " /O1 ", "icl", "cl",
|
||||
"/c$vccplatform $options $include /nologo /Fo$objfile $file",
|
||||
" /SUBSYSTEM:WINDOWS user32.lib ", " /LD",
|
||||
"vccexe --command:lib$vccplatform /nologo /OUT:$libfile $objfiles", "icl",
|
||||
"$builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options",
|
||||
" /I", " /link /LIBPATH:", " $1.lib", " /RTC1 /Z7 ", "", "__asm{$n$1$n}$n",
|
||||
"$3$n$1 $2", "/Fa$asmfile", "", {hasCpp, hasAssume, hasDeclspec}), ("icc",
|
||||
"o", " -O3 -fno-ident", " -Os -fno-ident", "icc", "g++",
|
||||
"-c $options $include -o $objfile $file", " -mwindows", " -shared",
|
||||
"ar rcs $libfile $objfiles", "icc",
|
||||
"$buildgui $builddll -o $exefile $objfiles $options", " -I", " -L", " -l$1",
|
||||
"", "-fPIC", "__asm__($1);$n", "$1 $3 $2 ",
|
||||
"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel",
|
||||
"-std=gnu++17 -funsigned-char", {hasSwitchRange, hasComputedGoto, hasCpp,
|
||||
hasGcGuard, hasGnuAsm, hasAttribute,
|
||||
hasBuiltinUnreachable}), ("clang_cl",
|
||||
"obj", " /Ogityb2 ", " /O1 ", "clang-cl", "clang-cl",
|
||||
"/c$vccplatform $options $include /nologo /Fo$objfile $file",
|
||||
" /SUBSYSTEM:WINDOWS user32.lib ", " /LD",
|
||||
"vccexe --command:lib$vccplatform /nologo /OUT:$libfile $objfiles",
|
||||
"clang-cl", "-fuse-ld=lld $builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options",
|
||||
" /I", " /link /LIBPATH:", " $1.lib", " /RTC1 /Z7 ", "", "__asm{$n$1$n}$n",
|
||||
"$3$n$1 $2", "/Fa$asmfile", "", {hasCpp, hasAssume, hasDeclspec}), ("hipcc",
|
||||
"o", " -O3 -fno-ident", " -Os -fno-ident", "hipcc", "hipcc",
|
||||
"-c $options $include -o $objfile $file", " -mwindows", " -shared",
|
||||
"llvm-ar rcs $libfile $objfiles", "",
|
||||
"$buildgui $builddll -o $exefile $objfiles $options", " -I", " -L", " -l$1",
|
||||
"", "-fPIC", "__asm__($1);$n", "$1 $3 $2 ",
|
||||
"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel",
|
||||
"-std=gnu++17 -funsigned-char", {hasSwitchRange, hasComputedGoto, hasCpp,
|
||||
hasGcGuard, hasGnuAsm, hasAttribute,
|
||||
hasBuiltinUnreachable}), ("nvcc", "o",
|
||||
" -O3 -fno-ident", " -Os -fno-ident", "nvcc", "nvcc",
|
||||
"-c -x cu -Xcompiler=\"$options\" $include -o $objfile $file", " -mwindows",
|
||||
" -shared", "ar rcs $libfile $objfiles", "",
|
||||
"$buildgui $builddll -o $exefile $objfiles -Xcompiler=\"$options\"", " -I",
|
||||
" -L", " -l$1", "", "-fPIC", "__asm__($1);$n", "$1 $3 $2 ",
|
||||
"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel",
|
||||
"-std=gnu++17 -funsigned-char", {hasSwitchRange, hasComputedGoto, hasCpp,
|
||||
hasGcGuard, hasGnuAsm, hasAttribute,
|
||||
hasBuiltinUnreachable})]">CC</a></li>
|
||||
<li><a class="reference" href="#hExt" title="hExt = ".h"">hExt</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">addCompileOption
|
||||
<li><a class="reference" href="#addCompileOption%2CConfigRef%2Cstring" title="addCompileOption(conf: ConfigRef; option: string)">addCompileOption(conf: ConfigRef; option: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addCompileOptionCmd
|
||||
<li><a class="reference" href="#addCompileOptionCmd%2CConfigRef%2Cstring" title="addCompileOptionCmd(conf: ConfigRef; option: string)">addCompileOptionCmd(conf: ConfigRef; option: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addExternalFileToCompile
|
||||
<li><a class="reference" href="#addExternalFileToCompile%2CConfigRef%2CCfile" title="addExternalFileToCompile(conf: ConfigRef; c: var Cfile)">addExternalFileToCompile(conf: ConfigRef; c: var Cfile)</a></li>
|
||||
<li><a class="reference" href="#addExternalFileToCompile%2CConfigRef%2CAbsoluteFile" title="addExternalFileToCompile(conf: ConfigRef; filename: AbsoluteFile)">addExternalFileToCompile(conf: ConfigRef; filename: AbsoluteFile)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addExternalFileToLink
|
||||
<li><a class="reference" href="#addExternalFileToLink%2CConfigRef%2CAbsoluteFile" title="addExternalFileToLink(conf: ConfigRef; filename: AbsoluteFile)">addExternalFileToLink(conf: ConfigRef; filename: AbsoluteFile)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addFileToCompile
|
||||
<li><a class="reference" href="#addFileToCompile%2CConfigRef%2CCfile" title="addFileToCompile(conf: ConfigRef; cf: Cfile)">addFileToCompile(conf: ConfigRef; cf: Cfile)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addLinkOption
|
||||
<li><a class="reference" href="#addLinkOption%2CConfigRef%2Cstring" title="addLinkOption(conf: ConfigRef; option: string)">addLinkOption(conf: ConfigRef; option: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addLinkOptionCmd
|
||||
<li><a class="reference" href="#addLinkOptionCmd%2CConfigRef%2Cstring" title="addLinkOptionCmd(conf: ConfigRef; option: string)">addLinkOptionCmd(conf: ConfigRef; option: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addLocalCompileOption
|
||||
<li><a class="reference" href="#addLocalCompileOption%2CConfigRef%2Cstring%2CAbsoluteFile" title="addLocalCompileOption(conf: ConfigRef; option: string; nimfile: AbsoluteFile)">addLocalCompileOption(conf: ConfigRef; option: string; nimfile: AbsoluteFile)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">callCCompiler
|
||||
<li><a class="reference" href="#callCCompiler%2CConfigRef" title="callCCompiler(conf: ConfigRef)">callCCompiler(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">ccHasSaneOverflow
|
||||
<li><a class="reference" href="#ccHasSaneOverflow%2CConfigRef" title="ccHasSaneOverflow(conf: ConfigRef): bool">ccHasSaneOverflow(conf: ConfigRef): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">changeDetectedViaJsonBuildInstructions
|
||||
<li><a class="reference" href="#changeDetectedViaJsonBuildInstructions%2CConfigRef%2CAbsoluteFile" title="changeDetectedViaJsonBuildInstructions(conf: ConfigRef; jsonFile: AbsoluteFile): bool">changeDetectedViaJsonBuildInstructions(conf: ConfigRef; jsonFile: AbsoluteFile): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">completeCfilePath
|
||||
<li><a class="reference" href="#completeCfilePath%2CConfigRef%2CAbsoluteFile%2Cbool" title="completeCfilePath(conf: ConfigRef; cfile: AbsoluteFile;
|
||||
createSubDir: bool = true): AbsoluteFile">completeCfilePath(conf: ConfigRef; cfile: AbsoluteFile;
|
||||
createSubDir: bool = true): AbsoluteFile</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">execExternalProgram
|
||||
<li><a class="reference" href="#execExternalProgram%2CConfigRef%2Cstring" title="execExternalProgram(conf: ConfigRef; cmd: string; msg = hintExecuting)">execExternalProgram(conf: ConfigRef; cmd: string; msg = hintExecuting)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getCompileCFileCmd
|
||||
<li><a class="reference" href="#getCompileCFileCmd%2CConfigRef%2CCfile" title="getCompileCFileCmd(conf: ConfigRef; cfile: Cfile; isMainFile = false;
|
||||
produceOutput = false): string">getCompileCFileCmd(conf: ConfigRef; cfile: Cfile; isMainFile = false;
|
||||
produceOutput = false): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initVars
|
||||
<li><a class="reference" href="#initVars%2CConfigRef" title="initVars(conf: ConfigRef)">initVars(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isVSCompatible
|
||||
<li><a class="reference" href="#isVSCompatible%2CConfigRef" title="isVSCompatible(conf: ConfigRef): bool">isVSCompatible(conf: ConfigRef): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">jsonBuildInstructionsFile
|
||||
<li><a class="reference" href="#jsonBuildInstructionsFile%2CConfigRef" title="jsonBuildInstructionsFile(conf: ConfigRef): AbsoluteFile">jsonBuildInstructionsFile(conf: ConfigRef): AbsoluteFile</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">nameToCC
|
||||
<li><a class="reference" href="#nameToCC%2Cstring" title="nameToCC(name: string): TSystemCC">nameToCC(name: string): TSystemCC</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">resetCompilationLists
|
||||
<li><a class="reference" href="#resetCompilationLists%2CConfigRef" title="resetCompilationLists(conf: ConfigRef)">resetCompilationLists(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">runJsonBuildInstructions
|
||||
<li><a class="reference" href="#runJsonBuildInstructions%2CConfigRef%2CAbsoluteFile" title="runJsonBuildInstructions(conf: ConfigRef; jsonFile: AbsoluteFile)">runJsonBuildInstructions(conf: ConfigRef; jsonFile: AbsoluteFile)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">setCC
|
||||
<li><a class="reference" href="#setCC%2CConfigRef%2Cstring%2CTLineInfo" title="setCC(conf: ConfigRef; ccname: string; info: TLineInfo)">setCC(conf: ConfigRef; ccname: string; info: TLineInfo)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">toObjFile
|
||||
<li><a class="reference" href="#toObjFile%2CConfigRef%2CAbsoluteFile" title="toObjFile(conf: ConfigRef; filename: AbsoluteFile): AbsoluteFile">toObjFile(conf: ConfigRef; filename: AbsoluteFile): AbsoluteFile</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeJsonBuildInstructions
|
||||
<li><a class="reference" href="#writeJsonBuildInstructions%2CConfigRef%2CStringTableRef" title="writeJsonBuildInstructions(conf: ConfigRef; deps: StringTableRef)">writeJsonBuildInstructions(conf: ConfigRef; deps: StringTableRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeMapping
|
||||
<li><a class="reference" href="#writeMapping%2CConfigRef%2CRope" title="writeMapping(conf: ConfigRef; symbolMapping: Rope)">writeMapping(conf: ConfigRef; symbolMapping: Rope)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ropes.html">ropes</a>, <a class="reference external" href="platform.html">platform</a>, <a class="reference external" href="condsyms.html">condsyms</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="modulepaths.html">modulepaths</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="TInfoCC">
|
||||
<dt><pre><a href="#TInfoCC"><span class="Identifier">TInfoCC</span></a> <span class="Other">=</span> <span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">objExt</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">optSpeed</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">optSize</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span>
|
||||
<span class="Identifier">compilerExe</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">cppCompiler</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">compileTmpl</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span>
|
||||
<span class="Identifier">buildGui</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">buildDll</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">buildLib</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span>
|
||||
<span class="Identifier">linkerExe</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">linkTmpl</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">includeCmd</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span>
|
||||
<span class="Identifier">linkDirCmd</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">linkLibCmd</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">debug</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span>
|
||||
<span class="Identifier">pic</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">asmStmtFrmt</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">structStmtFmt</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span>
|
||||
<span class="Identifier">produceAsm</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">cppXsupport</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">props</span><span class="Other">:</span> <a href="#TInfoCCProps"><span class="Identifier">TInfoCCProps</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L38" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L38" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TInfoCCProp">
|
||||
<dt><pre><a href="#TInfoCCProp"><span class="Identifier">TInfoCCProp</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">hasSwitchRange</span><span class="Other">,</span> <span class="Identifier">hasComputedGoto</span><span class="Other">,</span> <span class="Identifier">hasCpp</span><span class="Other">,</span> <span class="Identifier">hasAssume</span><span class="Other">,</span> <span class="Identifier">hasGcGuard</span><span class="Other">,</span> <span class="Identifier">hasGnuAsm</span><span class="Other">,</span>
|
||||
<span class="Identifier">hasDeclspec</span><span class="Other">,</span> <span class="Identifier">hasAttribute</span><span class="Other">,</span> <span class="Identifier">hasBuiltinUnreachable</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L27" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L27" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TInfoCCProps">
|
||||
<dt><pre><a href="#TInfoCCProps"><span class="Identifier">TInfoCCProps</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="#TInfoCCProp"><span class="Identifier">TInfoCCProp</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L37" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L37" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="CC">
|
||||
<dt><pre><a href="#CC"><span class="Identifier">CC</span></a><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="Identifier">succ</span><span class="Other">(</span><span class="Identifier">low</span><span class="Other">(</span><a href="options.html#TSystemCC"><span class="Identifier">TSystemCC</span></a><span class="Other">)</span><span class="Other">)</span> <span class="Operator">..</span> <span class="Identifier">high</span><span class="Other">(</span><a href="options.html#TSystemCC"><span class="Identifier">TSystemCC</span></a><span class="Other">)</span><span class="Other">,</span> <a href="#TInfoCC"><span class="Identifier">TInfoCC</span></a><span class="Other">]</span> <span class="Other">=</span> <span class="Other">[</span><span class="Other">(</span><span class="StringLit">"gcc"</span><span class="Other">,</span> <span class="StringLit">"o"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -O3 -fno-ident"</span><span class="Other">,</span> <span class="StringLit">" -Os -fno-ident"</span><span class="Other">,</span> <span class="StringLit">"gcc"</span><span class="Other">,</span> <span class="StringLit">"g++"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-c $options $include -o $objfile $file"</span><span class="Other">,</span> <span class="StringLit">" -mwindows"</span><span class="Other">,</span> <span class="StringLit">" -shared"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"ar rcs $libfile $objfiles"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$buildgui $builddll -o $exefile $objfiles $options"</span><span class="Other">,</span> <span class="StringLit">" -I"</span><span class="Other">,</span> <span class="StringLit">" -L"</span><span class="Other">,</span> <span class="StringLit">" -l$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-fPIC"</span><span class="Other">,</span> <span class="StringLit">"__asm__($1);$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $3 $2 "</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-std=gnu++17 -funsigned-char"</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasSwitchRange</span><span class="Other">,</span> <span class="DecNumber">hasComputedGoto</span><span class="Other">,</span> <span class="DecNumber">hasCpp</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasGcGuard</span><span class="Other">,</span> <span class="DecNumber">hasGnuAsm</span><span class="Other">,</span> <span class="DecNumber">hasAttribute</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasBuiltinUnreachable</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"switch_gcc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"o"</span><span class="Other">,</span> <span class="StringLit">" -O3 "</span><span class="Other">,</span> <span class="StringLit">" -Os "</span><span class="Other">,</span> <span class="StringLit">"aarch64-none-elf-gcc"</span><span class="Other">,</span> <span class="StringLit">"aarch64-none-elf-g++"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-w -MMD -MP -MF $dfile -c $options $include -o $objfile $file"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -mwindows"</span><span class="Other">,</span> <span class="StringLit">" -shared"</span><span class="Other">,</span> <span class="StringLit">"aarch64-none-elf-gcc-ar rcs $libfile $objfiles"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"aarch64-none-elf-gcc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$buildgui $builddll -Wl,-Map,$mapfile -o $exefile $objfiles $options"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -I"</span><span class="Other">,</span> <span class="StringLit">" -L"</span><span class="Other">,</span> <span class="StringLit">" -l$1"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-fPIE"</span><span class="Other">,</span> <span class="StringLit">"asm($1);$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $3 $2 "</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-std=gnu++17 -funsigned-char"</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasSwitchRange</span><span class="Other">,</span> <span class="DecNumber">hasComputedGoto</span><span class="Other">,</span> <span class="DecNumber">hasCpp</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasGcGuard</span><span class="Other">,</span> <span class="DecNumber">hasGnuAsm</span><span class="Other">,</span> <span class="DecNumber">hasAttribute</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasBuiltinUnreachable</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"llvm_gcc"</span><span class="Other">,</span> <span class="StringLit">"o"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -O3 -fno-ident"</span><span class="Other">,</span> <span class="StringLit">" -Os -fno-ident"</span><span class="Other">,</span> <span class="StringLit">"llvm-gcc"</span><span class="Other">,</span> <span class="StringLit">"llvm-g++"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-c $options $include -o $objfile $file"</span><span class="Other">,</span> <span class="StringLit">" -mwindows"</span><span class="Other">,</span> <span class="StringLit">" -shared"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"llvm-ar rcs $libfile $objfiles"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$buildgui $builddll -o $exefile $objfiles $options"</span><span class="Other">,</span> <span class="StringLit">" -I"</span><span class="Other">,</span> <span class="StringLit">" -L"</span><span class="Other">,</span> <span class="StringLit">" -l$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-fPIC"</span><span class="Other">,</span> <span class="StringLit">"__asm__($1);$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $3 $2 "</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-std=gnu++17 -funsigned-char"</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasSwitchRange</span><span class="Other">,</span> <span class="DecNumber">hasComputedGoto</span><span class="Other">,</span> <span class="DecNumber">hasCpp</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasGcGuard</span><span class="Other">,</span> <span class="DecNumber">hasGnuAsm</span><span class="Other">,</span> <span class="DecNumber">hasAttribute</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasBuiltinUnreachable</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"clang"</span><span class="Other">,</span> <span class="StringLit">"o"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -O3 -fno-ident"</span><span class="Other">,</span> <span class="StringLit">" -Os -fno-ident"</span><span class="Other">,</span> <span class="StringLit">"clang"</span><span class="Other">,</span> <span class="StringLit">"clang++"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-c $options $include -o $objfile $file"</span><span class="Other">,</span> <span class="StringLit">" -mwindows"</span><span class="Other">,</span> <span class="StringLit">" -shared"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"llvm-ar rcs $libfile $objfiles"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$buildgui $builddll -o $exefile $objfiles $options"</span><span class="Other">,</span> <span class="StringLit">" -I"</span><span class="Other">,</span> <span class="StringLit">" -L"</span><span class="Other">,</span> <span class="StringLit">" -l$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-fPIC"</span><span class="Other">,</span> <span class="StringLit">"__asm__($1);$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $3 $2 "</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-std=gnu++17 -funsigned-char"</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasSwitchRange</span><span class="Other">,</span> <span class="DecNumber">hasComputedGoto</span><span class="Other">,</span> <span class="DecNumber">hasCpp</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasGcGuard</span><span class="Other">,</span> <span class="DecNumber">hasGnuAsm</span><span class="Other">,</span> <span class="DecNumber">hasAttribute</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasBuiltinUnreachable</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"bcc"</span><span class="Other">,</span> <span class="StringLit">"obj"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -O3 -6 "</span><span class="Other">,</span> <span class="StringLit">" -O1 -6 "</span><span class="Other">,</span> <span class="StringLit">"bcc32c"</span><span class="Other">,</span> <span class="StringLit">"cpp32c"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-c $options $include -o$objfile $file"</span><span class="Other">,</span> <span class="StringLit">" -tW"</span><span class="Other">,</span> <span class="StringLit">" -tWD"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"bcc32"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$options $buildgui $builddll -e$exefile $objfiles"</span><span class="Other">,</span> <span class="StringLit">" -I"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="StringLit">"__asm{$n$1$n}$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $2"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="Other">{</span><span class="DecNumber">hasSwitchRange</span><span class="Other">,</span> <span class="DecNumber">hasComputedGoto</span><span class="Other">,</span> <span class="DecNumber">hasCpp</span><span class="Other">,</span> <span class="DecNumber">hasGcGuard</span><span class="Other">,</span> <span class="DecNumber">hasAttribute</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span>
|
||||
<span class="StringLit">"vcc"</span><span class="Other">,</span> <span class="StringLit">"obj"</span><span class="Other">,</span> <span class="StringLit">" /Ogityb2 "</span><span class="Other">,</span> <span class="StringLit">" /O1 "</span><span class="Other">,</span> <span class="StringLit">"cl"</span><span class="Other">,</span> <span class="StringLit">"cl"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"/c$vccplatform $options $include /nologo /Fo$objfile $file"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" /SUBSYSTEM:WINDOWS user32.lib "</span><span class="Other">,</span> <span class="StringLit">" /LD"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"vccexe --command:lib$vccplatform /nologo /OUT:$libfile $objfiles"</span><span class="Other">,</span> <span class="StringLit">"cl"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" /I"</span><span class="Other">,</span> <span class="StringLit">" /link /LIBPATH:"</span><span class="Other">,</span> <span class="StringLit">" $1.lib"</span><span class="Other">,</span> <span class="StringLit">" /RTC1 /Z7 "</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"__asm{$n$1$n}$n"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$3$n$1 $2"</span><span class="Other">,</span> <span class="StringLit">"/Fa$asmfile"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasCpp</span><span class="Other">,</span> <span class="DecNumber">hasAssume</span><span class="Other">,</span> <span class="DecNumber">hasDeclspec</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"tcc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"o"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"tcc"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-c $options $include -o $objfile $file"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-Wl,-subsystem=gui"</span><span class="Other">,</span> <span class="StringLit">" -shared"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"tcc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-o $exefile $options $buildgui $builddll $objfiles"</span><span class="Other">,</span> <span class="StringLit">" -I"</span><span class="Other">,</span> <span class="StringLit">" -L"</span><span class="Other">,</span> <span class="StringLit">" -l$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -g "</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"asm($1);$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $2"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="Other">{</span><span class="DecNumber">hasSwitchRange</span><span class="Other">,</span> <span class="DecNumber">hasComputedGoto</span><span class="Other">,</span> <span class="DecNumber">hasGnuAsm</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"env"</span><span class="Other">,</span> <span class="StringLit">"o"</span><span class="Other">,</span> <span class="StringLit">" -O3 "</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -O1 "</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-c $ccenvflags $options $include -o $objfile $file"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -shared "</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-o $exefile $buildgui $builddll $objfiles $options"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -I"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"__asm{$n$1$n}$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $2"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasGnuAsm</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span>
|
||||
<span class="StringLit">"icl"</span><span class="Other">,</span> <span class="StringLit">"obj"</span><span class="Other">,</span> <span class="StringLit">" /Ogityb2 "</span><span class="Other">,</span> <span class="StringLit">" /O1 "</span><span class="Other">,</span> <span class="StringLit">"icl"</span><span class="Other">,</span> <span class="StringLit">"cl"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"/c$vccplatform $options $include /nologo /Fo$objfile $file"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" /SUBSYSTEM:WINDOWS user32.lib "</span><span class="Other">,</span> <span class="StringLit">" /LD"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"vccexe --command:lib$vccplatform /nologo /OUT:$libfile $objfiles"</span><span class="Other">,</span> <span class="StringLit">"icl"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" /I"</span><span class="Other">,</span> <span class="StringLit">" /link /LIBPATH:"</span><span class="Other">,</span> <span class="StringLit">" $1.lib"</span><span class="Other">,</span> <span class="StringLit">" /RTC1 /Z7 "</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"__asm{$n$1$n}$n"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$3$n$1 $2"</span><span class="Other">,</span> <span class="StringLit">"/Fa$asmfile"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasCpp</span><span class="Other">,</span> <span class="DecNumber">hasAssume</span><span class="Other">,</span> <span class="DecNumber">hasDeclspec</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"icc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"o"</span><span class="Other">,</span> <span class="StringLit">" -O3 -fno-ident"</span><span class="Other">,</span> <span class="StringLit">" -Os -fno-ident"</span><span class="Other">,</span> <span class="StringLit">"icc"</span><span class="Other">,</span> <span class="StringLit">"g++"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-c $options $include -o $objfile $file"</span><span class="Other">,</span> <span class="StringLit">" -mwindows"</span><span class="Other">,</span> <span class="StringLit">" -shared"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"ar rcs $libfile $objfiles"</span><span class="Other">,</span> <span class="StringLit">"icc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$buildgui $builddll -o $exefile $objfiles $options"</span><span class="Other">,</span> <span class="StringLit">" -I"</span><span class="Other">,</span> <span class="StringLit">" -L"</span><span class="Other">,</span> <span class="StringLit">" -l$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-fPIC"</span><span class="Other">,</span> <span class="StringLit">"__asm__($1);$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $3 $2 "</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-std=gnu++17 -funsigned-char"</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasSwitchRange</span><span class="Other">,</span> <span class="DecNumber">hasComputedGoto</span><span class="Other">,</span> <span class="DecNumber">hasCpp</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasGcGuard</span><span class="Other">,</span> <span class="DecNumber">hasGnuAsm</span><span class="Other">,</span> <span class="DecNumber">hasAttribute</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasBuiltinUnreachable</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"clang_cl"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"obj"</span><span class="Other">,</span> <span class="StringLit">" /Ogityb2 "</span><span class="Other">,</span> <span class="StringLit">" /O1 "</span><span class="Other">,</span> <span class="StringLit">"clang-cl"</span><span class="Other">,</span> <span class="StringLit">"clang-cl"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"/c$vccplatform $options $include /nologo /Fo$objfile $file"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" /SUBSYSTEM:WINDOWS user32.lib "</span><span class="Other">,</span> <span class="StringLit">" /LD"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"vccexe --command:lib$vccplatform /nologo /OUT:$libfile $objfiles"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"clang-cl"</span><span class="Other">,</span> <span class="StringLit">"-fuse-ld=lld $builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" /I"</span><span class="Other">,</span> <span class="StringLit">" /link /LIBPATH:"</span><span class="Other">,</span> <span class="StringLit">" $1.lib"</span><span class="Other">,</span> <span class="StringLit">" /RTC1 /Z7 "</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"__asm{$n$1$n}$n"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$3$n$1 $2"</span><span class="Other">,</span> <span class="StringLit">"/Fa$asmfile"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasCpp</span><span class="Other">,</span> <span class="DecNumber">hasAssume</span><span class="Other">,</span> <span class="DecNumber">hasDeclspec</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"hipcc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"o"</span><span class="Other">,</span> <span class="StringLit">" -O3 -fno-ident"</span><span class="Other">,</span> <span class="StringLit">" -Os -fno-ident"</span><span class="Other">,</span> <span class="StringLit">"hipcc"</span><span class="Other">,</span> <span class="StringLit">"hipcc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-c $options $include -o $objfile $file"</span><span class="Other">,</span> <span class="StringLit">" -mwindows"</span><span class="Other">,</span> <span class="StringLit">" -shared"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"llvm-ar rcs $libfile $objfiles"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$buildgui $builddll -o $exefile $objfiles $options"</span><span class="Other">,</span> <span class="StringLit">" -I"</span><span class="Other">,</span> <span class="StringLit">" -L"</span><span class="Other">,</span> <span class="StringLit">" -l$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-fPIC"</span><span class="Other">,</span> <span class="StringLit">"__asm__($1);$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $3 $2 "</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-std=gnu++17 -funsigned-char"</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasSwitchRange</span><span class="Other">,</span> <span class="DecNumber">hasComputedGoto</span><span class="Other">,</span> <span class="DecNumber">hasCpp</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasGcGuard</span><span class="Other">,</span> <span class="DecNumber">hasGnuAsm</span><span class="Other">,</span> <span class="DecNumber">hasAttribute</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasBuiltinUnreachable</span><span class="Other">}</span><span class="Other">)</span><span class="Other">,</span> <span class="Other">(</span><span class="StringLit">"nvcc"</span><span class="Other">,</span> <span class="StringLit">"o"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -O3 -fno-ident"</span><span class="Other">,</span> <span class="StringLit">" -Os -fno-ident"</span><span class="Other">,</span> <span class="StringLit">"nvcc"</span><span class="Other">,</span> <span class="StringLit">"nvcc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-c -x cu -Xcompiler=\"$options\" $include -o $objfile $file"</span><span class="Other">,</span> <span class="StringLit">" -mwindows"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -shared"</span><span class="Other">,</span> <span class="StringLit">"ar rcs $libfile $objfiles"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$buildgui $builddll -o $exefile $objfiles -Xcompiler=\"$options\""</span><span class="Other">,</span> <span class="StringLit">" -I"</span><span class="Other">,</span>
|
||||
<span class="StringLit">" -L"</span><span class="Other">,</span> <span class="StringLit">" -l$1"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span> <span class="StringLit">"-fPIC"</span><span class="Other">,</span> <span class="StringLit">"__asm__($1);$n"</span><span class="Other">,</span> <span class="StringLit">"$1 $3 $2 "</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"-std=gnu++17 -funsigned-char"</span><span class="Other">,</span> <span class="Other">{</span><span class="DecNumber">hasSwitchRange</span><span class="Other">,</span> <span class="DecNumber">hasComputedGoto</span><span class="Other">,</span> <span class="DecNumber">hasCpp</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasGcGuard</span><span class="Other">,</span> <span class="DecNumber">hasGnuAsm</span><span class="Other">,</span> <span class="DecNumber">hasAttribute</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hasBuiltinUnreachable</span><span class="Other">}</span><span class="Other">)</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L297" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L297" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="hExt">
|
||||
<dt><pre><a href="#hExt"><span class="Identifier">hExt</span></a> <span class="Other">=</span> <span class="StringLit">".h"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L312" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L312" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="addCompileOption-procs-all">
|
||||
<div id="addCompileOption,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addCompileOption%2CConfigRef%2Cstring"><span class="Identifier">addCompileOption</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">option</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L381" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L381" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addCompileOptionCmd-procs-all">
|
||||
<div id="addCompileOptionCmd,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addCompileOptionCmd%2CConfigRef%2Cstring"><span class="Identifier">addCompileOptionCmd</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">option</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L388" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L388" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addExternalFileToCompile-procs-all">
|
||||
<div id="addExternalFileToCompile,ConfigRef,Cfile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addExternalFileToCompile%2CConfigRef%2CCfile"><span class="Identifier">addExternalFileToCompile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">c</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="options.html#Cfile"><span class="Identifier">Cfile</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">EOFError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L691" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L691" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="addExternalFileToCompile,ConfigRef,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addExternalFileToCompile%2CConfigRef%2CAbsoluteFile"><span class="Identifier">addExternalFileToCompile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">filename</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">EOFError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L703" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L703" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addExternalFileToLink-procs-all">
|
||||
<div id="addExternalFileToLink,ConfigRef,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addExternalFileToLink%2CConfigRef%2CAbsoluteFile"><span class="Identifier">addExternalFileToLink</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">filename</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L427" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L427" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addFileToCompile-procs-all">
|
||||
<div id="addFileToCompile,ConfigRef,Cfile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addFileToCompile%2CConfigRef%2CCfile"><span class="Identifier">addFileToCompile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">cf</span><span class="Other">:</span> <a href="options.html#Cfile"><span class="Identifier">Cfile</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L409" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L409" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addLinkOption-procs-all">
|
||||
<div id="addLinkOption,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addLinkOption%2CConfigRef%2Cstring"><span class="Identifier">addLinkOption</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">option</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L378" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L378" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addLinkOptionCmd-procs-all">
|
||||
<div id="addLinkOptionCmd,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addLinkOptionCmd%2CConfigRef%2Cstring"><span class="Identifier">addLinkOptionCmd</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">option</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L385" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L385" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addLocalCompileOption-procs-all">
|
||||
<div id="addLocalCompileOption,ConfigRef,string,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addLocalCompileOption%2CConfigRef%2Cstring%2CAbsoluteFile"><span class="Identifier">addLocalCompileOption</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">option</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span>
|
||||
<span class="Identifier">nimfile</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L412" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L412" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="callCCompiler-procs-all">
|
||||
<div id="callCCompiler,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#callCCompiler%2CConfigRef"><span class="Identifier">callCCompiler</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L971" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L971" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="ccHasSaneOverflow-procs-all">
|
||||
<div id="ccHasSaneOverflow,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#ccHasSaneOverflow%2CConfigRef"><span class="Identifier">ccHasSaneOverflow</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L561" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L561" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="changeDetectedViaJsonBuildInstructions-procs-all">
|
||||
<div id="changeDetectedViaJsonBuildInstructions,ConfigRef,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#changeDetectedViaJsonBuildInstructions%2CConfigRef%2CAbsoluteFile"><span class="Identifier">changeDetectedViaJsonBuildInstructions</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">jsonFile</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L1122" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L1122" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="completeCfilePath-procs-all">
|
||||
<div id="completeCfilePath,ConfigRef,AbsoluteFile,bool">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#completeCfilePath%2CConfigRef%2CAbsoluteFile%2Cbool"><span class="Identifier">completeCfilePath</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">cfile</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">createSubDir</span><span class="Other">:</span> <span class="Identifier">bool</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Generate the absolute file path to the generated modules.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L400" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L400" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="execExternalProgram-procs-all">
|
||||
<div id="execExternalProgram,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#execExternalProgram%2CConfigRef%2Cstring"><span class="Identifier">execExternalProgram</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">cmd</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">msg</span> <span class="Other">=</span> <span class="Identifier">hintExecuting</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ExecIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L434" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L434" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getCompileCFileCmd-procs-all">
|
||||
<div id="getCompileCFileCmd,ConfigRef,Cfile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getCompileCFileCmd%2CConfigRef%2CCfile"><span class="Identifier">getCompileCFileCmd</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">cfile</span><span class="Other">:</span> <a href="options.html#Cfile"><span class="Identifier">Cfile</span></a><span class="Other">;</span> <span class="Identifier">isMainFile</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">;</span>
|
||||
<span class="Identifier">produceOutput</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L579" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L579" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initVars-procs-all">
|
||||
<div id="initVars,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initVars%2CConfigRef"><span class="Identifier">initVars</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L391" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L391" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isVSCompatible-procs-all">
|
||||
<div id="isVSCompatible,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isVSCompatible%2CConfigRef"><span class="Identifier">isVSCompatible</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L333" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L333" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="jsonBuildInstructionsFile-procs-all">
|
||||
<div id="jsonBuildInstructionsFile,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#jsonBuildInstructionsFile%2CConfigRef"><span class="Identifier">jsonBuildInstructionsFile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L1063" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L1063" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="nameToCC-procs-all">
|
||||
<div id="nameToCC,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#nameToCC%2Cstring"><span class="Identifier">nameToCC</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="options.html#TSystemCC"><span class="Identifier">TSystemCC</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Returns the kind of compiler referred to by <tt class="docutils literal"><span class="pre"><span class="Identifier">name</span></span></tt>, or ccNone if the name doesn't refer to any known compiler.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L319" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L319" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="resetCompilationLists-procs-all">
|
||||
<div id="resetCompilationLists,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#resetCompilationLists%2CConfigRef"><span class="Identifier">resetCompilationLists</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L419" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L419" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="runJsonBuildInstructions-procs-all">
|
||||
<div id="runJsonBuildInstructions,ConfigRef,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#runJsonBuildInstructions%2CConfigRef%2CAbsoluteFile"><span class="Identifier">runJsonBuildInstructions</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">jsonFile</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L1142" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L1142" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="setCC-procs-all">
|
||||
<div id="setCC,ConfigRef,string,TLineInfo">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#setCC%2CConfigRef%2Cstring%2CTLineInfo"><span class="Identifier">setCC</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">ccname</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L364" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L364" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="toObjFile-procs-all">
|
||||
<div id="toObjFile,ConfigRef,AbsoluteFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toObjFile%2CConfigRef%2CAbsoluteFile"><span class="Identifier">toObjFile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">filename</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L405" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L405" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeJsonBuildInstructions-procs-all">
|
||||
<div id="writeJsonBuildInstructions,ConfigRef,StringTableRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeJsonBuildInstructions%2CConfigRef%2CStringTableRef"><span class="Identifier">writeJsonBuildInstructions</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">deps</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L1087" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L1087" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeMapping-procs-all">
|
||||
<div id="writeMapping,ConfigRef,Rope">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeMapping%2CConfigRef%2CRope"><span class="Identifier">writeMapping</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">symbolMapping</span><span class="Other">:</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L1171" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L1171" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:08 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
41
compiler/extccomp.idx
Normal file
41
compiler/extccomp.idx
Normal file
@@ -0,0 +1,41 @@
|
||||
nimTitle extccomp extccomp.html module extccomp 0
|
||||
nim hasSwitchRange extccomp.html#hasSwitchRange TInfoCCProp.hasSwitchRange 27
|
||||
nim hasComputedGoto extccomp.html#hasComputedGoto TInfoCCProp.hasComputedGoto 27
|
||||
nim hasCpp extccomp.html#hasCpp TInfoCCProp.hasCpp 27
|
||||
nim hasAssume extccomp.html#hasAssume TInfoCCProp.hasAssume 27
|
||||
nim hasGcGuard extccomp.html#hasGcGuard TInfoCCProp.hasGcGuard 27
|
||||
nim hasGnuAsm extccomp.html#hasGnuAsm TInfoCCProp.hasGnuAsm 27
|
||||
nim hasDeclspec extccomp.html#hasDeclspec TInfoCCProp.hasDeclspec 27
|
||||
nim hasAttribute extccomp.html#hasAttribute TInfoCCProp.hasAttribute 27
|
||||
nim hasBuiltinUnreachable extccomp.html#hasBuiltinUnreachable TInfoCCProp.hasBuiltinUnreachable 27
|
||||
nim TInfoCCProp extccomp.html#TInfoCCProp enum TInfoCCProp 27
|
||||
nim TInfoCCProps extccomp.html#TInfoCCProps type TInfoCCProps 37
|
||||
nim TInfoCC extccomp.html#TInfoCC tuple TInfoCC 38
|
||||
nim CC extccomp.html#CC const CC 297
|
||||
nim hExt extccomp.html#hExt const hExt 312
|
||||
nim nameToCC extccomp.html#nameToCC,string proc nameToCC(name: string): TSystemCC 319
|
||||
nim isVSCompatible extccomp.html#isVSCompatible,ConfigRef proc isVSCompatible(conf: ConfigRef): bool 333
|
||||
nim setCC extccomp.html#setCC,ConfigRef,string,TLineInfo proc setCC(conf: ConfigRef; ccname: string; info: TLineInfo) 364
|
||||
nim addLinkOption extccomp.html#addLinkOption,ConfigRef,string proc addLinkOption(conf: ConfigRef; option: string) 378
|
||||
nim addCompileOption extccomp.html#addCompileOption,ConfigRef,string proc addCompileOption(conf: ConfigRef; option: string) 381
|
||||
nim addLinkOptionCmd extccomp.html#addLinkOptionCmd,ConfigRef,string proc addLinkOptionCmd(conf: ConfigRef; option: string) 385
|
||||
nim addCompileOptionCmd extccomp.html#addCompileOptionCmd,ConfigRef,string proc addCompileOptionCmd(conf: ConfigRef; option: string) 388
|
||||
nim initVars extccomp.html#initVars,ConfigRef proc initVars(conf: ConfigRef) 391
|
||||
nim completeCfilePath extccomp.html#completeCfilePath,ConfigRef,AbsoluteFile,bool proc completeCfilePath(conf: ConfigRef; cfile: AbsoluteFile;\n createSubDir: bool = true): AbsoluteFile 400
|
||||
nim toObjFile extccomp.html#toObjFile,ConfigRef,AbsoluteFile proc toObjFile(conf: ConfigRef; filename: AbsoluteFile): AbsoluteFile 405
|
||||
nim addFileToCompile extccomp.html#addFileToCompile,ConfigRef,Cfile proc addFileToCompile(conf: ConfigRef; cf: Cfile) 409
|
||||
nim addLocalCompileOption extccomp.html#addLocalCompileOption,ConfigRef,string,AbsoluteFile proc addLocalCompileOption(conf: ConfigRef; option: string; nimfile: AbsoluteFile) 412
|
||||
nim resetCompilationLists extccomp.html#resetCompilationLists,ConfigRef proc resetCompilationLists(conf: ConfigRef) 419
|
||||
nim addExternalFileToLink extccomp.html#addExternalFileToLink,ConfigRef,AbsoluteFile proc addExternalFileToLink(conf: ConfigRef; filename: AbsoluteFile) 427
|
||||
nim execExternalProgram extccomp.html#execExternalProgram,ConfigRef,string proc execExternalProgram(conf: ConfigRef; cmd: string; msg = hintExecuting) 434
|
||||
nim ccHasSaneOverflow extccomp.html#ccHasSaneOverflow,ConfigRef proc ccHasSaneOverflow(conf: ConfigRef): bool 561
|
||||
nim getCompileCFileCmd extccomp.html#getCompileCFileCmd,ConfigRef,Cfile proc getCompileCFileCmd(conf: ConfigRef; cfile: Cfile; isMainFile = false;\n produceOutput = false): string 579
|
||||
nim addExternalFileToCompile extccomp.html#addExternalFileToCompile,ConfigRef,Cfile proc addExternalFileToCompile(conf: ConfigRef; c: var Cfile) 691
|
||||
nim addExternalFileToCompile extccomp.html#addExternalFileToCompile,ConfigRef,AbsoluteFile proc addExternalFileToCompile(conf: ConfigRef; filename: AbsoluteFile) 703
|
||||
nim callCCompiler extccomp.html#callCCompiler,ConfigRef proc callCCompiler(conf: ConfigRef) 971
|
||||
nim jsonBuildInstructionsFile extccomp.html#jsonBuildInstructionsFile,ConfigRef proc jsonBuildInstructionsFile(conf: ConfigRef): AbsoluteFile 1063
|
||||
nim writeJsonBuildInstructions extccomp.html#writeJsonBuildInstructions,ConfigRef,StringTableRef proc writeJsonBuildInstructions(conf: ConfigRef; deps: StringTableRef) 1087
|
||||
nim changeDetectedViaJsonBuildInstructions extccomp.html#changeDetectedViaJsonBuildInstructions,ConfigRef,AbsoluteFile proc changeDetectedViaJsonBuildInstructions(conf: ConfigRef; jsonFile: AbsoluteFile): bool 1122
|
||||
nim runJsonBuildInstructions extccomp.html#runJsonBuildInstructions,ConfigRef,AbsoluteFile proc runJsonBuildInstructions(conf: ConfigRef; jsonFile: AbsoluteFile) 1142
|
||||
nim writeMapping extccomp.html#writeMapping,ConfigRef,Rope proc writeMapping(conf: ConfigRef; symbolMapping: Rope) 1171
|
||||
nimgrp addexternalfiletocompile extccomp.html#addExternalFileToCompile-procs-all proc 691
|
||||
127
compiler/filter_tmpl.html
Normal file
127
compiler/filter_tmpl.html
Normal file
@@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>filter_tmpl</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">filter_tmpl</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">filterTmpl
|
||||
<li><a class="reference" href="#filterTmpl%2CConfigRef%2CPLLStream%2CAbsoluteFile%2CPNode" title="filterTmpl(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;
|
||||
call: PNode): PLLStream">filterTmpl(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;
|
||||
call: PNode): PLLStream</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/filter_tmpl.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filter_tmpl.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="llstream.html">llstream</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="filters.html">filters</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="filterTmpl-procs-all">
|
||||
<div id="filterTmpl,ConfigRef,PLLStream,AbsoluteFile,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#filterTmpl%2CConfigRef%2CPLLStream%2CAbsoluteFile%2CPNode"><span class="Identifier">filterTmpl</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">stdin</span><span class="Other">:</span> <a href="llstream.html#PLLStream"><span class="Identifier">PLLStream</span></a><span class="Other">;</span> <span class="Identifier">filename</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">call</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="llstream.html#PLLStream"><span class="Identifier">PLLStream</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/filter_tmpl.nim#L204" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filter_tmpl.nim#L204" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:08 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/filter_tmpl.idx
Normal file
2
compiler/filter_tmpl.idx
Normal file
@@ -0,0 +1,2 @@
|
||||
nimTitle filter_tmpl filter_tmpl.html module filter_tmpl 0
|
||||
nim filterTmpl filter_tmpl.html#filterTmpl,ConfigRef,PLLStream,AbsoluteFile,PNode proc filterTmpl(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;\n call: PNode): PLLStream 204
|
||||
209
compiler/filters.html
Normal file
209
compiler/filters.html
Normal file
@@ -0,0 +1,209 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>filters</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">filters</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">boolArg
|
||||
<li><a class="reference" href="#boolArg%2CConfigRef%2CPNode%2Cstring%2Cint%2Cbool" title="boolArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: bool): bool">boolArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: bool): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">charArg
|
||||
<li><a class="reference" href="#charArg%2CConfigRef%2CPNode%2Cstring%2Cint%2Cchar" title="charArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: char): char">charArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: char): char</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">filterReplace
|
||||
<li><a class="reference" href="#filterReplace%2CConfigRef%2CPLLStream%2CAbsoluteFile%2CPNode" title="filterReplace(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;
|
||||
call: PNode): PLLStream">filterReplace(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;
|
||||
call: PNode): PLLStream</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">filterStrip
|
||||
<li><a class="reference" href="#filterStrip%2CConfigRef%2CPLLStream%2CAbsoluteFile%2CPNode" title="filterStrip(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;
|
||||
call: PNode): PLLStream">filterStrip(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;
|
||||
call: PNode): PLLStream</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">strArg
|
||||
<li><a class="reference" href="#strArg%2CConfigRef%2CPNode%2Cstring%2Cint%2Cstring" title="strArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: string): string">strArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: string): string</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/filters.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="llstream.html">llstream</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="pathutils.html">pathutils</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="boolArg-procs-all">
|
||||
<div id="boolArg,ConfigRef,PNode,string,int,bool">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#boolArg%2CConfigRef%2CPNode%2Cstring%2Cint%2Cbool"><span class="Identifier">boolArg</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">pos</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">;</span> <span class="Identifier">default</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/filters.nim#L50" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L50" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="charArg-procs-all">
|
||||
<div id="charArg,ConfigRef,PNode,string,int,char">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#charArg%2CConfigRef%2CPNode%2Cstring%2Cint%2Cchar"><span class="Identifier">charArg</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">pos</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">;</span> <span class="Identifier">default</span><span class="Other">:</span> <span class="Identifier">char</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">char</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/filters.nim#L33" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L33" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="filterReplace-procs-all">
|
||||
<div id="filterReplace,ConfigRef,PLLStream,AbsoluteFile,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#filterReplace%2CConfigRef%2CPLLStream%2CAbsoluteFile%2CPNode"><span class="Identifier">filterReplace</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">stdin</span><span class="Other">:</span> <a href="llstream.html#PLLStream"><span class="Identifier">PLLStream</span></a><span class="Other">;</span> <span class="Identifier">filename</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">call</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="llstream.html#PLLStream"><span class="Identifier">PLLStream</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/filters.nim#L73" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L73" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="filterStrip-procs-all">
|
||||
<div id="filterStrip,ConfigRef,PLLStream,AbsoluteFile,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#filterStrip%2CConfigRef%2CPLLStream%2CAbsoluteFile%2CPNode"><span class="Identifier">filterStrip</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">stdin</span><span class="Other">:</span> <a href="llstream.html#PLLStream"><span class="Identifier">PLLStream</span></a><span class="Other">;</span> <span class="Identifier">filename</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">call</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="llstream.html#PLLStream"><span class="Identifier">PLLStream</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/filters.nim#L59" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L59" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="strArg-procs-all">
|
||||
<div id="strArg,ConfigRef,PNode,string,int,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#strArg%2CConfigRef%2CPNode%2Cstring%2Cint%2Cstring"><span class="Identifier">strArg</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">pos</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">;</span> <span class="Identifier">default</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/filters.nim#L42" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L42" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:08 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
6
compiler/filters.idx
Normal file
6
compiler/filters.idx
Normal file
@@ -0,0 +1,6 @@
|
||||
nimTitle filters filters.html module filters 0
|
||||
nim charArg filters.html#charArg,ConfigRef,PNode,string,int,char proc charArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: char): char 33
|
||||
nim strArg filters.html#strArg,ConfigRef,PNode,string,int,string proc strArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: string): string 42
|
||||
nim boolArg filters.html#boolArg,ConfigRef,PNode,string,int,bool proc boolArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: bool): bool 50
|
||||
nim filterStrip filters.html#filterStrip,ConfigRef,PLLStream,AbsoluteFile,PNode proc filterStrip(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;\n call: PNode): PLLStream 59
|
||||
nim filterReplace filters.html#filterReplace,ConfigRef,PLLStream,AbsoluteFile,PNode proc filterReplace(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;\n call: PNode): PLLStream 73
|
||||
127
compiler/gorgeimpl.html
Normal file
127
compiler/gorgeimpl.html
Normal file
@@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>gorgeimpl</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">gorgeimpl</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">opGorge
|
||||
<li><a class="reference" href="#opGorge%2Cstring%2Cstring%2Cstring%2CTLineInfo%2CConfigRef" title="opGorge(cmd, input, cache: string; info: TLineInfo; conf: ConfigRef): (string,
|
||||
int)">opGorge(cmd, input, cache: string; info: TLineInfo; conf: ConfigRef): (string,
|
||||
int)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/gorgeimpl.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/gorgeimpl.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Module that implements <tt class="docutils literal"><span class="pre">gorge</span></tt> for the compiler.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="opGorge-procs-all">
|
||||
<div id="opGorge,string,string,string,TLineInfo,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#opGorge%2Cstring%2Cstring%2Cstring%2CTLineInfo%2CConfigRef"><span class="Identifier">opGorge</span></a><span class="Other">(</span><span class="Identifier">cmd</span><span class="Other">,</span> <span class="Identifier">input</span><span class="Other">,</span> <span class="Identifier">cache</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Other">(</span>
|
||||
<span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">int</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/gorgeimpl.nim#L31" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/gorgeimpl.nim#L31" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:12 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/gorgeimpl.idx
Normal file
2
compiler/gorgeimpl.idx
Normal file
@@ -0,0 +1,2 @@
|
||||
nimTitle gorgeimpl gorgeimpl.html module gorgeimpl 0
|
||||
nim opGorge gorgeimpl.html#opGorge,string,string,string,TLineInfo,ConfigRef proc opGorge(cmd, input, cache: string; info: TLineInfo; conf: ConfigRef): (string,\n int) 31
|
||||
584
compiler/guards.html
Normal file
584
compiler/guards.html
Normal file
@@ -0,0 +1,584 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>guards</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">guards</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#TModel" title="TModel = object
|
||||
s*: seq[PNode]
|
||||
g*: ModuleGraph
|
||||
beSmart*: bool">TModel</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">addAsgnFact
|
||||
<li><a class="reference" href="#addAsgnFact%2CTModel%2CPNode%2CPNode" title="addAsgnFact(m: var TModel; key, value: PNode)">addAsgnFact(m: var TModel; key, value: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addCaseBranchFacts
|
||||
<li><a class="reference" href="#addCaseBranchFacts%2CTModel%2CPNode%2Cint" title="addCaseBranchFacts(m: var TModel; n: PNode; i: int)">addCaseBranchFacts(m: var TModel; n: PNode; i: int)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addDiscriminantFact
|
||||
<li><a class="reference" href="#addDiscriminantFact%2CTModel%2CPNode" title="addDiscriminantFact(m: var TModel; n: PNode)">addDiscriminantFact(m: var TModel; n: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addFact
|
||||
<li><a class="reference" href="#addFact%2CTModel%2CPNode" title="addFact(m: var TModel; nn: PNode)">addFact(m: var TModel; nn: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addFactLe
|
||||
<li><a class="reference" href="#addFactLe%2CTModel%2CPNode%2CPNode" title="addFactLe(m: var TModel; a, b: PNode)">addFactLe(m: var TModel; a, b: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addFactLt
|
||||
<li><a class="reference" href="#addFactLt%2CTModel%2CPNode%2CPNode" title="addFactLt(m: var TModel; a, b: PNode)">addFactLt(m: var TModel; a, b: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addFactNeg
|
||||
<li><a class="reference" href="#addFactNeg%2CTModel%2CPNode" title="addFactNeg(m: var TModel; n: PNode)">addFactNeg(m: var TModel; n: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">buildAdd
|
||||
<li><a class="reference" href="#buildAdd%2CPNode%2CBiggestInt%2COperators" title="buildAdd(a: PNode; b: BiggestInt; o: Operators): PNode">buildAdd(a: PNode; b: BiggestInt; o: Operators): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">buildCall
|
||||
<li><a class="reference" href="#buildCall%2CPSym%2CPNode%2CPNode" title="buildCall(op: PSym; a, b: PNode): PNode">buildCall(op: PSym; a, b: PNode): PNode</a></li>
|
||||
<li><a class="reference" href="#buildCall%2CPSym%2CPNode" title="buildCall(op: PSym; a: PNode): PNode">buildCall(op: PSym; a: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">buildLe
|
||||
<li><a class="reference" href="#buildLe%2COperators%2CPNode%2CPNode" title="buildLe(o: Operators; a, b: PNode): PNode">buildLe(o: Operators; a, b: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">canon
|
||||
<li><a class="reference" href="#canon%2CPNode%2COperators" title="canon(n: PNode; o: Operators): PNode">canon(n: PNode; o: Operators): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">checkFieldAccess
|
||||
<li><a class="reference" href="#checkFieldAccess%2CTModel%2CPNode%2CConfigRef%2Cbool" title="checkFieldAccess(m: TModel; n: PNode; conf: ConfigRef; produceError: bool)">checkFieldAccess(m: TModel; n: PNode; conf: ConfigRef; produceError: bool)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">doesImply
|
||||
<li><a class="reference" href="#doesImply%2CTModel%2CPNode" title="doesImply(facts: TModel; prop: PNode): TImplication">doesImply(facts: TModel; prop: PNode): TImplication</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">highBound
|
||||
<li><a class="reference" href="#highBound%2CConfigRef%2CPNode%2COperators" title="highBound(conf: ConfigRef; x: PNode; o: Operators): PNode">highBound(conf: ConfigRef; x: PNode; o: Operators): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">impliesNotNil
|
||||
<li><a class="reference" href="#impliesNotNil%2CTModel%2CPNode" title="impliesNotNil(m: TModel; arg: PNode): TImplication">impliesNotNil(m: TModel; arg: PNode): TImplication</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">interestingCaseExpr
|
||||
<li><a class="reference" href="#interestingCaseExpr%2CPNode" title="interestingCaseExpr(m: PNode): bool">interestingCaseExpr(m: PNode): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">invalidateFacts
|
||||
<li><a class="reference" href="#invalidateFacts%2CTModel%2CPNode" title="invalidateFacts(m: var TModel; n: PNode)">invalidateFacts(m: var TModel; n: PNode)</a></li>
|
||||
<li><a class="reference" href="#invalidateFacts%2Cseq%5BPNode%5D%2CPNode" title="invalidateFacts(s: var seq[PNode]; n: PNode)">invalidateFacts(s: var seq[PNode]; n: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">lowBound
|
||||
<li><a class="reference" href="#lowBound%2CConfigRef%2CPNode" title="lowBound(conf: ConfigRef; x: PNode): PNode">lowBound(conf: ConfigRef; x: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">proveLe
|
||||
<li><a class="reference" href="#proveLe%2CTModel%2CPNode%2CPNode" title="proveLe(m: TModel; a, b: PNode): TImplication">proveLe(m: TModel; a, b: PNode): TImplication</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">sameSubexprs
|
||||
<li><a class="reference" href="#sameSubexprs%2CTModel%2CPNode%2CPNode" title="sameSubexprs(m: TModel; a, b: PNode): bool">sameSubexprs(m: TModel; a, b: PNode): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">sameTree
|
||||
<li><a class="reference" href="#sameTree%2CPNode%2CPNode" title="sameTree(a, b: PNode): bool">sameTree(a, b: PNode): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">simpleSlice
|
||||
<li><a class="reference" href="#simpleSlice%2CPNode%2CPNode" title="simpleSlice(a, b: PNode): BiggestInt">simpleSlice(a, b: PNode): BiggestInt</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module implements the 'implies' relation for guards.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="astalgo.html">astalgo</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="magicsys.html">magicsys</a>, <a class="reference external" href="nimsets.html">nimsets</a>, <a class="reference external" href="trees.html">trees</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="saturate.html">saturate</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="int128.html">int128</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="TModel">
|
||||
<dt><pre><a href="#TModel"><span class="Identifier">TModel</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">s</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">]</span>
|
||||
<span class="Identifier">g</span><span class="Operator">*</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a>
|
||||
<span class="Identifier">beSmart</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L415" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L415" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="addAsgnFact-procs-all">
|
||||
<div id="addAsgnFact,TModel,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addAsgnFact%2CTModel%2CPNode%2CPNode"><span class="Identifier">addAsgnFact</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">,</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L1134" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1134" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addCaseBranchFacts-procs-all">
|
||||
<div id="addCaseBranchFacts,TModel,PNode,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addCaseBranchFacts%2CTModel%2CPNode%2Cint"><span class="Identifier">addCaseBranchFacts</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L1157" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1157" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addDiscriminantFact-procs-all">
|
||||
<div id="addDiscriminantFact,TModel,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addDiscriminantFact%2CTModel%2CPNode"><span class="Identifier">addDiscriminantFact</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L1127" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1127" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addFact-procs-all">
|
||||
<div id="addFact,TModel,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addFact%2CTModel%2CPNode"><span class="Identifier">addFact</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">nn</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L420" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L420" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addFactLe-procs-all">
|
||||
<div id="addFactLe,TModel,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addFactLe%2CTModel%2CPNode%2CPNode"><span class="Identifier">addFactLe</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L1093" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1093" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addFactLt-procs-all">
|
||||
<div id="addFactLt,TModel,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addFactLt%2CTModel%2CPNode%2CPNode"><span class="Identifier">addFactLt</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L1096" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1096" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addFactNeg-procs-all">
|
||||
<div id="addFactNeg,TModel,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addFactNeg%2CTModel%2CPNode"><span class="Identifier">addFactNeg</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L433" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L433" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="buildAdd-procs-all">
|
||||
<div id="buildAdd,PNode,BiggestInt,Operators">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#buildAdd%2CPNode%2CBiggestInt%2COperators"><span class="Identifier">buildAdd</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span><span class="Other">;</span> <span class="Identifier">o</span><span class="Other">:</span> <a href="modulegraphs.html#Operators"><span class="Identifier">Operators</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L324" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L324" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="buildCall-procs-all">
|
||||
<div id="buildCall,PSym,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#buildCall%2CPSym%2CPNode%2CPNode"><span class="Identifier">buildCall</span></a><span class="Other">(</span><span class="Identifier">op</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L156" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L156" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="buildCall,PSym,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#buildCall%2CPSym%2CPNode"><span class="Identifier">buildCall</span></a><span class="Other">(</span><span class="Identifier">op</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L151" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L151" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="buildLe-procs-all">
|
||||
<div id="buildLe,Operators,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#buildLe%2COperators%2CPNode%2CPNode"><span class="Identifier">buildLe</span></a><span class="Other">(</span><span class="Identifier">o</span><span class="Other">:</span> <a href="modulegraphs.html#Operators"><span class="Identifier">Operators</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L244" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L244" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="canon-procs-all">
|
||||
<div id="canon,PNode,Operators">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#canon%2CPNode%2COperators"><span class="Identifier">canon</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">o</span><span class="Other">:</span> <a href="modulegraphs.html#Operators"><span class="Identifier">Operators</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L247" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L247" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="checkFieldAccess-procs-all">
|
||||
<div id="checkFieldAccess,TModel,PNode,ConfigRef,bool">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#checkFieldAccess%2CTModel%2CPNode%2CConfigRef%2Cbool"><span class="Identifier">checkFieldAccess</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">produceError</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L1182" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1182" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="doesImply-procs-all">
|
||||
<div id="doesImply,TModel,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#doesImply%2CTModel%2CPNode"><span class="Identifier">doesImply</span></a><span class="Other">(</span><span class="Identifier">facts</span><span class="Other">:</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">prop</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#TImplication"><span class="Identifier">TImplication</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L842" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L842" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="highBound-procs-all">
|
||||
<div id="highBound,ConfigRef,PNode,Operators">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#highBound%2CConfigRef%2CPNode%2COperators"><span class="Identifier">highBound</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">o</span><span class="Other">:</span> <a href="modulegraphs.html#Operators"><span class="Identifier">Operators</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L206" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L206" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="impliesNotNil-procs-all">
|
||||
<div id="impliesNotNil,TModel,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#impliesNotNil%2CTModel%2CPNode"><span class="Identifier">impliesNotNil</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">arg</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#TImplication"><span class="Identifier">TImplication</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L851" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L851" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="interestingCaseExpr-procs-all">
|
||||
<div id="interestingCaseExpr,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#interestingCaseExpr%2CPNode"><span class="Identifier">interestingCaseExpr</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L93" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L93" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="invalidateFacts-procs-all">
|
||||
<div id="invalidateFacts,TModel,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#invalidateFacts%2CTModel%2CPNode"><span class="Identifier">invalidateFacts</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L505" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L505" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="invalidateFacts,seq[PNode],PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#invalidateFacts%2Cseq%5BPNode%5D%2CPNode"><span class="Identifier">invalidateFacts</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L484" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L484" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="lowBound-procs-all">
|
||||
<div id="lowBound,ConfigRef,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#lowBound%2CConfigRef%2CPNode"><span class="Identifier">lowBound</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L202" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L202" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="proveLe-procs-all">
|
||||
<div id="proveLe,TModel,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#proveLe%2CTModel%2CPNode%2CPNode"><span class="Identifier">proveLe</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#TImplication"><span class="Identifier">TImplication</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L1084" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1084" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="sameSubexprs-procs-all">
|
||||
<div id="sameSubexprs,TModel,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#sameSubexprs%2CTModel%2CPNode%2CPNode"><span class="Identifier">sameSubexprs</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L1141" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1141" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="sameTree-procs-all">
|
||||
<div id="sameTree,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#sameTree%2CPNode%2CPNode"><span class="Identifier">sameTree</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L449" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L449" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="simpleSlice-procs-all">
|
||||
<div id="simpleSlice,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#simpleSlice%2CPNode%2CPNode"><span class="Identifier">simpleSlice</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/guards.nim#L854" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L854" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:09 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
28
compiler/guards.idx
Normal file
28
compiler/guards.idx
Normal file
@@ -0,0 +1,28 @@
|
||||
nimTitle guards guards.html module guards 0
|
||||
nim interestingCaseExpr guards.html#interestingCaseExpr,PNode proc interestingCaseExpr(m: PNode): bool 93
|
||||
nim buildCall guards.html#buildCall,PSym,PNode proc buildCall(op: PSym; a: PNode): PNode 151
|
||||
nim buildCall guards.html#buildCall,PSym,PNode,PNode proc buildCall(op: PSym; a, b: PNode): PNode 156
|
||||
nim lowBound guards.html#lowBound,ConfigRef,PNode proc lowBound(conf: ConfigRef; x: PNode): PNode 202
|
||||
nim highBound guards.html#highBound,ConfigRef,PNode,Operators proc highBound(conf: ConfigRef; x: PNode; o: Operators): PNode 206
|
||||
nim buildLe guards.html#buildLe,Operators,PNode,PNode proc buildLe(o: Operators; a, b: PNode): PNode 244
|
||||
nim canon guards.html#canon,PNode,Operators proc canon(n: PNode; o: Operators): PNode 247
|
||||
nim buildAdd guards.html#buildAdd,PNode,BiggestInt,Operators proc buildAdd(a: PNode; b: BiggestInt; o: Operators): PNode 324
|
||||
nim TModel guards.html#TModel object TModel 415
|
||||
nim addFact guards.html#addFact,TModel,PNode proc addFact(m: var TModel; nn: PNode) 420
|
||||
nim addFactNeg guards.html#addFactNeg,TModel,PNode proc addFactNeg(m: var TModel; n: PNode) 433
|
||||
nim sameTree guards.html#sameTree,PNode,PNode proc sameTree(a, b: PNode): bool 449
|
||||
nim invalidateFacts guards.html#invalidateFacts,seq[PNode],PNode proc invalidateFacts(s: var seq[PNode]; n: PNode) 484
|
||||
nim invalidateFacts guards.html#invalidateFacts,TModel,PNode proc invalidateFacts(m: var TModel; n: PNode) 505
|
||||
nim doesImply guards.html#doesImply,TModel,PNode proc doesImply(facts: TModel; prop: PNode): TImplication 842
|
||||
nim impliesNotNil guards.html#impliesNotNil,TModel,PNode proc impliesNotNil(m: TModel; arg: PNode): TImplication 851
|
||||
nim simpleSlice guards.html#simpleSlice,PNode,PNode proc simpleSlice(a, b: PNode): BiggestInt 854
|
||||
nim proveLe guards.html#proveLe,TModel,PNode,PNode proc proveLe(m: TModel; a, b: PNode): TImplication 1084
|
||||
nim addFactLe guards.html#addFactLe,TModel,PNode,PNode proc addFactLe(m: var TModel; a, b: PNode) 1093
|
||||
nim addFactLt guards.html#addFactLt,TModel,PNode,PNode proc addFactLt(m: var TModel; a, b: PNode) 1096
|
||||
nim addDiscriminantFact guards.html#addDiscriminantFact,TModel,PNode proc addDiscriminantFact(m: var TModel; n: PNode) 1127
|
||||
nim addAsgnFact guards.html#addAsgnFact,TModel,PNode,PNode proc addAsgnFact(m: var TModel; key, value: PNode) 1134
|
||||
nim sameSubexprs guards.html#sameSubexprs,TModel,PNode,PNode proc sameSubexprs(m: TModel; a, b: PNode): bool 1141
|
||||
nim addCaseBranchFacts guards.html#addCaseBranchFacts,TModel,PNode,int proc addCaseBranchFacts(m: var TModel; n: PNode; i: int) 1157
|
||||
nim checkFieldAccess guards.html#checkFieldAccess,TModel,PNode,ConfigRef,bool proc checkFieldAccess(m: TModel; n: PNode; conf: ConfigRef; produceError: bool) 1182
|
||||
nimgrp buildcall guards.html#buildCall-procs-all proc 151
|
||||
nimgrp invalidatefacts guards.html#invalidateFacts-procs-all proc 484
|
||||
414
compiler/ic/enum2nif.html
Normal file
414
compiler/ic/enum2nif.html
Normal file
@@ -0,0 +1,414 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>ic/enum2nif</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="../nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="../dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">ic/enum2nif</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="../theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">genFlags
|
||||
<li><a class="reference" href="#genFlags%2Cset%5BTLocFlag%5D%2Cstring" title="genFlags(s: set[TLocFlag]; dest: var string)">genFlags(s: set[TLocFlag]; dest: var string)</a></li>
|
||||
<li><a class="reference" href="#genFlags%2Cset%5BTNodeFlag%5D%2Cstring" title="genFlags(s: set[TNodeFlag]; dest: var string)">genFlags(s: set[TNodeFlag]; dest: var string)</a></li>
|
||||
<li><a class="reference" href="#genFlags%2Cset%5BTOption%5D%2Cstring" title="genFlags(s: set[TOption]; dest: var string)">genFlags(s: set[TOption]; dest: var string)</a></li>
|
||||
<li><a class="reference" href="#genFlags%2Cset%5BTSymFlag%5D%2Cstring" title="genFlags(s: set[TSymFlag]; dest: var string)">genFlags(s: set[TSymFlag]; dest: var string)</a></li>
|
||||
<li><a class="reference" href="#genFlags%2Cset%5BTTypeFlag%5D%2Cstring" title="genFlags(s: set[TTypeFlag]; dest: var string)">genFlags(s: set[TTypeFlag]; dest: var string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">parse
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTCallingConvention%5D%2Cstring" title="parse(t: typedesc[TCallingConvention]; s: string): TCallingConvention">parse(t: typedesc[TCallingConvention]; s: string): TCallingConvention</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTLibKind%5D%2Cstring" title="parse(t: typedesc[TLibKind]; s: string): TLibKind">parse(t: typedesc[TLibKind]; s: string): TLibKind</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTLocFlag%5D%2Cstring" title="parse(t: typedesc[TLocFlag]; s: string): set[TLocFlag]">parse(t: typedesc[TLocFlag]; s: string): set[TLocFlag]</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTLocKind%5D%2Cstring" title="parse(t: typedesc[TLocKind]; s: string): TLocKind">parse(t: typedesc[TLocKind]; s: string): TLocKind</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTMagic%5D%2Cstring" title="parse(t: typedesc[TMagic]; s: string): TMagic">parse(t: typedesc[TMagic]; s: string): TMagic</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTNodeFlag%5D%2Cstring" title="parse(t: typedesc[TNodeFlag]; s: string): set[TNodeFlag]">parse(t: typedesc[TNodeFlag]; s: string): set[TNodeFlag]</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTNodeKind%5D%2Cstring" title="parse(t: typedesc[TNodeKind]; s: string): TNodeKind">parse(t: typedesc[TNodeKind]; s: string): TNodeKind</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTOption%5D%2Cstring" title="parse(t: typedesc[TOption]; s: string): set[TOption]">parse(t: typedesc[TOption]; s: string): set[TOption]</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTStorageLoc%5D%2Cstring" title="parse(t: typedesc[TStorageLoc]; s: string): TStorageLoc">parse(t: typedesc[TStorageLoc]; s: string): TStorageLoc</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTSymFlag%5D%2Cstring" title="parse(t: typedesc[TSymFlag]; s: string): set[TSymFlag]">parse(t: typedesc[TSymFlag]; s: string): set[TSymFlag]</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTSymKind%5D%2Cstring" title="parse(t: typedesc[TSymKind]; s: string): TSymKind">parse(t: typedesc[TSymKind]; s: string): TSymKind</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTTypeFlag%5D%2Cstring" title="parse(t: typedesc[TTypeFlag]; s: string): set[TTypeFlag]">parse(t: typedesc[TTypeFlag]; s: string): set[TTypeFlag]</a></li>
|
||||
<li><a class="reference" href="#parse%2Ctypedesc%5BTTypeKind%5D%2Cstring" title="parse(t: typedesc[TTypeKind]; s: string): TTypeKind">parse(t: typedesc[TTypeKind]; s: string): TTypeKind</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">toNifTag
|
||||
<li><a class="reference" href="#toNifTag%2CTCallingConvention" title="toNifTag(s: TCallingConvention): string">toNifTag(s: TCallingConvention): string</a></li>
|
||||
<li><a class="reference" href="#toNifTag%2CTLibKind" title="toNifTag(s: TLibKind): string">toNifTag(s: TLibKind): string</a></li>
|
||||
<li><a class="reference" href="#toNifTag%2CTLocKind" title="toNifTag(s: TLocKind): string">toNifTag(s: TLocKind): string</a></li>
|
||||
<li><a class="reference" href="#toNifTag%2CTMagic" title="toNifTag(s: TMagic): string">toNifTag(s: TMagic): string</a></li>
|
||||
<li><a class="reference" href="#toNifTag%2CTNodeKind" title="toNifTag(s: TNodeKind): string">toNifTag(s: TNodeKind): string</a></li>
|
||||
<li><a class="reference" href="#toNifTag%2CTStorageLoc" title="toNifTag(s: TStorageLoc): string">toNifTag(s: TStorageLoc): string</a></li>
|
||||
<li><a class="reference" href="#toNifTag%2CTSymKind" title="toNifTag(s: TSymKind): string">toNifTag(s: TSymKind): string</a></li>
|
||||
<li><a class="reference" href="#toNifTag%2CTTypeKind" title="toNifTag(s: TTypeKind): string">toNifTag(s: TTypeKind): string</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="../ast.html">../ast</a>, <a class="reference external" href="../options.html">../options</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="genFlags-procs-all">
|
||||
<div id="genFlags,set[TLocFlag],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genFlags%2Cset%5BTLocFlag%5D%2Cstring"><span class="Identifier">genFlags</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../astdef.html#TLocFlag"><span class="Identifier">TLocFlag</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">dest</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1724" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1724" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="genFlags,set[TNodeFlag],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genFlags%2Cset%5BTNodeFlag%5D%2Cstring"><span class="Identifier">genFlags</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../astdef.html#TNodeFlag"><span class="Identifier">TNodeFlag</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">dest</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1446" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1446" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="genFlags,set[TOption],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genFlags%2Cset%5BTOption%5D%2Cstring"><span class="Identifier">genFlags</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../options.html#TOption"><span class="Identifier">TOption</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">dest</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1760" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1760" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="genFlags,set[TSymFlag],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genFlags%2Cset%5BTSymFlag%5D%2Cstring"><span class="Identifier">genFlags</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../astdef.html#TSymFlag"><span class="Identifier">TSymFlag</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">dest</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1203" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1203" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="genFlags,set[TTypeFlag],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genFlags%2Cset%5BTTypeFlag%5D%2Cstring"><span class="Identifier">genFlags</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../astdef.html#TTypeFlag"><span class="Identifier">TTypeFlag</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">dest</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1543" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1543" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="parse-procs-all">
|
||||
<div id="parse,typedesc[TCallingConvention],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTCallingConvention%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TCallingConvention"><span class="Identifier">TCallingConvention</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="../astdef.html#TCallingConvention"><span class="Identifier">TCallingConvention</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L591" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L591" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TLibKind],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTLibKind%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TLibKind"><span class="Identifier">TLibKind</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="../astdef.html#TLibKind"><span class="Identifier">TLibKind</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1196" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1196" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TLocFlag],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTLocFlag%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TLocFlag"><span class="Identifier">TLocFlag</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../astdef.html#TLocFlag"><span class="Identifier">TLocFlag</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1739" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1739" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TLocKind],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTLocKind%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TLocKind"><span class="Identifier">TLocKind</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="../astdef.html#TLocKind"><span class="Identifier">TLocKind</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L559" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L559" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TMagic],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTMagic%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TMagic"><span class="Identifier">TMagic</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="../astdef.html#TMagic"><span class="Identifier">TMagic</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L890" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L890" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TNodeFlag],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTNodeFlag%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TNodeFlag"><span class="Identifier">TNodeFlag</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../astdef.html#TNodeFlag"><span class="Identifier">TNodeFlag</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1480" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1480" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TNodeKind],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTNodeKind%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../nodekinds.html#TNodeKind"><span class="Identifier">TNodeKind</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="../nodekinds.html#TNodeKind"><span class="Identifier">TNodeKind</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L175" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L175" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TOption],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTOption%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../options.html#TOption"><span class="Identifier">TOption</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../options.html#TOption"><span class="Identifier">TOption</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1794" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1794" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TStorageLoc],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTStorageLoc%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TStorageLoc"><span class="Identifier">TStorageLoc</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="../astdef.html#TStorageLoc"><span class="Identifier">TStorageLoc</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1181" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1181" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TSymFlag],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTSymFlag%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TSymFlag"><span class="Identifier">TSymFlag</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../astdef.html#TSymFlag"><span class="Identifier">TSymFlag</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1271" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1271" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TSymKind],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTSymKind%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TSymKind"><span class="Identifier">TSymKind</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="../astdef.html#TSymKind"><span class="Identifier">TSymKind</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L375" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L375" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TTypeFlag],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTTypeFlag%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TTypeFlag"><span class="Identifier">TTypeFlag</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="../astdef.html#TTypeFlag"><span class="Identifier">TTypeFlag</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1596" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1596" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="parse,typedesc[TTypeKind],string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#parse%2Ctypedesc%5BTTypeKind%5D%2Cstring"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="../astdef.html#TTypeKind"><span class="Identifier">TTypeKind</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="../astdef.html#TTypeKind"><span class="Identifier">TTypeKind</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L474" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L474" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="toNifTag-procs-all">
|
||||
<div id="toNifTag,TCallingConvention">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toNifTag%2CTCallingConvention"><span class="Identifier">toNifTag</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="../astdef.html#TCallingConvention"><span class="Identifier">TCallingConvention</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L575" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L575" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="toNifTag,TLibKind">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toNifTag%2CTLibKind"><span class="Identifier">toNifTag</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="../astdef.html#TLibKind"><span class="Identifier">TLibKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1190" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1190" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="toNifTag,TLocKind">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toNifTag%2CTLocKind"><span class="Identifier">toNifTag</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="../astdef.html#TLocKind"><span class="Identifier">TLocKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L544" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L544" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="toNifTag,TMagic">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toNifTag%2CTMagic"><span class="Identifier">toNifTag</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="../astdef.html#TMagic"><span class="Identifier">TMagic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L608" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L608" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="toNifTag,TNodeKind">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toNifTag%2CTNodeKind"><span class="Identifier">toNifTag</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="../nodekinds.html#TNodeKind"><span class="Identifier">TNodeKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L5" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L5" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="toNifTag,TStorageLoc">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toNifTag%2CTStorageLoc"><span class="Identifier">toNifTag</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="../astdef.html#TStorageLoc"><span class="Identifier">TStorageLoc</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L1173" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L1173" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="toNifTag,TSymKind">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toNifTag%2CTSymKind"><span class="Identifier">toNifTag</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="../astdef.html#TSymKind"><span class="Identifier">TSymKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L346" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L346" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="toNifTag,TTypeKind">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toNifTag%2CTTypeKind"><span class="Identifier">toNifTag</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="../astdef.html#TTypeKind"><span class="Identifier">TTypeKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/enum2nif.nim#L405" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/enum2nif.nim#L405" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:07 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
30
compiler/ic/enum2nif.idx
Normal file
30
compiler/ic/enum2nif.idx
Normal file
@@ -0,0 +1,30 @@
|
||||
nimTitle enum2nif ic/enum2nif.html module ic/enum2nif 0
|
||||
nim toNifTag ic/enum2nif.html#toNifTag,TNodeKind proc toNifTag(s: TNodeKind): string 5
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TNodeKind],string proc parse(t: typedesc[TNodeKind]; s: string): TNodeKind 175
|
||||
nim toNifTag ic/enum2nif.html#toNifTag,TSymKind proc toNifTag(s: TSymKind): string 346
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TSymKind],string proc parse(t: typedesc[TSymKind]; s: string): TSymKind 375
|
||||
nim toNifTag ic/enum2nif.html#toNifTag,TTypeKind proc toNifTag(s: TTypeKind): string 405
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TTypeKind],string proc parse(t: typedesc[TTypeKind]; s: string): TTypeKind 474
|
||||
nim toNifTag ic/enum2nif.html#toNifTag,TLocKind proc toNifTag(s: TLocKind): string 544
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TLocKind],string proc parse(t: typedesc[TLocKind]; s: string): TLocKind 559
|
||||
nim toNifTag ic/enum2nif.html#toNifTag,TCallingConvention proc toNifTag(s: TCallingConvention): string 575
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TCallingConvention],string proc parse(t: typedesc[TCallingConvention]; s: string): TCallingConvention 591
|
||||
nim toNifTag ic/enum2nif.html#toNifTag,TMagic proc toNifTag(s: TMagic): string 608
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TMagic],string proc parse(t: typedesc[TMagic]; s: string): TMagic 890
|
||||
nim toNifTag ic/enum2nif.html#toNifTag,TStorageLoc proc toNifTag(s: TStorageLoc): string 1173
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TStorageLoc],string proc parse(t: typedesc[TStorageLoc]; s: string): TStorageLoc 1181
|
||||
nim toNifTag ic/enum2nif.html#toNifTag,TLibKind proc toNifTag(s: TLibKind): string 1190
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TLibKind],string proc parse(t: typedesc[TLibKind]; s: string): TLibKind 1196
|
||||
nim genFlags ic/enum2nif.html#genFlags,set[TSymFlag],string proc genFlags(s: set[TSymFlag]; dest: var string) 1203
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TSymFlag],string proc parse(t: typedesc[TSymFlag]; s: string): set[TSymFlag] 1271
|
||||
nim genFlags ic/enum2nif.html#genFlags,set[TNodeFlag],string proc genFlags(s: set[TNodeFlag]; dest: var string) 1446
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TNodeFlag],string proc parse(t: typedesc[TNodeFlag]; s: string): set[TNodeFlag] 1480
|
||||
nim genFlags ic/enum2nif.html#genFlags,set[TTypeFlag],string proc genFlags(s: set[TTypeFlag]; dest: var string) 1543
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TTypeFlag],string proc parse(t: typedesc[TTypeFlag]; s: string): set[TTypeFlag] 1596
|
||||
nim genFlags ic/enum2nif.html#genFlags,set[TLocFlag],string proc genFlags(s: set[TLocFlag]; dest: var string) 1724
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TLocFlag],string proc parse(t: typedesc[TLocFlag]; s: string): set[TLocFlag] 1739
|
||||
nim genFlags ic/enum2nif.html#genFlags,set[TOption],string proc genFlags(s: set[TOption]; dest: var string) 1760
|
||||
nim parse ic/enum2nif.html#parse,typedesc[TOption],string proc parse(t: typedesc[TOption]; s: string): set[TOption] 1794
|
||||
nimgrp parse ic/enum2nif.html#parse-procs-all proc 175
|
||||
nimgrp genflags ic/enum2nif.html#genFlags-procs-all proc 1203
|
||||
nimgrp toniftag ic/enum2nif.html#toNifTag-procs-all proc 5
|
||||
145
compiler/ic/replayer.html
Normal file
145
compiler/ic/replayer.html
Normal file
@@ -0,0 +1,145 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>ic/replayer</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="../nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="../dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">ic/replayer</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="../theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">replayBackendActions
|
||||
<li><a class="reference" href="#replayBackendActions%2CModuleGraph%2CPSym%2CPNode" title="replayBackendActions(g: ModuleGraph; module: PSym; list: PNode)">replayBackendActions(g: ModuleGraph; module: PSym; list: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">replayStateChanges
|
||||
<li><a class="reference" href="#replayStateChanges%2CPSym%2CModuleGraph%2CPNode" title="replayStateChanges(module: PSym; g: ModuleGraph; list: PNode)">replayStateChanges(module: PSym; g: ModuleGraph; list: PNode)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/replayer.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/replayer.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Module that contains code to replay global VM state changes and pragma state like <tt class="docutils literal"><span class="pre">{.compile: "foo.c".}</span></tt>. For IC (= Incremental compilation) support.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="../ast.html">../ast</a>, <a class="reference external" href="../modulegraphs.html">../modulegraphs</a>, <a class="reference external" href="../trees.html">../trees</a>, <a class="reference external" href="../extccomp.html">../extccomp</a>, <a class="reference external" href="../btrees.html">../btrees</a>, <a class="reference external" href="../msgs.html">../msgs</a>, <a class="reference external" href="../lineinfos.html">../lineinfos</a>, <a class="reference external" href="../pathutils.html">../pathutils</a>, <a class="reference external" href="../options.html">../options</a>, <a class="reference external" href="../cgmeth.html">../cgmeth</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="replayBackendActions-procs-all">
|
||||
<div id="replayBackendActions,ModuleGraph,PSym,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#replayBackendActions%2CModuleGraph%2CPSym%2CPNode"><span class="Identifier">replayBackendActions</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="../modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <a href="../astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">list</span><span class="Other">:</span> <a href="../astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">EOFError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Applies the backend-relevant replay actions (C compile/link directives) found in a NIF-loaded module's top-level statement list. The <tt class="docutils literal"><span class="pre"><span class="Identifier">nifc</span></span></tt> backend loads modules without going through sem's <tt class="docutils literal"><span class="pre"><span class="Identifier">replayStateChanges</span></span></tt>, so e.g. math's <tt class="docutils literal"><span class="pre"><span class="Punctuation">{</span><span class="Operator">.</span><span class="Identifier">passL</span><span class="Punctuation">:</span> <span class="StringLit">"-lm"</span><span class="Operator">.</span><span class="Punctuation">}</span></span></tt> was lost and the final link failed with undefined references. VM cache actions are deliberately NOT replayed here — codegen does not run macros.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/replayer.nim#L94" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/replayer.nim#L94" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="replayStateChanges-procs-all">
|
||||
<div id="replayStateChanges,PSym,ModuleGraph,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#replayStateChanges%2CPSym%2CModuleGraph%2CPNode"><span class="Identifier">replayStateChanges</span></a><span class="Other">(</span><span class="Identifier">module</span><span class="Other">:</span> <a href="../astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="../modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">list</span><span class="Other">:</span> <a href="../astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span>
|
||||
<span class="Identifier">EOFError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<tt class="docutils literal"><span class="pre"><span class="Identifier">list</span></span></tt> is an <tt class="docutils literal"><span class="pre"><span class="Identifier">nkStmtList</span></span></tt> of <tt class="docutils literal"><span class="pre"><span class="Identifier">nkReplayAction</span></span></tt> nodes (macro-cache puts/incs/ adds/incls and a few pragmas) recorded for <tt class="docutils literal"><span class="pre"><span class="Identifier">module</span></span></tt>. Under the NIF backend a loaded module's <tt class="docutils literal"><span class="pre"><span class="Identifier">ast</span></span></tt> is never reconstructed, so the caller passes the replay actions it parsed out of the module's NIF directly.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/replayer.nim#L22" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/replayer.nim#L22" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
3
compiler/ic/replayer.idx
Normal file
3
compiler/ic/replayer.idx
Normal file
@@ -0,0 +1,3 @@
|
||||
nimTitle replayer ic/replayer.html module ic/replayer 0
|
||||
nim replayStateChanges ic/replayer.html#replayStateChanges,PSym,ModuleGraph,PNode proc replayStateChanges(module: PSym; g: ModuleGraph; list: PNode) 22
|
||||
nim replayBackendActions ic/replayer.html#replayBackendActions,ModuleGraph,PSym,PNode proc replayBackendActions(g: ModuleGraph; module: PSym; list: PNode) 94
|
||||
229
compiler/icconfig.html
Normal file
229
compiler/icconfig.html
Normal file
@@ -0,0 +1,229 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>icconfig</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">icconfig</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#IcConfigVersion" title="IcConfigVersion = "2"">IcConfigVersion</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">applyIcConfig
|
||||
<li><a class="reference" href="#applyIcConfig%2CConfigRef%2Cstring" title="applyIcConfig(conf: ConfigRef; infile: string): bool">applyIcConfig(conf: ConfigRef; infile: string): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">ensureIcConfig
|
||||
<li><a class="reference" href="#ensureIcConfig%2CConfigRef" title="ensureIcConfig(conf: ConfigRef)">ensureIcConfig(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">produceIcConfig
|
||||
<li><a class="reference" href="#produceIcConfig%2CConfigRef" title="produceIcConfig(conf: ConfigRef)">produceIcConfig(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">sourcesChanged
|
||||
<li><a class="reference" href="#sourcesChanged%2Cstring" title="sourcesChanged(configFile: string): bool">sourcesChanged(configFile: string): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeIcConfig
|
||||
<li><a class="reference" href="#writeIcConfig%2CConfigRef%2Cstring" title="writeIcConfig(conf: ConfigRef; outfile: string)">writeIcConfig(conf: ConfigRef; outfile: string)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icconfig.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icconfig.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"><p>Precompiled config for the incremental compiler (<tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt>).</p>
|
||||
<p><tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt> builds the program by spawning one <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">m</span></span></tt> child per module (or strongly-connected import group) plus a final <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">nifc</span></span></tt>. Each child is a full Nim process, so each would normally re-read the whole <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span><span class="Operator">.</span><span class="Identifier">cfg</span></span></tt> chain <em>and</em> re-run <tt class="docutils literal"><span class="pre"><span class="Identifier">config</span><span class="Operator">.</span><span class="Identifier">nims</span></span></tt> through the VM — work that is identical for every child and, because of the VM run, far from free. With ~85 modules in the compiler itself that config work is paid ~85 times during <tt class="docutils literal"><span class="pre"><span class="Identifier">koch</span> <span class="Identifier">bootic</span></span></tt>.</p>
|
||||
<p>The fix mirrors Nimony's <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">cfg</span><span class="Operator">.</span><span class="Identifier">nif</span></span></tt>: the driver parses config once, records the net effect, and the children replay it. Every config-file switch funnels through <tt class="docutils literal"><span class="pre"><span class="Identifier">processSwitch</span><span class="Punctuation">(</span><span class="Operator">...</span><span class="Punctuation">,</span> <span class="Identifier">passPP</span><span class="Punctuation">,</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt> (<tt class="docutils literal"><span class="pre"><span class="Identifier">nimconf</span><span class="Operator">.</span><span class="Identifier">parseAssignment</span></span></tt> and the <tt class="docutils literal"><span class="pre"><span class="Identifier">switch</span><span class="Punctuation">(</span><span class="Punctuation">)</span></span></tt> callback in <tt class="docutils literal"><span class="pre"><span class="Identifier">scriptconfig</span></span></tt>), so the recorded sequence of those switches, replayed in order, reproduces an identical <tt class="docutils literal"><span class="pre"><span class="Identifier">ConfigRef</span></span></tt> without any file read or VM run. The one config side effect that does not go through <tt class="docutils literal"><span class="pre"><span class="Identifier">processSwitch</span></span></tt> is <tt class="docutils literal"><span class="pre"><span class="Identifier">cppDefine</span></span></tt> (it mutates <tt class="docutils literal"><span class="pre"><span class="Identifier">conf</span><span class="Operator">.</span><span class="Identifier">cppDefines</span></span></tt> directly), so the resolved set is serialised alongside.</p>
|
||||
<p>Path-search switches are deliberately excluded from the recording (see <tt class="docutils literal"><span class="pre"><span class="Identifier">commands</span><span class="Operator">.</span><span class="Identifier">processSwitch</span></span></tt>): their resolved result already lives in <tt class="docutils literal"><span class="pre"><span class="Identifier">conf</span><span class="Operator">.</span><span class="Identifier">searchPaths</span></span></tt>, which the driver forwards to every child as absolute <tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">path</span></span></tt> arguments; replaying their raw, config-dir-relative arguments here would misresolve.</p>
|
||||
</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="commands.html">commands</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="msgs.html">msgs</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="IcConfigVersion">
|
||||
<dt><pre><a href="#IcConfigVersion"><span class="Identifier">IcConfigVersion</span></a> <span class="Other">=</span> <span class="StringLit">"2"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
Artifact format version. Bump on any layout change here so a child built by an older compiler rejects a stale artifact and falls back to normal config loading instead of replaying a format it cannot parse.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icconfig.nim#L39" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icconfig.nim#L39" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="applyIcConfig-procs-all">
|
||||
<div id="applyIcConfig,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#applyIcConfig%2CConfigRef%2Cstring"><span class="Identifier">applyIcConfig</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">infile</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">,</span> <span class="Identifier">EOFError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Replay the precompiled config into <tt class="docutils literal"><span class="pre"><span class="Identifier">conf</span></span></tt>. Returns false (and applies nothing meaningful) when the artifact is missing or written by a compiler with an incompatible format version, so the caller can fall back to reading the config files normally.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icconfig.nim#L91" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icconfig.nim#L91" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="ensureIcConfig-procs-all">
|
||||
<div id="ensureIcConfig,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#ensureIcConfig%2CConfigRef"><span class="Identifier">ensureIcConfig</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Driver-side (<tt class="docutils literal"><span class="pre"><span class="Identifier">cmdIc</span></span></tt>). Make sure an up-to-date precompiled config exists, (re)producing it in a <em>separate</em> process when missing or stale, then point <tt class="docutils literal"><span class="pre"><span class="Identifier">conf</span><span class="Operator">.</span><span class="Identifier">icPreparsedConfig</span></span></tt> at it so the driver replays the very same config its <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">m</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">nifc</span></span></tt> children will — perfect speed (config parsed at most once, skipped entirely when nothing changed) and consistency (one producer, every process replays its output). The artifact lives in the nimcache derived from the command line (pre-config-parse), which is the one the children are told; a <tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">nimcache</span><span class="Punctuation">:</span></span></tt> set inside <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span><span class="Operator">.</span><span class="Identifier">cfg</span></span></tt> is recovered from the artifact itself.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icconfig.nim#L238" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icconfig.nim#L238" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="produceIcConfig-procs-all">
|
||||
<div id="produceIcConfig,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#produceIcConfig%2CConfigRef"><span class="Identifier">produceIcConfig</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
The <tt class="docutils literal"><span class="pre"><span class="Identifier">cmdIcConfig</span></span></tt> command. By the time it runs, the normal pipeline has already fully parsed the <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span><span class="Operator">.</span><span class="Identifier">cfg</span></span></tt> chain and run <tt class="docutils literal"><span class="pre"><span class="Identifier">config</span><span class="Operator">.</span><span class="Identifier">nims</span></span></tt>, so the resolved config is sitting in <tt class="docutils literal"><span class="pre"><span class="Identifier">conf</span></span></tt>; just serialise it to <tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">o</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icconfig.nim#L227" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icconfig.nim#L227" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="sourcesChanged-procs-all">
|
||||
<div id="sourcesChanged,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#sourcesChanged%2Cstring"><span class="Identifier">sourcesChanged</span></a><span class="Other">(</span><span class="Identifier">configFile</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
True when the precompiled config at <tt class="docutils literal"><span class="pre"><span class="Identifier">configFile</span></span></tt> is missing, malformed, written by an incompatible version, or any recorded config <em>source</em> file is newer than it (or has vanished) — i.e. the artifact must be regenerated. Mirrors nifler's <tt class="docutils literal"><span class="pre"><span class="Identifier">sourcesChanged</span></span></tt>: the source list lives inside the artifact so this needs no out-of-band knowledge of which <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span><span class="Operator">.</span><span class="Identifier">cfg</span></span></tt>s were read.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icconfig.nim#L184" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icconfig.nim#L184" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeIcConfig-procs-all">
|
||||
<div id="writeIcConfig,ConfigRef,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeIcConfig%2CConfigRef%2Cstring"><span class="Identifier">writeIcConfig</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">outfile</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Serialise the resolved config (the config-file switches recorded during <tt class="docutils literal"><span class="pre"><span class="Identifier">loadConfigs</span></span></tt>, the resolved <tt class="docutils literal"><span class="pre"><span class="Identifier">cppDefines</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">searchPaths</span></span></tt>, the nimcache dir, and the list of config <em>source</em> files for staleness detection) into <tt class="docutils literal"><span class="pre"><span class="Identifier">outfile</span></span></tt>. <tt class="docutils literal"><span class="pre"><span class="Identifier">OnlyIfChanged</span></span></tt>: when the content is byte-identical to what is already on disk the file is left untouched so its mtime does not advance — otherwise every <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt> run would re-fire the whole nifmake graph (see <tt class="docutils literal"><span class="pre"><span class="Identifier">nifler</span></span></tt>'s <tt class="docutils literal"><span class="pre"><span class="Identifier">produceConfig</span></span></tt>, whose model this mirrors).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icconfig.nim#L44" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icconfig.nim#L44" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
7
compiler/icconfig.idx
Normal file
7
compiler/icconfig.idx
Normal file
@@ -0,0 +1,7 @@
|
||||
nimTitle icconfig icconfig.html module icconfig 0
|
||||
nim IcConfigVersion icconfig.html#IcConfigVersion const IcConfigVersion 39
|
||||
nim writeIcConfig icconfig.html#writeIcConfig,ConfigRef,string proc writeIcConfig(conf: ConfigRef; outfile: string) 44
|
||||
nim applyIcConfig icconfig.html#applyIcConfig,ConfigRef,string proc applyIcConfig(conf: ConfigRef; infile: string): bool 91
|
||||
nim sourcesChanged icconfig.html#sourcesChanged,string proc sourcesChanged(configFile: string): bool 184
|
||||
nim produceIcConfig icconfig.html#produceIcConfig,ConfigRef proc produceIcConfig(conf: ConfigRef) 227
|
||||
nim ensureIcConfig icconfig.html#ensureIcConfig,ConfigRef proc ensureIcConfig(conf: ConfigRef) 238
|
||||
117
compiler/icmodnames.html
Normal file
117
compiler/icmodnames.html
Normal file
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>icmodnames</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">icmodnames</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">moduleSuffix
|
||||
<li><a class="reference" href="#moduleSuffix%2Cstring%2CopenArray%5Bstring%5D" title="moduleSuffix(path: string; searchPaths: openArray[string]): string">moduleSuffix(path: string; searchPaths: openArray[string]): string</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icmodnames.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icmodnames.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"><p>Nim's OWN module-suffix, replacing nimony's <tt class="docutils literal"><span class="pre"><span class="Identifier">gear2</span><span class="Operator">/</span><span class="Identifier">modnames</span><span class="Operator">.</span><span class="Identifier">moduleSuffix</span></span></tt>.</p>
|
||||
<p>nimony's version hashes a path made RELATIVE to <tt class="docutils literal"><span class="pre"><span class="Identifier">getCurrentDir</span><span class="Punctuation">(</span><span class="Punctuation">)</span></span></tt> (or the shortest search-path-relative form), so the produced suffix depends on the current working directory AND the searchPath set. Under <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt> the DISCOVERY pass (<tt class="docutils literal"><span class="pre"><span class="Identifier">deps</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt>, in the driver process) and the COMPILE pass (<tt class="docutils literal"><span class="pre"><span class="Identifier">nifgen</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">typekeys</span></span></tt>, in a child <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">m</span></span></tt> process) can run with different CWDs or <tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">path</span></span></tt> sets, so the SAME file hashes to two different suffixes: e.g. <tt class="docutils literal"><span class="pre"><span class="Identifier">std</span><span class="Operator">/</span><span class="Identifier">staticos</span></span></tt> became <tt class="docutils literal"><span class="pre"><span class="Identifier">sta5rk8sn1</span></span></tt> at discovery but <tt class="docutils literal"><span class="pre"><span class="Identifier">sta4c0qxk</span></span></tt> at compile, so every importer waited forever for a <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt> that was actually written under the other name — a cold <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt> build (of anything pulling in <tt class="docutils literal"><span class="pre"><span class="Identifier">std</span><span class="Operator">/</span><span class="Identifier">os</span></span></tt>, whose <tt class="docutils literal"><span class="pre"><span class="Identifier">oscommon</span></span></tt> does <tt class="docutils literal"><span class="pre"><span class="Keyword">from</span> <span class="Identifier">std</span><span class="Operator">/</span><span class="Identifier">staticos</span> <span class="Keyword">import</span> <span class="Identifier">PathComponent</span></span></tt>) never converged.</p>
|
||||
<p>Hashing the CANONICAL ABSOLUTE path makes the suffix a pure function of the file, identical across every process and call site. The base-name prefix + base-36 <tt class="docutils literal"><span class="pre"><span class="Identifier">uhash</span></span></tt> layout is kept byte-for-byte compatible with the old scheme so nothing but the hashed string changes.</p>
|
||||
</p>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="moduleSuffix-procs-all">
|
||||
<div id="moduleSuffix,string,openArray[string]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#moduleSuffix%2Cstring%2CopenArray%5Bstring%5D"><span class="Identifier">moduleSuffix</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">searchPaths</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<tt class="docutils literal"><span class="pre"><span class="Identifier">searchPaths</span></span></tt> is accepted for signature-compatibility with the replaced <tt class="docutils literal"><span class="pre"><span class="Identifier">modnames</span><span class="Operator">.</span><span class="Identifier">moduleSuffix</span></span></tt> but is deliberately IGNORED — the suffix must not depend on the search-path set or the CWD (see the module doc).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icmodnames.nim#L35" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icmodnames.nim#L35" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:07 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/icmodnames.idx
Normal file
2
compiler/icmodnames.idx
Normal file
@@ -0,0 +1,2 @@
|
||||
nimTitle icmodnames icmodnames.html module icmodnames 0
|
||||
nim moduleSuffix icmodnames.html#moduleSuffix,string,openArray[string] proc moduleSuffix(path: string; searchPaths: openArray[string]): string 35
|
||||
670
compiler/icnifcore.html
Normal file
670
compiler/icnifcore.html
Normal file
@@ -0,0 +1,670 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>icnifcore</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">icnifcore</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#CookieKind" title="CookieKind = enum
|
||||
ckParLe, ckParRi, ckSym, ckSymDef, ckIdent, ckStr, ckInt, ckUInt, ckFloat,
|
||||
ckChar, ckDot">CookieKind</a></li>
|
||||
<li><a class="reference" href="#CookieTok" title="CookieTok = object
|
||||
kind*: CookieKind
|
||||
tag*: string
|
||||
name*: string
|
||||
sym*: uint32
|
||||
str*: string
|
||||
ival*: int64
|
||||
uval*: uint64
|
||||
fval*: float64
|
||||
cval*: uint32">CookieTok</a></li>
|
||||
<li><a class="reference" href="#IcBuilder" title="IcBuilder = object
|
||||
buf*: TokenBuf">IcBuilder</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#9" id="59">Lets</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#icPool" title="icPool = newPool()">icPool</a></li>
|
||||
<li><a class="reference" href="#icTags" title="icTags = newTagPool()">icTags</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">addAll
|
||||
<li><a class="reference" href="#addAll%2CIcBuilder%2CIcBuilder" title="addAll(dest: var IcBuilder; src: var IcBuilder)">addAll(dest: var IcBuilder; src: var IcBuilder)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addCharLit
|
||||
<li><a class="reference" href="#addCharLit%2CIcBuilder%2Cchar" title="addCharLit(b: var IcBuilder; c: char)">addCharLit(b: var IcBuilder; c: char)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addDotToken
|
||||
<li><a class="reference" href="#addDotToken%2CIcBuilder" title="addDotToken(b: var IcBuilder)">addDotToken(b: var IcBuilder)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addFloatLit
|
||||
<li><a class="reference" href="#addFloatLit%2CIcBuilder%2Cfloat64" title="addFloatLit(b: var IcBuilder; v: float64)">addFloatLit(b: var IcBuilder; v: float64)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addIdent
|
||||
<li><a class="reference" href="#addIdent%2CIcBuilder%2Cstring" title="addIdent(b: var IcBuilder; s: string)">addIdent(b: var IcBuilder; s: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addIntLit
|
||||
<li><a class="reference" href="#addIntLit%2CIcBuilder%2Cint64" title="addIntLit(b: var IcBuilder; v: int64)">addIntLit(b: var IcBuilder; v: int64)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addStmtsBody
|
||||
<li><a class="reference" href="#addStmtsBody%2CIcBuilder%2CIcBuilder" title="addStmtsBody(dest: var IcBuilder; src: var IcBuilder)">addStmtsBody(dest: var IcBuilder; src: var IcBuilder)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addStrLit
|
||||
<li><a class="reference" href="#addStrLit%2CIcBuilder%2Cstring" title="addStrLit(b: var IcBuilder; s: string)">addStrLit(b: var IcBuilder; s: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addSymDef
|
||||
<li><a class="reference" href="#addSymDef%2CIcBuilder%2Cstring" title="addSymDef(b: var IcBuilder; s: string)">addSymDef(b: var IcBuilder; s: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addSymUse
|
||||
<li><a class="reference" href="#addSymUse%2CIcBuilder%2Cstring" title="addSymUse(b: var IcBuilder; s: string)">addSymUse(b: var IcBuilder; s: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">addUIntLit
|
||||
<li><a class="reference" href="#addUIntLit%2CIcBuilder%2Cuint64" title="addUIntLit(b: var IcBuilder; v: uint64)">addUIntLit(b: var IcBuilder; v: uint64)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">closeTag
|
||||
<li><a class="reference" href="#closeTag%2CIcBuilder" title="closeTag(b: var IcBuilder)">closeTag(b: var IcBuilder)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">collectBifStrLits
|
||||
<li><a class="reference" href="#collectBifStrLits%2Cstring" title="collectBifStrLits(path: string): seq[string]">collectBifStrLits(path: string): seq[string]</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">createIcBuf
|
||||
<li><a class="reference" href="#createIcBuf%2Cint" title="createIcBuf(cap = 16): TokenBuf">createIcBuf(cap = 16): TokenBuf</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">cursorPool
|
||||
<li><a class="reference" href="#cursorPool%2CCursor" title="cursorPool(c: Cursor): Pool">cursorPool(c: Cursor): Pool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">flattenForCookie
|
||||
<li><a class="reference" href="#flattenForCookie%2CIcBuilder" title="flattenForCookie(b: var IcBuilder): seq[CookieTok]">flattenForCookie(b: var IcBuilder): seq[CookieTok]</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">lineInfo
|
||||
<li><a class="reference" href="#lineInfo%2CIcBuilder%2Cstring%2Cint32%2Cint32%2Cstring" title="lineInfo(b: var IcBuilder; file: string; line, col: int32; comment = "")">lineInfo(b: var IcBuilder; file: string; line, col: int32; comment = "")</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">newIcBuilder
|
||||
<li><a class="reference" href="#newIcBuilder%2Cint" title="newIcBuilder(cap = 16): IcBuilder">newIcBuilder(cap = 16): IcBuilder</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">openTag
|
||||
<li><a class="reference" href="#openTag%2CIcBuilder%2Cstring" title="openTag(b: var IcBuilder; tag: string)">openTag(b: var IcBuilder; tag: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">storeBif
|
||||
<li><a class="reference" href="#storeBif%2CIcBuilder%2Cstring%2Cstring" title="storeBif(b: var IcBuilder; path: string; dottedSuffix: string)">storeBif(b: var IcBuilder; path: string; dottedSuffix: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">storeBifStable
|
||||
<li><a class="reference" href="#storeBifStable%2CIcBuilder%2Cstring%2Cstring" title="storeBifStable(b: var IcBuilder; path: string; dottedSuffix: string)">storeBifStable(b: var IcBuilder; path: string; dottedSuffix: string)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">tagId
|
||||
<li><a class="reference" href="#tagId%2Cstring" title="tagId(s: string): TagId">tagId(s: string): TagId</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeFileStable
|
||||
<li><a class="reference" href="#writeFileStable%2CTokenBuf%2Cstring" title="writeFileStable(b: var TokenBuf; path: string; onlyIfChanged = false)">writeFileStable(b: var TokenBuf; path: string; onlyIfChanged = false)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeSemDeps
|
||||
<li><a class="reference" href="#writeSemDeps%2CConfigRef%2Cint32%2Cseq%5Bstring%5D" title="writeSemDeps(config: ConfigRef; thisModule: int32; importPaths: seq[string])">writeSemDeps(config: ConfigRef; thisModule: int32; importPaths: seq[string])</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeStable
|
||||
<li><a class="reference" href="#writeStable%2CIcBuilder%2Cstring" title="writeStable(b: var IcBuilder; path: string; onlyIfChanged = false)">writeStable(b: var IcBuilder; path: string; onlyIfChanged = false)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"><p>nifcore-based IC serialization helpers — Stage 1 of porting the IC backend from the old <tt class="docutils literal"><span class="pre"><span class="Identifier">nifstreams</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">nifcursors</span></span></tt> NIF stack to <tt class="docutils literal"><span class="pre"><span class="Identifier">nifcore</span></span></tt> (see <tt class="docutils literal"><span class="pre"><span class="Identifier">doc</span><span class="Operator">/</span><span class="Identifier">ic_nifcore_port</span><span class="Operator">.</span><span class="Identifier">md</span></span></tt>).</p>
|
||||
<p>It hosts:</p>
|
||||
<ul class="simple"><li>the process-wide shared <tt class="docutils literal"><span class="pre"><span class="Identifier">Pool</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">TagPool</span></span></tt> that stands in for the old global <tt class="docutils literal"><span class="pre"><span class="Identifier">nifstreams</span><span class="Operator">.</span><span class="Identifier">pool</span></span></tt>,</li>
|
||||
<li><tt class="docutils literal"><span class="pre"><span class="Identifier">writeFileStable</span></span></tt>, the content-stable file writer mirroring <tt class="docutils literal"><span class="pre"><span class="Identifier">nifcursors</span><span class="Operator">.</span><span class="Identifier">writeFile</span><span class="Punctuation">(</span><span class="Operator">...</span><span class="Punctuation">,</span> <span class="Identifier">OnlyIfChanged</span><span class="Punctuation">)</span></span></tt>,</li>
|
||||
<li>the first ported writer (<tt class="docutils literal"><span class="pre"><span class="Identifier">writeSemDeps</span></span></tt>), used as the migration spike.</li>
|
||||
</ul>
|
||||
<p>No <tt class="docutils literal"><span class="pre"><span class="Identifier">nifstreams</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">nifcursors</span></span></tt> types cross this module's boundary: callers pass plain Nim values (config, ids, string lists), so it can coexist with the still-old-API <tt class="docutils literal"><span class="pre"><span class="Identifier">ast2nif</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt> during the migration.</p>
|
||||
</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="typekeys.html">typekeys</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="CookieKind">
|
||||
<dt><pre><a href="#CookieKind"><span class="Identifier">CookieKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">ckParLe</span><span class="Other">,</span> <span class="Identifier">ckParRi</span><span class="Other">,</span> <span class="Identifier">ckSym</span><span class="Other">,</span> <span class="Identifier">ckSymDef</span><span class="Other">,</span> <span class="Identifier">ckIdent</span><span class="Other">,</span> <span class="Identifier">ckStr</span><span class="Other">,</span> <span class="Identifier">ckInt</span><span class="Other">,</span> <span class="Identifier">ckUInt</span><span class="Other">,</span> <span class="Identifier">ckFloat</span><span class="Other">,</span>
|
||||
<span class="Identifier">ckChar</span><span class="Other">,</span> <span class="Identifier">ckDot</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L167" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L167" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="CookieTok">
|
||||
<dt><pre><a href="#CookieTok"><span class="Identifier">CookieTok</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="#CookieKind"><span class="Identifier">CookieKind</span></a>
|
||||
<span class="Identifier">tag</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
||||
<span class="Identifier">name</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
||||
<span class="Identifier">sym</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">uint32</span>
|
||||
<span class="Identifier">str</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
||||
<span class="Identifier">ival</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int64</span>
|
||||
<span class="Identifier">uval</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">uint64</span>
|
||||
<span class="Identifier">fval</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">float64</span>
|
||||
<span class="Identifier">cval</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">uint32</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L169" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L169" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="IcBuilder">
|
||||
<dt><pre><a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">buf</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">TokenBuf</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
A thin nifcore <tt class="docutils literal"><span class="pre"><span class="Identifier">TokenBuf</span></span></tt> builder whose surface is <em>primitive types only</em> (strings/ints/floats). It lets the still-old-API <tt class="docutils literal"><span class="pre"><span class="Identifier">ast2nif</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt> drive a nifcore buffer without any nifcore type crossing the module boundary — the bridge that routes IC output onto the nifcore serializer (Stage 2).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L47" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L47" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="9">
|
||||
<h1><a class="toc-backref" href="#9">Lets</a></h1>
|
||||
<dl class="item">
|
||||
<div id="icPool">
|
||||
<dt><pre><a href="#icPool"><span class="Identifier">icPool</span></a> <span class="Other">=</span> <span class="Identifier">newPool</span><span class="Other">(</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L35" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L35" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="icTags">
|
||||
<dt><pre><a href="#icTags"><span class="Identifier">icTags</span></a> <span class="Other">=</span> <span class="Identifier">newTagPool</span><span class="Other">(</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L36" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L36" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="addAll-procs-all">
|
||||
<div id="addAll,IcBuilder,IcBuilder">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addAll%2CIcBuilder%2CIcBuilder"><span class="Identifier">addAll</span></a><span class="Other">(</span><span class="Identifier">dest</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Append every top-level subtree of <tt class="docutils literal"><span class="pre"><span class="Identifier">src</span></span></tt> into <tt class="docutils literal"><span class="pre"><span class="Identifier">dest</span></span></tt> — the nifcore analogue of the old <tt class="docutils literal"><span class="pre"><span class="Identifier">dest</span><span class="Operator">.</span><span class="Identifier">add</span> <span class="Identifier">wholeBuffer</span></span></tt> splice.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L140" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L140" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addCharLit-procs-all">
|
||||
<div id="addCharLit,IcBuilder,char">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addCharLit%2CIcBuilder%2Cchar"><span class="Identifier">addCharLit</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">c</span><span class="Other">:</span> <span class="Identifier">char</span><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L65" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L65" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addDotToken-procs-all">
|
||||
<div id="addDotToken,IcBuilder">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addDotToken%2CIcBuilder"><span class="Identifier">addDotToken</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L66" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L66" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addFloatLit-procs-all">
|
||||
<div id="addFloatLit,IcBuilder,float64">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addFloatLit%2CIcBuilder%2Cfloat64"><span class="Identifier">addFloatLit</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">float64</span><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L64" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L64" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addIdent-procs-all">
|
||||
<div id="addIdent,IcBuilder,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addIdent%2CIcBuilder%2Cstring"><span class="Identifier">addIdent</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L60" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L60" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addIntLit-procs-all">
|
||||
<div id="addIntLit,IcBuilder,int64">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addIntLit%2CIcBuilder%2Cint64"><span class="Identifier">addIntLit</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">int64</span><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L62" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L62" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addStmtsBody-procs-all">
|
||||
<div id="addStmtsBody,IcBuilder,IcBuilder">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addStmtsBody%2CIcBuilder%2CIcBuilder"><span class="Identifier">addStmtsBody</span></a><span class="Other">(</span><span class="Identifier">dest</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Append the BODY of a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">stmts</span> <span class="Operator">.</span> <span class="Operator">.</span> <span class="Operator"><</span><span class="Identifier">body</span><span class="Operator">></span> <span class="Punctuation">)</span></span></tt> builder into <tt class="docutils literal"><span class="pre"><span class="Identifier">dest</span></span></tt>, dropping the wrapper tag and its two leading dot slots (flags/type) — the nifcore analogue of the old <tt class="docutils literal"><span class="pre"><span class="Keyword">for</span> <span class="Identifier">i</span> <span class="Keyword">in</span> <span class="DecNumber">3</span> <span class="Operator">..<</span> <span class="Identifier">content</span><span class="Operator">.</span><span class="Identifier">len</span><span class="Operator">-</span><span class="DecNumber">1</span><span class="Punctuation">:</span> <span class="Identifier">dest</span><span class="Operator">.</span><span class="Identifier">add</span> <span class="Identifier">content</span><span class="Punctuation">[</span><span class="Identifier">i</span><span class="Punctuation">]</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L148" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L148" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addStrLit-procs-all">
|
||||
<div id="addStrLit,IcBuilder,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addStrLit%2CIcBuilder%2Cstring"><span class="Identifier">addStrLit</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L61" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L61" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addSymDef-procs-all">
|
||||
<div id="addSymDef,IcBuilder,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addSymDef%2CIcBuilder%2Cstring"><span class="Identifier">addSymDef</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L59" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L59" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addSymUse-procs-all">
|
||||
<div id="addSymUse,IcBuilder,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addSymUse%2CIcBuilder%2Cstring"><span class="Identifier">addSymUse</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L58" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L58" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="addUIntLit-procs-all">
|
||||
<div id="addUIntLit,IcBuilder,uint64">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addUIntLit%2CIcBuilder%2Cuint64"><span class="Identifier">addUIntLit</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">uint64</span><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L63" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L63" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="closeTag-procs-all">
|
||||
<div id="closeTag,IcBuilder">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#closeTag%2CIcBuilder"><span class="Identifier">closeTag</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L57" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L57" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="collectBifStrLits-procs-all">
|
||||
<div id="collectBifStrLits,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#collectBifStrLits%2Cstring"><span class="Identifier">collectBifStrLits</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
<p>Read a small <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">tag</span> <span class="StringLit">"s"</span> <span class="StringLit">"s"</span> <span class="Identifier">…</span><span class="Punctuation">)</span></span></tt> bif sidecar (<tt class="docutils literal"><span class="pre"><span class="Identifier">semdeps</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">edges</span></span></tt>) and return every string literal it holds, in order — the binary analogue of the old nifstreams scan that collected <tt class="docutils literal"><span class="pre"><span class="Identifier">StrLit</span></span></tt>s. Keeps nifcore types out of <tt class="docutils literal"><span class="pre"><span class="Identifier">deps</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt>, which only needs the recorded string list.</p>
|
||||
<p>Uses <tt class="docutils literal"><span class="pre"><span class="Identifier">loadFromFile</span></span></tt> (a full read into owned memory) rather than the mmap-backed <tt class="docutils literal"><span class="pre"><span class="Identifier">bif</span><span class="Operator">.</span><span class="Identifier">load</span></span></tt>, then CLOSES the handle. <tt class="docutils literal"><span class="pre"><span class="Identifier">bif</span><span class="Operator">.</span><span class="Identifier">load</span></span></tt> intentionally leaves the mapping resident for the process lifetime; for the <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt> driver that reads these sidecars while <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">m</span></span></tt> children rewrite them, a lingering read mapping is a Windows sharing violation: the child's <tt class="docutils literal"><span class="pre"><span class="Identifier">open</span><span class="Punctuation">(</span><span class="Identifier">path</span><span class="Punctuation">,</span> <span class="Identifier">fmWrite</span><span class="Punctuation">)</span></span></tt> fails with <tt class="docutils literal"><span class="pre"><span class="Identifier">IOError</span><span class="Punctuation">:</span> <span class="Identifier">cannot</span> <span class="Identifier">open</span></span></tt>. These sidecars are tiny, so the zero-copy mmap buys nothing here anyway.</p>
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L217" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L217" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="createIcBuf-procs-all">
|
||||
<div id="createIcBuf,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#createIcBuf%2Cint"><span class="Identifier">createIcBuf</span></a><span class="Other">(</span><span class="Identifier">cap</span> <span class="Other">=</span> <span class="DecNumber">16</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">TokenBuf</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
A <tt class="docutils literal"><span class="pre"><span class="Identifier">TokenBuf</span></span></tt> bound to the shared IC pools.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L38" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L38" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="cursorPool-procs-all">
|
||||
<div id="cursorPool,Cursor">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#cursorPool%2CCursor"><span class="Identifier">cursorPool</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Identifier">Cursor</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Pool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
The literals pool the cursor's buffer was built against. <tt class="docutils literal"><span class="pre"><span class="Identifier">ast2nif</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt> imports <tt class="docutils literal"><span class="pre"><span class="Identifier">nifcore</span></span></tt> with <tt class="docutils literal"><span class="pre"><span class="Keyword">except</span> <span class="Identifier">pool</span></span></tt> (to keep nifstreams' global <tt class="docutils literal"><span class="pre"><span class="Identifier">pool</span></span></tt> var the writer uses), so the reader reaches a cursor's pool through here — needed once <tt class="docutils literal"><span class="pre"><span class="Identifier">bif</span></span></tt>-loaded buffers carry their OWN fresh pool rather than the shared <tt class="docutils literal"><span class="pre"><span class="Identifier">icPool</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L95" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L95" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="flattenForCookie-procs-all">
|
||||
<div id="flattenForCookie,IcBuilder">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#flattenForCookie%2CIcBuilder"><span class="Identifier">flattenForCookie</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="#CookieTok"><span class="Identifier">CookieTok</span></a><span class="Other">]</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Flatten the nifcore module buffer to the cookie hashers' flat token list.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L211" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L211" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="lineInfo-procs-all">
|
||||
<div id="lineInfo,IcBuilder,string,int32,int32,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#lineInfo%2CIcBuilder%2Cstring%2Cint32%2Cint32%2Cstring"><span class="Identifier">lineInfo</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">file</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">line</span><span class="Other">,</span> <span class="Identifier">col</span><span class="Other">:</span> <span class="Identifier">int32</span><span class="Other">;</span> <span class="Identifier">comment</span> <span class="Other">=</span> <span class="StringLit">""</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Attach line info (+ optional <tt class="docutils literal"><span class="pre"><span class="Comment">#comment#</span></span></tt>) to the head just emitted. No-op when <tt class="docutils literal"><span class="pre"><span class="Identifier">file</span></span></tt> is empty (matches the old "emit only when info is valid"). Strings are interned in the shared pools; the file/comment ids reproduce the old <tt class="docutils literal"><span class="pre"><span class="Identifier">pool</span><span class="Operator">.</span><span class="Identifier">files</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">pool</span><span class="Operator">.</span><span class="Identifier">strings</span></span></tt> entries by string value.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L68" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L68" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="newIcBuilder-procs-all">
|
||||
<div id="newIcBuilder,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newIcBuilder%2Cint"><span class="Identifier">newIcBuilder</span></a><span class="Other">(</span><span class="Identifier">cap</span> <span class="Other">=</span> <span class="DecNumber">16</span><span class="Other">)</span><span class="Other">:</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L54" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L54" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="openTag-procs-all">
|
||||
<div id="openTag,IcBuilder,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#openTag%2CIcBuilder%2Cstring"><span class="Identifier">openTag</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">tag</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L56" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L56" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="storeBif-procs-all">
|
||||
<div id="storeBif,IcBuilder,string,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#storeBif%2CIcBuilder%2Cstring%2Cstring"><span class="Identifier">storeBif</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">dottedSuffix</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Persist the buffer as a compact, self-contained binary NIF (<tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">bif</span></span></tt>).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L114" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L114" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="storeBifStable-procs-all">
|
||||
<div id="storeBifStable,IcBuilder,string,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#storeBifStable%2CIcBuilder%2Cstring%2Cstring"><span class="Identifier">storeBifStable</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">dottedSuffix</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Content-stable <tt class="docutils literal"><span class="pre"><span class="Identifier">bif</span></span></tt> write — the binary analogue of <tt class="docutils literal"><span class="pre"><span class="Identifier">writeFileStable</span></span></tt>'s <tt class="docutils literal"><span class="pre"><span class="Identifier">onlyIfChanged</span></span></tt>: only replace <tt class="docutils literal"><span class="pre"><span class="Identifier">path</span></span></tt> when the encoded bytes differ, so an unchanged sidecar keeps its mtime and nifmake prunes the dependent rebuild cascade. Used for the iface/impl cookies + dep sidecars whose byte-stability gates incremental builds. (bif encoding is deterministic for a given buffer under fresh pools, so equal content ⇒ equal bytes.)
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L119" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L119" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="tagId-procs-all">
|
||||
<div id="tagId,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#tagId%2Cstring"><span class="Identifier">tagId</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">TagId</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Intern a tag name in the shared tag pool.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L42" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L42" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeFileStable-procs-all">
|
||||
<div id="writeFileStable,TokenBuf,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeFileStable%2CTokenBuf%2Cstring"><span class="Identifier">writeFileStable</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">TokenBuf</span><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">onlyIfChanged</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Serialize <tt class="docutils literal"><span class="pre"><span class="Identifier">b</span></span></tt> to canonical module NIF text and write it. Mirrors <tt class="docutils literal"><span class="pre"><span class="Identifier">nifcursors</span><span class="Operator">.</span><span class="Identifier">writeFile</span></span></tt>: the module suffix is derived from <tt class="docutils literal"><span class="pre"><span class="Identifier">path</span></span></tt> (<tt class="docutils literal"><span class="pre"><span class="StringLit">"."</span> <span class="Operator">&</span> <span class="Identifier">extractModuleSuffix</span></span></tt>), and <tt class="docutils literal"><span class="pre"><span class="Identifier">onlyIfChanged</span></span></tt> skips the write when the on-disk bytes already match — the content-stability nifmake's incremental rebuild depends on.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L78" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L78" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeSemDeps-procs-all">
|
||||
<div id="writeSemDeps,ConfigRef,int32,seq[string]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeSemDeps%2CConfigRef%2Cint32%2Cseq%5Bstring%5D"><span class="Identifier">writeSemDeps</span></a><span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">thisModule</span><span class="Other">:</span> <span class="Identifier">int32</span><span class="Other">;</span> <span class="Identifier">importPaths</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Stage 1 spike: the nifcore port of <tt class="docutils literal"><span class="pre"><span class="Identifier">ast2nif</span><span class="Operator">.</span><span class="Identifier">writeSemDeps</span></span></tt>. Serializes the module's resolved direct imports as <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">semdeps</span> <span class="StringLit">"path"</span> <span class="Operator">...</span><span class="Punctuation">)</span></span></tt>. Byte-identical to the old writer (verified), so <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt> build graphs are unaffected.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L239" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L239" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeStable-procs-all">
|
||||
<div id="writeStable,IcBuilder,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeStable%2CIcBuilder%2Cstring"><span class="Identifier">writeStable</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="#IcBuilder"><span class="Identifier">IcBuilder</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">onlyIfChanged</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.
|
||||
<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/icnifcore.nim#L92" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/icnifcore.nim#L92" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:07 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
42
compiler/icnifcore.idx
Normal file
42
compiler/icnifcore.idx
Normal file
@@ -0,0 +1,42 @@
|
||||
nimTitle icnifcore icnifcore.html module icnifcore 0
|
||||
nim icPool icnifcore.html#icPool let icPool 35
|
||||
nim icTags icnifcore.html#icTags let icTags 36
|
||||
nim createIcBuf icnifcore.html#createIcBuf,int proc createIcBuf(cap = 16): TokenBuf 38
|
||||
nim tagId icnifcore.html#tagId,string proc tagId(s: string): TagId 42
|
||||
nim IcBuilder icnifcore.html#IcBuilder object IcBuilder 47
|
||||
nim newIcBuilder icnifcore.html#newIcBuilder,int proc newIcBuilder(cap = 16): IcBuilder 54
|
||||
nim openTag icnifcore.html#openTag,IcBuilder,string proc openTag(b: var IcBuilder; tag: string) 56
|
||||
nim closeTag icnifcore.html#closeTag,IcBuilder proc closeTag(b: var IcBuilder) 57
|
||||
nim addSymUse icnifcore.html#addSymUse,IcBuilder,string proc addSymUse(b: var IcBuilder; s: string) 58
|
||||
nim addSymDef icnifcore.html#addSymDef,IcBuilder,string proc addSymDef(b: var IcBuilder; s: string) 59
|
||||
nim addIdent icnifcore.html#addIdent,IcBuilder,string proc addIdent(b: var IcBuilder; s: string) 60
|
||||
nim addStrLit icnifcore.html#addStrLit,IcBuilder,string proc addStrLit(b: var IcBuilder; s: string) 61
|
||||
nim addIntLit icnifcore.html#addIntLit,IcBuilder,int64 proc addIntLit(b: var IcBuilder; v: int64) 62
|
||||
nim addUIntLit icnifcore.html#addUIntLit,IcBuilder,uint64 proc addUIntLit(b: var IcBuilder; v: uint64) 63
|
||||
nim addFloatLit icnifcore.html#addFloatLit,IcBuilder,float64 proc addFloatLit(b: var IcBuilder; v: float64) 64
|
||||
nim addCharLit icnifcore.html#addCharLit,IcBuilder,char proc addCharLit(b: var IcBuilder; c: char) 65
|
||||
nim addDotToken icnifcore.html#addDotToken,IcBuilder proc addDotToken(b: var IcBuilder) 66
|
||||
nim lineInfo icnifcore.html#lineInfo,IcBuilder,string,int32,int32,string proc lineInfo(b: var IcBuilder; file: string; line, col: int32; comment = "") 68
|
||||
nim writeFileStable icnifcore.html#writeFileStable,TokenBuf,string proc writeFileStable(b: var TokenBuf; path: string; onlyIfChanged = false) 78
|
||||
nim writeStable icnifcore.html#writeStable,IcBuilder,string proc writeStable(b: var IcBuilder; path: string; onlyIfChanged = false) 92
|
||||
nim cursorPool icnifcore.html#cursorPool,Cursor proc cursorPool(c: Cursor): Pool 95
|
||||
nim storeBif icnifcore.html#storeBif,IcBuilder,string,string proc storeBif(b: var IcBuilder; path: string; dottedSuffix: string) 114
|
||||
nim storeBifStable icnifcore.html#storeBifStable,IcBuilder,string,string proc storeBifStable(b: var IcBuilder; path: string; dottedSuffix: string) 119
|
||||
nim addAll icnifcore.html#addAll,IcBuilder,IcBuilder proc addAll(dest: var IcBuilder; src: var IcBuilder) 140
|
||||
nim addStmtsBody icnifcore.html#addStmtsBody,IcBuilder,IcBuilder proc addStmtsBody(dest: var IcBuilder; src: var IcBuilder) 148
|
||||
nim ckParLe icnifcore.html#ckParLe CookieKind.ckParLe 167
|
||||
nim ckParRi icnifcore.html#ckParRi CookieKind.ckParRi 167
|
||||
nim ckSym icnifcore.html#ckSym CookieKind.ckSym 167
|
||||
nim ckSymDef icnifcore.html#ckSymDef CookieKind.ckSymDef 167
|
||||
nim ckIdent icnifcore.html#ckIdent CookieKind.ckIdent 167
|
||||
nim ckStr icnifcore.html#ckStr CookieKind.ckStr 167
|
||||
nim ckInt icnifcore.html#ckInt CookieKind.ckInt 167
|
||||
nim ckUInt icnifcore.html#ckUInt CookieKind.ckUInt 167
|
||||
nim ckFloat icnifcore.html#ckFloat CookieKind.ckFloat 167
|
||||
nim ckChar icnifcore.html#ckChar CookieKind.ckChar 167
|
||||
nim ckDot icnifcore.html#ckDot CookieKind.ckDot 167
|
||||
nim CookieKind icnifcore.html#CookieKind enum CookieKind 167
|
||||
nim CookieTok icnifcore.html#CookieTok object CookieTok 169
|
||||
nim flattenForCookie icnifcore.html#flattenForCookie,IcBuilder proc flattenForCookie(b: var IcBuilder): seq[CookieTok] 211
|
||||
nim collectBifStrLits icnifcore.html#collectBifStrLits,string proc collectBifStrLits(path: string): seq[string] 217
|
||||
nim writeSemDeps icnifcore.html#writeSemDeps,ConfigRef,int32,seq[string] proc writeSemDeps(config: ConfigRef; thisModule: int32; importPaths: seq[string]) 239
|
||||
307
compiler/idents.html
Normal file
307
compiler/idents.html
Normal file
@@ -0,0 +1,307 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>idents</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">idents</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#IdentCache" title="IdentCache = ref object
|
||||
idAnon*, idDelegator*, emptyIdent*: PIdent">IdentCache</a></li>
|
||||
<li><a class="reference" href="#PIdent" title="PIdent = ref TIdent">PIdent</a></li>
|
||||
<li><a class="reference" href="#TIdent" title="TIdent {.acyclic.} = object
|
||||
id*: int
|
||||
s*: string
|
||||
next*: PIdent
|
||||
h*: Hash">TIdent</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">==
|
||||
<li><a class="reference" href="#%3D%3D%2CPIdent%2CPIdent" title="`==`(a, b: PIdent): bool">`==`(a, b: PIdent): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">cmpIgnoreStyle
|
||||
<li><a class="reference" href="#cmpIgnoreStyle%2Ccstring%2Ccstring%2Cint" title="cmpIgnoreStyle(a, b: cstring; blen: int): int">cmpIgnoreStyle(a, b: cstring; blen: int): int</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getIdent
|
||||
<li><a class="reference" href="#getIdent%2CIdentCache%2Ccstring%2Cint%2CHash" title="getIdent(ic: IdentCache; identifier: cstring; length: int; h: Hash): PIdent">getIdent(ic: IdentCache; identifier: cstring; length: int; h: Hash): PIdent</a></li>
|
||||
<li><a class="reference" href="#getIdent%2CIdentCache%2Cstring" title="getIdent(ic: IdentCache; identifier: string): PIdent">getIdent(ic: IdentCache; identifier: string): PIdent</a></li>
|
||||
<li><a class="reference" href="#getIdent%2CIdentCache%2Cstring%2CHash" title="getIdent(ic: IdentCache; identifier: string; h: Hash): PIdent">getIdent(ic: IdentCache; identifier: string; h: Hash): PIdent</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">hash
|
||||
<li><a class="reference" href="#hash%2CPIdent" title="hash(x: PIdent): Hash">hash(x: PIdent): Hash</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">newIdentCache
|
||||
<li><a class="reference" href="#newIdentCache" title="newIdentCache(): IdentCache">newIdentCache(): IdentCache</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">resetIdentCache
|
||||
<li><a class="reference" href="#resetIdentCache" title="resetIdentCache()">resetIdentCache()</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">whichKeyword
|
||||
<li><a class="reference" href="#whichKeyword%2CPIdent" title="whichKeyword(id: PIdent): TSpecialWord">whichKeyword(id: PIdent): TSpecialWord</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="wordrecg.html">wordrecg</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="IdentCache">
|
||||
<dt><pre><a href="#IdentCache"><span class="Identifier">IdentCache</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">idAnon</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">idDelegator</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">emptyIdent</span><span class="Operator">*</span><span class="Other">:</span> <a href="#PIdent"><span class="Identifier">PIdent</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L28" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L28" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="PIdent">
|
||||
<dt><pre><a href="#PIdent"><span class="Identifier">PIdent</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="#TIdent"><span class="Identifier">TIdent</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L21" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L21" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TIdent">
|
||||
<dt><pre><a href="#TIdent"><span class="Identifier">TIdent</span></a> {.<span class="Identifier">acyclic</span>.} <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">id</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
||||
<span class="Identifier">s</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
||||
<span class="Identifier">next</span><span class="Operator">*</span><span class="Other">:</span> <a href="#PIdent"><span class="Identifier">PIdent</span></a>
|
||||
<span class="Identifier">h</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">Hash</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L22" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L22" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="==-procs-all">
|
||||
<div id="==,PIdent,PIdent">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CPIdent%2CPIdent"><span class="Identifier">`==`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L121" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L121" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="cmpIgnoreStyle-procs-all">
|
||||
<div id="cmpIgnoreStyle,cstring,cstring,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#cmpIgnoreStyle%2Ccstring%2Ccstring%2Cint"><span class="Identifier">cmpIgnoreStyle</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">blen</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L35" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L35" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getIdent-procs-all">
|
||||
<div id="getIdent,IdentCache,cstring,int,Hash">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getIdent%2CIdentCache%2Ccstring%2Cint%2CHash"><span class="Identifier">getIdent</span></a><span class="Other">(</span><span class="Identifier">ic</span><span class="Other">:</span> <a href="#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">identifier</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">length</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Identifier">Hash</span><span class="Other">)</span><span class="Other">:</span> <a href="#PIdent"><span class="Identifier">PIdent</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L69" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L69" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="getIdent,IdentCache,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getIdent%2CIdentCache%2Cstring"><span class="Identifier">getIdent</span></a><span class="Other">(</span><span class="Identifier">ic</span><span class="Other">:</span> <a href="#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">identifier</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="#PIdent"><span class="Identifier">PIdent</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L99" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L99" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="getIdent,IdentCache,string,Hash">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getIdent%2CIdentCache%2Cstring%2CHash"><span class="Identifier">getIdent</span></a><span class="Other">(</span><span class="Identifier">ic</span><span class="Other">:</span> <a href="#IdentCache"><span class="Identifier">IdentCache</span></a><span class="Other">;</span> <span class="Identifier">identifier</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Identifier">Hash</span><span class="Other">)</span><span class="Other">:</span> <a href="#PIdent"><span class="Identifier">PIdent</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L103" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L103" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="hash-procs-all">
|
||||
<div id="hash,PIdent">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hash%2CPIdent"><span class="Identifier">hash</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Hash</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L120" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L120" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="newIdentCache-procs-all">
|
||||
<div id="newIdentCache">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newIdentCache"><span class="Identifier">newIdentCache</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="#IdentCache"><span class="Identifier">IdentCache</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L106" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L106" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="resetIdentCache-procs-all">
|
||||
<div id="resetIdentCache">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#resetIdentCache"><span class="Identifier">resetIdentCache</span></a><span class="Other">(</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L33" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L33" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="whichKeyword-procs-all">
|
||||
<div id="whichKeyword,PIdent">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#whichKeyword%2CPIdent"><span class="Identifier">whichKeyword</span></a><span class="Other">(</span><span class="Identifier">id</span><span class="Other">:</span> <a href="#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">)</span><span class="Other">:</span> <a href="wordrecg.html#TSpecialWord"><span class="Identifier">TSpecialWord</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idents.nim#L116" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idents.nim#L116" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:06 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
14
compiler/idents.idx
Normal file
14
compiler/idents.idx
Normal file
@@ -0,0 +1,14 @@
|
||||
nimTitle idents idents.html module idents 0
|
||||
nim PIdent idents.html#PIdent type PIdent 21
|
||||
nim TIdent idents.html#TIdent object TIdent 22
|
||||
nim IdentCache idents.html#IdentCache type IdentCache 28
|
||||
nim resetIdentCache idents.html#resetIdentCache proc resetIdentCache() 33
|
||||
nim cmpIgnoreStyle idents.html#cmpIgnoreStyle,cstring,cstring,int proc cmpIgnoreStyle(a, b: cstring; blen: int): int 35
|
||||
nim getIdent idents.html#getIdent,IdentCache,cstring,int,Hash proc getIdent(ic: IdentCache; identifier: cstring; length: int; h: Hash): PIdent 69
|
||||
nim getIdent idents.html#getIdent,IdentCache,string proc getIdent(ic: IdentCache; identifier: string): PIdent 99
|
||||
nim getIdent idents.html#getIdent,IdentCache,string,Hash proc getIdent(ic: IdentCache; identifier: string; h: Hash): PIdent 103
|
||||
nim newIdentCache idents.html#newIdentCache proc newIdentCache(): IdentCache 106
|
||||
nim whichKeyword idents.html#whichKeyword,PIdent proc whichKeyword(id: PIdent): TSpecialWord 116
|
||||
nim hash idents.html#hash,PIdent proc hash(x: PIdent): Hash 120
|
||||
nim `==` idents.html#==,PIdent,PIdent proc `==`(a, b: PIdent): bool 121
|
||||
nimgrp getident idents.html#getIdent-procs-all proc 69
|
||||
131
compiler/idetools.html
Normal file
131
compiler/idetools.html
Normal file
@@ -0,0 +1,131 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>idetools</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">idetools</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">runIdeQuery
|
||||
<li><a class="reference" href="#runIdeQuery%2CConfigRef" title="runIdeQuery(conf: ConfigRef)">runIdeQuery(conf: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idetools.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idetools.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"><p>NIF-based goto-definition / find-all-usages for <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">track</span></span></tt>.</p>
|
||||
<p>This is the mainline-Nim port of nimony's <tt class="docutils literal"><span class="pre"><span class="Identifier">idetools</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt>. It answers a <tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">def</span><span class="Punctuation">:</span><span class="Identifier">FILE</span><span class="Punctuation">,</span><span class="Identifier">LINE</span><span class="Punctuation">,</span><span class="Identifier">COL</span></span></tt> / <tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">usages</span><span class="Punctuation">:</span><span class="Identifier">FILE</span><span class="Punctuation">,</span><span class="Identifier">LINE</span><span class="Punctuation">,</span><span class="Identifier">COL</span></span></tt> query by <em>scanning the `.s.bif` files</em> (binary NIF, see <tt class="docutils literal"><span class="pre"><span class="Identifier">dist</span><span class="Operator">/</span><span class="Identifier">nimony</span><span class="Operator">/</span><span class="Identifier">src</span><span class="Operator">/</span><span class="Identifier">lib</span><span class="Operator">/</span><span class="Identifier">bif</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt>) that the preceding <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">ic</span></span></tt> frontend (<tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">track</span></span></tt>) emitted into the nimcache directory — NOT by re-running sem. NIF distinguishes a definition (<tt class="docutils literal"><span class="pre"><span class="Identifier">SymbolDef</span></span></tt> token) from a use (<tt class="docutils literal"><span class="pre"><span class="Identifier">Symbol</span></span></tt> token) syntactically, so goto-def / find-uses become plain token scans over type-checked NIF, which is more reliable than the classic PSym engine because generics and macros are type-checked in the NIF too.</p>
|
||||
<p>Two passes (mirroring nimony's <tt class="docutils literal"><span class="pre"><span class="Identifier">usages</span></span></tt>):</p>
|
||||
<ol class="simple"><li>Load the queried module's <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt> and find the <tt class="docutils literal"><span class="pre"><span class="Identifier">Symbol</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Identifier">SymbolDef</span></span></tt> token whose line info + identifier length contains <tt class="docutils literal"><span class="pre"><span class="Identifier">conf</span><span class="Operator">.</span><span class="Identifier">m</span><span class="Operator">.</span><span class="Identifier">trackPos</span></span></tt>. That yields the mangled symbol NAME and whether it is global (>= 2 dots).</li>
|
||||
<li><tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">usages</span></span></tt>: emit every <tt class="docutils literal"><span class="pre"><span class="Identifier">Symbol</span></span></tt> (use) token; <tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">def</span></span></tt>: every <tt class="docutils literal"><span class="pre"><span class="Identifier">SymbolDef</span></span></tt>. A global symbol is scanned across every module <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt>; a local one only within the queried module.</li>
|
||||
</ol>
|
||||
<p>IMPORTANT porting note: <tt class="docutils literal"><span class="pre"><span class="Identifier">bif</span><span class="Operator">.</span><span class="Identifier">load</span></span></tt> mints FRESH per-file pools, so a <tt class="docutils literal"><span class="pre"><span class="Identifier">SymId</span></span></tt> from module A's buffer is meaningless in module B's. The cross-module match is therefore by the mangled NAME string, never by <tt class="docutils literal"><span class="pre"><span class="Identifier">SymId</span></span></tt> (nimony can compare ids because it parses every text NIF into one shared global pool; we cannot).</p>
|
||||
</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="ast2nif.html">ast2nif</a>, <a class="reference external" href="deps.html">deps</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="runIdeQuery-procs-all">
|
||||
<div id="runIdeQuery,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#runIdeQuery%2CConfigRef"><span class="Identifier">runIdeQuery</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Entry point: called from <tt class="docutils literal"><span class="pre"><span class="Identifier">main</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt> after <tt class="docutils literal"><span class="pre"><span class="Identifier">commandCheck</span></span></tt> when a <tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">def</span></span></tt>/<tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">usages</span></span></tt> query is active. Assumes the check just emitted the project's <tt class="docutils literal"><span class="pre"><span class="Operator">.</span><span class="Identifier">s</span><span class="Operator">.</span><span class="Identifier">bif</span></span></tt> files into <tt class="docutils literal"><span class="pre"><span class="Identifier">getNimcacheDir</span><span class="Punctuation">(</span><span class="Identifier">conf</span><span class="Punctuation">)</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/idetools.nim#L220" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/idetools.nim#L220" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/idetools.idx
Normal file
2
compiler/idetools.idx
Normal file
@@ -0,0 +1,2 @@
|
||||
nimTitle idetools idetools.html module idetools 0
|
||||
nim runIdeQuery idetools.html#runIdeQuery,ConfigRef proc runIdeQuery(conf: ConfigRef) 220
|
||||
221
compiler/importer.html
Normal file
221
compiler/importer.html
Normal file
@@ -0,0 +1,221 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>importer</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">importer</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">declarePureEnumField
|
||||
<li><a class="reference" href="#declarePureEnumField%2CPContext%2CPSym" title="declarePureEnumField(c: PContext; s: PSym)">declarePureEnumField(c: PContext; s: PSym)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">evalFrom
|
||||
<li><a class="reference" href="#evalFrom%2CPContext%2CPNode" title="evalFrom(c: PContext; n: PNode): PNode">evalFrom(c: PContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">evalImport
|
||||
<li><a class="reference" href="#evalImport%2CPContext%2CPNode" title="evalImport(c: PContext; n: PNode): PNode">evalImport(c: PContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">evalImportExcept
|
||||
<li><a class="reference" href="#evalImportExcept%2CPContext%2CPNode" title="evalImportExcept(c: PContext; n: PNode): PNode">evalImportExcept(c: PContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">importAllSymbols
|
||||
<li><a class="reference" href="#importAllSymbols%2CPContext%2CPSym" title="importAllSymbols(c: PContext; fromMod: PSym)">importAllSymbols(c: PContext; fromMod: PSym)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">readExceptSet
|
||||
<li><a class="reference" href="#readExceptSet%2CPContext%2CPNode" title="readExceptSet(c: PContext; n: PNode): IntSet">readExceptSet(c: PContext; n: PNode): IntSet</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/importer.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module implements the symbol importing mechanism.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="lookups.html">lookups</a>, <a class="reference external" href="semdata.html">semdata</a>, <a class="reference external" href="modulepaths.html">modulepaths</a>, <a class="reference external" href="sigmatch.html">sigmatch</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="wordrecg.html">wordrecg</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="declarePureEnumField-procs-all">
|
||||
<div id="declarePureEnumField,PContext,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#declarePureEnumField%2CPContext%2CPSym"><span class="Identifier">declarePureEnumField</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="semdata.html#PContext"><span class="Identifier">PContext</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/importer.nim#L30" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L30" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="evalFrom-procs-all">
|
||||
<div id="evalFrom,PContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#evalFrom%2CPContext%2CPNode"><span class="Identifier">evalFrom</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="semdata.html#PContext"><span class="Identifier">PContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/importer.nim#L369" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L369" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="evalImport-procs-all">
|
||||
<div id="evalImport,PContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#evalImport%2CPContext%2CPNode"><span class="Identifier">evalImport</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="semdata.html#PContext"><span class="Identifier">PContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/importer.nim#L343" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L343" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="evalImportExcept-procs-all">
|
||||
<div id="evalImportExcept,PContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#evalImportExcept%2CPContext%2CPNode"><span class="Identifier">evalImportExcept</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="semdata.html#PContext"><span class="Identifier">PContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/importer.nim#L384" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L384" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="importAllSymbols-procs-all">
|
||||
<div id="importAllSymbols,PContext,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#importAllSymbols%2CPContext%2CPSym"><span class="Identifier">importAllSymbols</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="semdata.html#PContext"><span class="Identifier">PContext</span></a><span class="Other">;</span> <span class="Identifier">fromMod</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/importer.nim#L207" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L207" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="readExceptSet-procs-all">
|
||||
<div id="readExceptSet,PContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#readExceptSet%2CPContext%2CPNode"><span class="Identifier">readExceptSet</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="semdata.html#PContext"><span class="Identifier">PContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">IntSet</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/importer.nim#L23" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L23" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
7
compiler/importer.idx
Normal file
7
compiler/importer.idx
Normal file
@@ -0,0 +1,7 @@
|
||||
nimTitle importer importer.html module importer 0
|
||||
nim readExceptSet importer.html#readExceptSet,PContext,PNode proc readExceptSet(c: PContext; n: PNode): IntSet 23
|
||||
nim declarePureEnumField importer.html#declarePureEnumField,PContext,PSym proc declarePureEnumField(c: PContext; s: PSym) 30
|
||||
nim importAllSymbols importer.html#importAllSymbols,PContext,PSym proc importAllSymbols(c: PContext; fromMod: PSym) 207
|
||||
nim evalImport importer.html#evalImport,PContext,PNode proc evalImport(c: PContext; n: PNode): PNode 343
|
||||
nim evalFrom importer.html#evalFrom,PContext,PNode proc evalFrom(c: PContext; n: PNode): PNode 369
|
||||
nim evalImportExcept importer.html#evalImportExcept,PContext,PNode proc evalImportExcept(c: PContext; n: PNode): PNode 384
|
||||
97
compiler/index.html
Normal file
97
compiler/index.html
Normal file
@@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>index</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">index</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<ul class="simple"><li><a class="reference" id="links_toc" href="#links">links</a></li>
|
||||
</ul><li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/index.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/index.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module only exists to generate docs for the compiler.
|
||||
<h2><a class="toc-backref" id="links" href="#links">links</a></h2><ul class="simple"><li><a class="reference external" href="../lib.html">main docs</a></li>
|
||||
<li><a class="reference external" href="../nimc.html">compiler user guide</a></li>
|
||||
<li><a class="reference external" href="../intern.html">Internals of the Nim Compiler</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="nim.html">nim</a>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/index.idx
Normal file
2
compiler/index.idx
Normal file
@@ -0,0 +1,2 @@
|
||||
nimTitle index index.html module index 0
|
||||
heading links index.html#links links 0
|
||||
142
compiler/injectdestructors.html
Normal file
142
compiler/injectdestructors.html
Normal file
@@ -0,0 +1,142 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>injectdestructors</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">injectdestructors</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">injectDestructorCalls
|
||||
<li><a class="reference" href="#injectDestructorCalls%2CModuleGraph%2CIdGenerator%2CPSym%2CPNode" title="injectDestructorCalls(g: ModuleGraph; idgen: IdGenerator; owner: PSym; n: PNode): PNode">injectDestructorCalls(g: ModuleGraph; idgen: IdGenerator; owner: PSym; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">sameLocation
|
||||
<li><a class="reference" href="#sameLocation%2CPNode%2CPNode" title="sameLocation(a, b: PNode): bool">sameLocation(a, b: PNode): bool</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/injectdestructors.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/injectdestructors.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Injects destructor calls into Nim code as well as an optimizer that optimizes copies to moves. This is implemented as an AST to AST transformation so that every backend benefits from it.See doc/destructors.rst for a spec of the implemented rewrite rules</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="astalgo.html">astalgo</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="magicsys.html">magicsys</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="lowerings.html">lowerings</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="parampatterns.html">parampatterns</a>, <a class="reference external" href="sighashes.html">sighashes</a>, <a class="reference external" href="liftdestructors.html">liftdestructors</a>, <a class="reference external" href="optimizer.html">optimizer</a>, <a class="reference external" href="varpartitions.html">varpartitions</a>, <a class="reference external" href="aliasanalysis.html">aliasanalysis</a>, <a class="reference external" href="dfa.html">dfa</a>, <a class="reference external" href="wordrecg.html">wordrecg</a>, <a class="reference external" href="trees.html">trees</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="injectDestructorCalls-procs-all">
|
||||
<div id="injectDestructorCalls,ModuleGraph,IdGenerator,PSym,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#injectDestructorCalls%2CModuleGraph%2CIdGenerator%2CPSym%2CPNode"><span class="Identifier">injectDestructorCalls</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">;</span> <span class="Identifier">owner</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/injectdestructors.nim#L1381" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/injectdestructors.nim#L1381" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="sameLocation-procs-all">
|
||||
<div id="sameLocation,PNode,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#sameLocation%2CPNode%2CPNode"><span class="Identifier">sameLocation</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/injectdestructors.nim#L1138" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/injectdestructors.nim#L1138" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:11 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
3
compiler/injectdestructors.idx
Normal file
3
compiler/injectdestructors.idx
Normal file
@@ -0,0 +1,3 @@
|
||||
nimTitle injectdestructors injectdestructors.html module injectdestructors 0
|
||||
nim sameLocation injectdestructors.html#sameLocation,PNode,PNode proc sameLocation(a, b: PNode): bool 1138
|
||||
nim injectDestructorCalls injectdestructors.html#injectDestructorCalls,ModuleGraph,IdGenerator,PSym,PNode proc injectDestructorCalls(g: ModuleGraph; idgen: IdGenerator; owner: PSym; n: PNode): PNode 1381
|
||||
1179
compiler/int128.html
Normal file
1179
compiler/int128.html
Normal file
File diff suppressed because it is too large
Load Diff
75
compiler/int128.idx
Normal file
75
compiler/int128.idx
Normal file
@@ -0,0 +1,75 @@
|
||||
nimTitle int128 int128.html module int128 0
|
||||
nim Int128 int128.html#Int128 object Int128 12
|
||||
nim Zero int128.html#Zero const Zero 23
|
||||
nim One int128.html#One const One 24
|
||||
nim Ten int128.html#Ten const Ten 25
|
||||
nim NegOne int128.html#NegOne const NegOne 28
|
||||
nim low int128.html#low.t,typedesc[Int128] template low(t: typedesc[Int128]): Int128 30
|
||||
nim high int128.html#high.t,typedesc[Int128] template high(t: typedesc[Int128]): Int128 31
|
||||
nim `$` int128.html#$,Int128 proc `$`(a: Int128): string 33
|
||||
nim toInt128 int128.html#toInt128,T proc toInt128[T: SomeInteger | bool](arg: T): Int128 35
|
||||
nim toInt64 int128.html#toInt64,Int128 proc toInt64(arg: Int128): int64 65
|
||||
nim toInt64Checked int128.html#toInt64Checked,Int128,int64 proc toInt64Checked(arg: Int128; onError: int64): int64 75
|
||||
nim toInt32 int128.html#toInt32,Int128 proc toInt32(arg: Int128): int32 84
|
||||
nim toInt16 int128.html#toInt16,Int128 proc toInt16(arg: Int128): int16 96
|
||||
nim toInt8 int128.html#toInt8,Int128 proc toInt8(arg: Int128): int8 108
|
||||
nim toInt int128.html#toInt,Int128 proc toInt(arg: Int128): int 120
|
||||
nim toUInt64 int128.html#toUInt64,Int128 proc toUInt64(arg: Int128): uint64 126
|
||||
nim toUInt32 int128.html#toUInt32,Int128 proc toUInt32(arg: Int128): uint32 131
|
||||
nim toUInt16 int128.html#toUInt16,Int128 proc toUInt16(arg: Int128): uint16 137
|
||||
nim toUInt8 int128.html#toUInt8,Int128 proc toUInt8(arg: Int128): uint8 143
|
||||
nim toUInt int128.html#toUInt,Int128 proc toUInt(arg: Int128): uint 149
|
||||
nim castToInt64 int128.html#castToInt64,Int128 proc castToInt64(arg: Int128): int64 155
|
||||
nim castToUInt64 int128.html#castToUInt64,Int128 proc castToUInt64(arg: Int128): uint64 159
|
||||
nim addToHex int128.html#addToHex,string,Int128 proc addToHex(result: var string; arg: Int128) 168
|
||||
nim toHex int128.html#toHex,Int128 proc toHex(arg: Int128): string 174
|
||||
nim inc int128.html#inc,Int128,uint32 proc inc(a: var Int128; y: uint32 = 1) 178
|
||||
nim cmp int128.html#cmp,Int128,Int128 proc cmp(a, b: Int128): int 188
|
||||
nim `<` int128.html#<,Int128,Int128 proc `<`(a, b: Int128): bool 198
|
||||
nim `<=` int128.html#<=,Int128,Int128 proc `<=`(a, b: Int128): bool 201
|
||||
nim `==` int128.html#==,Int128,Int128 proc `==`(a, b: Int128): bool 204
|
||||
nim bitnot int128.html#bitnot,Int128 proc bitnot(a: Int128): Int128 211
|
||||
nim bitand int128.html#bitand,Int128,Int128 proc bitand(a, b: Int128): Int128 218
|
||||
nim bitor int128.html#bitor,Int128,Int128 proc bitor(a, b: Int128): Int128 225
|
||||
nim bitxor int128.html#bitxor,Int128,Int128 proc bitxor(a, b: Int128): Int128 232
|
||||
nim `shr` int128.html#shr,Int128,int proc `shr`(a: Int128; b: int): Int128 239
|
||||
nim `shl` int128.html#shl,Int128,int proc `shl`(a: Int128; b: int): Int128 266
|
||||
nim `+` int128.html#+,Int128,Int128 proc `+`(a, b: Int128): Int128 290
|
||||
nim `+=` int128.html#+=,Int128,Int128 proc `+=`(a: var Int128; b: Int128) 301
|
||||
nim `-` int128.html#-,Int128 proc `-`(a: Int128): Int128 304
|
||||
nim `-` int128.html#-,Int128,Int128 proc `-`(a, b: Int128): Int128 308
|
||||
nim `-=` int128.html#-=,Int128,Int128 proc `-=`(a: var Int128; b: Int128) 311
|
||||
nim abs int128.html#abs,Int128 proc abs(a: Int128): Int128 314
|
||||
nim `*` int128.html#*,Int128,int32 proc `*`(a: Int128; b: int32): Int128 338
|
||||
nim `*` int128.html#*,Int128,Int128 proc `*`(lhs, rhs: Int128): Int128 359
|
||||
nim `*=` int128.html#*=,Int128,Int128 proc `*=`(a: var Int128; b: Int128) 368
|
||||
nim fastLog2 int128.html#fastLog2,Int128 proc fastLog2(a: Int128): int 373
|
||||
nim divMod int128.html#divMod,Int128,Int128 proc divMod(dividend, divisor: Int128): tuple[quotient, remainder: Int128] 384
|
||||
nim `div` int128.html#div,Int128,Int128 proc `div`(a, b: Int128): Int128 436
|
||||
nim `mod` int128.html#mod,Int128,Int128 proc `mod`(a, b: Int128): Int128 440
|
||||
nim addInt128 int128.html#addInt128,string,Int128 proc addInt128(result: var string; value: Int128) 444
|
||||
nim parseDecimalInt128 int128.html#parseDecimalInt128,string,int proc parseDecimalInt128(arg: string; pos: int = 0): Int128 474
|
||||
nim `<` int128.html#<,Int128,BiggestInt proc `<`(a: Int128; b: BiggestInt): bool 495
|
||||
nim `<` int128.html#<,BiggestInt,Int128 proc `<`(a: BiggestInt; b: Int128): bool 498
|
||||
nim `<=` int128.html#<=,Int128,BiggestInt proc `<=`(a: Int128; b: BiggestInt): bool 501
|
||||
nim `<=` int128.html#<=,BiggestInt,Int128 proc `<=`(a: BiggestInt; b: Int128): bool 504
|
||||
nim `==` int128.html#==,Int128,BiggestInt proc `==`(a: Int128; b: BiggestInt): bool 507
|
||||
nim `==` int128.html#==,BiggestInt,Int128 proc `==`(a: BiggestInt; b: Int128): bool 510
|
||||
nim `-` int128.html#-,BiggestInt,Int128 proc `-`(a: BiggestInt; b: Int128): Int128 513
|
||||
nim `-` int128.html#-,Int128,BiggestInt proc `-`(a: Int128; b: BiggestInt): Int128 516
|
||||
nim `+` int128.html#+,BiggestInt,Int128 proc `+`(a: BiggestInt; b: Int128): Int128 519
|
||||
nim `+` int128.html#+,Int128,BiggestInt proc `+`(a: Int128; b: BiggestInt): Int128 522
|
||||
nim toFloat64 int128.html#toFloat64,Int128 proc toFloat64(arg: Int128): float64 525
|
||||
nim toInt128 int128.html#toInt128,float64 proc toInt128(arg: float64): Int128 540
|
||||
nim maskUInt64 int128.html#maskUInt64,Int128 proc maskUInt64(arg: Int128): Int128 555
|
||||
nim maskUInt32 int128.html#maskUInt32,Int128 proc maskUInt32(arg: Int128): Int128 562
|
||||
nim maskUInt16 int128.html#maskUInt16,Int128 proc maskUInt16(arg: Int128): Int128 569
|
||||
nim maskUInt8 int128.html#maskUInt8,Int128 proc maskUInt8(arg: Int128): Int128 576
|
||||
nim maskBytes int128.html#maskBytes,Int128,int proc maskBytes(arg: Int128; numbytes: int): Int128 583
|
||||
nimgrp - int128.html#--procs-all proc 304
|
||||
nimgrp toint128 int128.html#toInt128-procs-all proc 35
|
||||
nimgrp <= int128.html#<=-procs-all proc 201
|
||||
nimgrp < int128.html#<-procs-all proc 198
|
||||
nimgrp == int128.html#==-procs-all proc 204
|
||||
nimgrp + int128.html#+-procs-all proc 290
|
||||
nimgrp * int128.html#*-procs-all proc 338
|
||||
143
compiler/isolation_check.html
Normal file
143
compiler/isolation_check.html
Normal file
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>isolation_check</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">isolation_check</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">canAlias
|
||||
<li><a class="reference" href="#canAlias%2CPType%2CPType" title="canAlias(arg, ret: PType): bool">canAlias(arg, ret: PType): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">checkIsolate
|
||||
<li><a class="reference" href="#checkIsolate%2CPNode" title="checkIsolate(n: PNode): bool">checkIsolate(n: PNode): bool</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/isolation_check.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/isolation_check.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Implementation of the check that <tt class="docutils literal"><span class="pre"><span class="Identifier">recover</span></span></tt> needs, see <a class="reference external" href="https://github.com/nim-lang/RFCs/issues/244">https://github.com/nim-lang/RFCs/issues/244</a> for more details.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="renderer.html">renderer</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="canAlias-procs-all">
|
||||
<div id="canAlias,PType,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#canAlias%2CPType%2CPType"><span class="Identifier">canAlias</span></a><span class="Other">(</span><span class="Identifier">arg</span><span class="Other">,</span> <span class="Identifier">ret</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/isolation_check.nim#L144" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/isolation_check.nim#L144" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="checkIsolate-procs-all">
|
||||
<div id="checkIsolate,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#checkIsolate%2CPNode"><span class="Identifier">checkIsolate</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/isolation_check.nim#L166" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/isolation_check.nim#L166" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:09 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
3
compiler/isolation_check.idx
Normal file
3
compiler/isolation_check.idx
Normal file
@@ -0,0 +1,3 @@
|
||||
nimTitle isolation_check isolation_check.html module isolation_check 0
|
||||
nim canAlias isolation_check.html#canAlias,PType,PType proc canAlias(arg, ret: PType): bool 144
|
||||
nim checkIsolate isolation_check.html#checkIsolate,PNode proc checkIsolate(n: PNode): bool 166
|
||||
345
compiler/itemids.html
Normal file
345
compiler/itemids.html
Normal file
@@ -0,0 +1,345 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>itemids</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">itemids</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#ItemId" title="ItemId = object">ItemId</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#PackageModuleId" title="PackageModuleId = -3'i32">PackageModuleId</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">$
|
||||
<li><a class="reference" href="#%24%2CItemId" title="`$`(x: ItemId): string">`$`(x: ItemId): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">==
|
||||
<li><a class="reference" href="#%3D%3D%2CItemId%2CItemId" title="`==`(a, b: ItemId): bool">`==`(a, b: ItemId): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">backendItemId
|
||||
<li><a class="reference" href="#backendItemId%2Cint32%2Cint32" title="backendItemId(module, item: int32): ItemId">backendItemId(module, item: int32): ItemId</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">derivedFieldId
|
||||
<li><a class="reference" href="#derivedFieldId%2CItemId" title="derivedFieldId(source: ItemId): ItemId">derivedFieldId(source: ItemId): ItemId</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">hash
|
||||
<li><a class="reference" href="#hash%2CItemId" title="hash(x: ItemId): Hash">hash(x: ItemId): Hash</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isBackendMinted
|
||||
<li><a class="reference" href="#isBackendMinted%2CItemId" title="isBackendMinted(x: ItemId): bool">isBackendMinted(x: ItemId): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">item
|
||||
<li><a class="reference" href="#item%2CItemId" title="item(x: ItemId): int32">item(x: ItemId): int32</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">itemId
|
||||
<li><a class="reference" href="#itemId%2Cint32%2Cint32" title="itemId(module, item: int32): ItemId">itemId(module, item: int32): ItemId</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">matchesDerivedFieldId
|
||||
<li><a class="reference" href="#matchesDerivedFieldId%2CItemId%2CItemId" title="matchesDerivedFieldId(field, source: ItemId): bool">matchesDerivedFieldId(field, source: ItemId): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">module
|
||||
<li><a class="reference" href="#module%2CItemId" title="module(x: ItemId): int32">module(x: ItemId): int32</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">toId
|
||||
<li><a class="reference" href="#toId%2CItemId" title="toId(a: ItemId): int">toId(a: ItemId): int</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"><p><tt class="docutils literal"><span class="pre"><span class="Identifier">ItemId</span></span></tt> is the identity of a symbol or type: a <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">module</span><span class="Punctuation">,</span> <span class="Identifier">item</span><span class="Punctuation">)</span></span></tt> pair.</p>
|
||||
<p>The fields are private on purpose: the module half reserves bit 30 as the "backend minted" marker, so all construction and inspection has to go through this module's API and the marker bit can never leak into module indexing or arithmetic.</p>
|
||||
<p>Three id spaces coexist per module:</p>
|
||||
<ul class="simple"><li>Semantic-phase and NIF-loader ids: <tt class="docutils literal"><span class="pre"><span class="Identifier">itemId</span><span class="Punctuation">(</span><span class="Identifier">module</span><span class="Punctuation">,</span> <span class="Identifier">item</span><span class="Punctuation">)</span></span></tt> with <tt class="docutils literal"><span class="pre"><span class="Identifier">item</span> <span class="Operator">></span> <span class="DecNumber">0</span></span></tt>.</li>
|
||||
<li>Backend-minted ids (IC codegen, <tt class="docutils literal"><span class="pre"><span class="Identifier">nim</span> <span class="Identifier">nifc</span></span></tt>: transf labels and temps, lifted hooks): <tt class="docutils literal"><span class="pre"><span class="Identifier">backendItemId</span></span></tt> sets <tt class="docutils literal"><span class="pre"><span class="Identifier">BackendModuleBit</span></span></tt>, so these can never compare equal to a loader id even though both counters mint the same small <tt class="docutils literal"><span class="pre"><span class="Identifier">item</span></span></tt> range in one process. They never cross a process boundary and must never be written to a NIF file.</li>
|
||||
<li>Derived env/tuple-field ids (<tt class="docutils literal"><span class="pre"><span class="Identifier">lowerings</span><span class="Operator">.</span><span class="Identifier">addField</span></span></tt>): the source local's id with <tt class="docutils literal"><span class="pre"><span class="Identifier">item</span></span></tt> negated. <tt class="docutils literal"><span class="pre"><span class="Identifier">derivedFieldId</span></span></tt> preserves the backend marker, keeping the derivation collision-free for both id spaces above.</li>
|
||||
</ul>
|
||||
</p>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="ItemId">
|
||||
<dt><pre><a href="#ItemId"><span class="Identifier">ItemId</span></a> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L41" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L41" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="PackageModuleId">
|
||||
<dt><pre><a href="#PackageModuleId"><span class="Identifier">PackageModuleId</span></a> <span class="Other">=</span> <span class="DecNumber">-3'i32</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L38" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L38" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="$-procs-all">
|
||||
<div id="$,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%24%2CItemId"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L86" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L86" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="==-procs-all">
|
||||
<div id="==,ItemId,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CItemId%2CItemId"><span class="Identifier">`==`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L77" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L77" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="backendItemId-procs-all">
|
||||
<div id="backendItemId,int32,int32">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#backendItemId%2Cint32%2Cint32"><span class="Identifier">backendItemId</span></a><span class="Other">(</span><span class="Identifier">module</span><span class="Other">,</span> <span class="Identifier">item</span><span class="Other">:</span> <span class="Identifier">int32</span><span class="Other">)</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
An id minted during IC codegen; distinct from every <tt class="docutils literal"><span class="pre"><span class="Identifier">itemId</span></span></tt> of the same module so that the loader's stub counter and the backend's counter cannot collide in id-keyed tables.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L49" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L49" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="derivedFieldId-procs-all">
|
||||
<div id="derivedFieldId,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#derivedFieldId%2CItemId"><span class="Identifier">derivedFieldId</span></a><span class="Other">(</span><span class="Identifier">source</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
The id of the env/tuple field that <tt class="docutils literal"><span class="pre"><span class="Identifier">lowerings</span><span class="Operator">.</span><span class="Identifier">addField</span></span></tt> derives for a captured local: <tt class="docutils literal"><span class="pre"><span class="Identifier">item</span></span></tt> negated, module bits (including the backend marker) preserved.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L65" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L65" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="hash-procs-all">
|
||||
<div id="hash,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hash%2CItemId"><span class="Identifier">hash</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Hash</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L81" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L81" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isBackendMinted-procs-all">
|
||||
<div id="isBackendMinted,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isBackendMinted%2CItemId"><span class="Identifier">isBackendMinted</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L62" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L62" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="item-procs-all">
|
||||
<div id="item,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#item%2CItemId"><span class="Identifier">item</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int32</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L60" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L60" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="itemId-procs-all">
|
||||
<div id="itemId,int32,int32">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#itemId%2Cint32%2Cint32"><span class="Identifier">itemId</span></a><span class="Other">(</span><span class="Identifier">module</span><span class="Other">,</span> <span class="Identifier">item</span><span class="Other">:</span> <span class="Identifier">int32</span><span class="Other">)</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L45" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L45" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="matchesDerivedFieldId-procs-all">
|
||||
<div id="matchesDerivedFieldId,ItemId,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#matchesDerivedFieldId%2CItemId%2CItemId"><span class="Identifier">matchesDerivedFieldId</span></a><span class="Other">(</span><span class="Identifier">field</span><span class="Other">,</span> <span class="Identifier">source</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Does <tt class="docutils literal"><span class="pre"><span class="Identifier">field</span></span></tt> carry the id <tt class="docutils literal"><span class="pre"><span class="Identifier">derivedFieldId</span></span></tt> would derive for <tt class="docutils literal"><span class="pre"><span class="Identifier">source</span></span></tt>? <tt class="docutils literal"><span class="pre"><span class="Identifier">source</span></span></tt> may itself already be the derived field id.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L71" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L71" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="module-procs-all">
|
||||
<div id="module,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#module%2CItemId"><span class="Identifier">module</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int32</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L56" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L56" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="toId-procs-all">
|
||||
<div id="toId,ItemId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#toId%2CItemId"><span class="Identifier">toId</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Packs an ItemId into a single int. Uses the raw module bits so the backend marker keeps the two id spaces disjoint (bit 30 shifts to bit 54; like the module/item split itself this needs a 64-bit int).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/itemids.nim#L94" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/itemids.nim#L94" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:06 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
14
compiler/itemids.idx
Normal file
14
compiler/itemids.idx
Normal file
@@ -0,0 +1,14 @@
|
||||
nimTitle itemids itemids.html module itemids 0
|
||||
nim PackageModuleId itemids.html#PackageModuleId const PackageModuleId 38
|
||||
nim ItemId itemids.html#ItemId object ItemId 41
|
||||
nim itemId itemids.html#itemId,int32,int32 proc itemId(module, item: int32): ItemId 45
|
||||
nim backendItemId itemids.html#backendItemId,int32,int32 proc backendItemId(module, item: int32): ItemId 49
|
||||
nim module itemids.html#module,ItemId proc module(x: ItemId): int32 56
|
||||
nim item itemids.html#item,ItemId proc item(x: ItemId): int32 60
|
||||
nim isBackendMinted itemids.html#isBackendMinted,ItemId proc isBackendMinted(x: ItemId): bool 62
|
||||
nim derivedFieldId itemids.html#derivedFieldId,ItemId proc derivedFieldId(source: ItemId): ItemId 65
|
||||
nim matchesDerivedFieldId itemids.html#matchesDerivedFieldId,ItemId,ItemId proc matchesDerivedFieldId(field, source: ItemId): bool 71
|
||||
nim `==` itemids.html#==,ItemId,ItemId proc `==`(a, b: ItemId): bool 77
|
||||
nim hash itemids.html#hash,ItemId proc hash(x: ItemId): Hash 81
|
||||
nim `$` itemids.html#$,ItemId proc `$`(x: ItemId): string 86
|
||||
nim toId itemids.html#toId,ItemId proc toId(a: ItemId): int 94
|
||||
195
compiler/jsgen.html
Normal file
195
compiler/jsgen.html
Normal file
@@ -0,0 +1,195 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>jsgen</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">jsgen</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">finalJSCodeGen
|
||||
<li><a class="reference" href="#finalJSCodeGen%2CModuleGraph%2CPPassContext%2CPNode" title="finalJSCodeGen(graph: ModuleGraph; b: PPassContext; n: PNode): PNode">finalJSCodeGen(graph: ModuleGraph; b: PPassContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">processJSCodeGen
|
||||
<li><a class="reference" href="#processJSCodeGen%2CPPassContext%2CPNode" title="processJSCodeGen(b: PPassContext; n: PNode): PNode">processJSCodeGen(b: PPassContext; n: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">setupJSgen
|
||||
<li><a class="reference" href="#setupJSgen%2CModuleGraph%2CPSym%2CIdGenerator" title="setupJSgen(graph: ModuleGraph; s: PSym; idgen: IdGenerator): PPassContext">setupJSgen(graph: ModuleGraph; s: PSym; idgen: IdGenerator): PPassContext</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">config
|
||||
<li><a class="reference" href="#config.t%2CPProc" title="config(p: PProc): ConfigRef">config(p: PProc): ConfigRef</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/jsgen.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/jsgen.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Type info generation for the JS backend.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="trees.html">trees</a>, <a class="reference external" href="magicsys.html">magicsys</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="nversion.html">nversion</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="ropes.html">ropes</a>, <a class="reference external" href="wordrecg.html">wordrecg</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="cgmeth.html">cgmeth</a>, <a class="reference external" href="lowerings.html">lowerings</a>, <a class="reference external" href="sighashes.html">sighashes</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="transf.html">transf</a>, <a class="reference external" href="injectdestructors.html">injectdestructors</a>, <a class="reference external" href="sourcemap.html">sourcemap</a>, <a class="reference external" href="astmsgs.html">astmsgs</a>, <a class="reference external" href="pushpoppragmas.html">pushpoppragmas</a>, <a class="reference external" href="mangleutils.html">mangleutils</a>, <a class="reference external" href="varpartitions.html">varpartitions</a>, <a class="reference external" href="pipelineutils.html">pipelineutils</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="finalJSCodeGen-procs-all">
|
||||
<div id="finalJSCodeGen,ModuleGraph,PPassContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#finalJSCodeGen%2CModuleGraph%2CPPassContext%2CPNode"><span class="Identifier">finalJSCodeGen</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">TimeEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Finalize JS code generation of a Nim module. Param <tt class="docutils literal"><span class="pre"><span class="Identifier">n</span></span></tt> may contain nodes returned from the last module close call.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/jsgen.nim#L3207" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/jsgen.nim#L3207" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="processJSCodeGen-procs-all">
|
||||
<div id="processJSCodeGen,PPassContext,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processJSCodeGen%2CPPassContext%2CPNode"><span class="Identifier">processJSCodeGen</span></a><span class="Other">(</span><span class="Identifier">b</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
Generate JS code for a node.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/jsgen.nim#L3177" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/jsgen.nim#L3177" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="setupJSgen-procs-all">
|
||||
<div id="setupJSgen,ModuleGraph,PSym,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#setupJSgen%2CModuleGraph%2CPSym%2CIdGenerator"><span class="Identifier">setupJSgen</span></a><span class="Other">(</span><span class="Identifier">graph</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="modulegraphs.html#PPassContext"><span class="Identifier">PPassContext</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/jsgen.nim#L3242" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/jsgen.nim#L3242" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="18">
|
||||
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
||||
<dl class="item">
|
||||
<div id="config-templates-all">
|
||||
<div id="config.t,PProc">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#config.t%2CPProc"><span class="Identifier">config</span></a><span class="Other">(</span><span class="Identifier">p</span><span class="Other">:</span> <span class="Identifier">PProc</span><span class="Other">)</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/jsgen.nim#L118" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/jsgen.nim#L118" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
5
compiler/jsgen.idx
Normal file
5
compiler/jsgen.idx
Normal file
@@ -0,0 +1,5 @@
|
||||
nimTitle jsgen jsgen.html module jsgen 0
|
||||
nim config jsgen.html#config.t,PProc template config(p: PProc): ConfigRef 118
|
||||
nim processJSCodeGen jsgen.html#processJSCodeGen,PPassContext,PNode proc processJSCodeGen(b: PPassContext; n: PNode): PNode 3177
|
||||
nim finalJSCodeGen jsgen.html#finalJSCodeGen,ModuleGraph,PPassContext,PNode proc finalJSCodeGen(graph: ModuleGraph; b: PPassContext; n: PNode): PNode 3207
|
||||
nim setupJSgen jsgen.html#setupJSgen,ModuleGraph,PSym,IdGenerator proc setupJSgen(graph: ModuleGraph; s: PSym; idgen: IdGenerator): PPassContext 3242
|
||||
442
compiler/lambdalifting.html
Normal file
442
compiler/lambdalifting.html
Normal file
@@ -0,0 +1,442 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>lambdalifting</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">lambdalifting</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple">
|
||||
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput" oninput="search()"/>
|
||||
</div>
|
||||
<div>
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li>
|
||||
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<li><a class="reference" href="#envName" title="envName = ":env"">envName</a></li>
|
||||
<li><a class="reference" href="#paramName" title="paramName = ":envP"">paramName</a></li>
|
||||
<li><a class="reference" href="#upName" title="upName = ":up"">upName</a></li>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">addHiddenParam
|
||||
<li><a class="reference" href="#addHiddenParam%2CPSym%2CPSym" title="addHiddenParam(routine: PSym; param: PSym)">addHiddenParam(routine: PSym; param: PSym)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">createClosureIterStateType
|
||||
<li><a class="reference" href="#createClosureIterStateType%2CModuleGraph%2CPSym%2CIdGenerator" title="createClosureIterStateType(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PType">createClosureIterStateType(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PType</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getClosureIterResult
|
||||
<li><a class="reference" href="#getClosureIterResult%2CModuleGraph%2CPSym%2CIdGenerator" title="getClosureIterResult(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PSym">getClosureIterResult(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getEnvParam
|
||||
<li><a class="reference" href="#getEnvParam%2CPSym" title="getEnvParam(routine: PSym): PSym">getEnvParam(routine: PSym): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getStateField
|
||||
<li><a class="reference" href="#getStateField%2CModuleGraph%2CPSym" title="getStateField(g: ModuleGraph; owner: PSym): PSym">getStateField(g: ModuleGraph; owner: PSym): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isInnerProc
|
||||
<li><a class="reference" href="#isInnerProc%2CPSym" title="isInnerProc(s: PSym): bool">isInnerProc(s: PSym): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">liftForLoop
|
||||
<li><a class="reference" href="#liftForLoop%2CModuleGraph%2CPNode%2CIdGenerator%2CPSym" title="liftForLoop(g: ModuleGraph; body: PNode; idgen: IdGenerator; owner: PSym): PNode">liftForLoop(g: ModuleGraph; body: PNode; idgen: IdGenerator; owner: PSym): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">liftIterSym
|
||||
<li><a class="reference" href="#liftIterSym%2CModuleGraph%2CPNode%2CIdGenerator%2CPSym" title="liftIterSym(g: ModuleGraph; n: PNode; idgen: IdGenerator; owner: PSym): PNode">liftIterSym(g: ModuleGraph; n: PNode; idgen: IdGenerator; owner: PSym): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">liftIterToProc
|
||||
<li><a class="reference" href="#liftIterToProc%2CModuleGraph%2CPSym%2CPNode%2CPType%2CIdGenerator" title="liftIterToProc(g: ModuleGraph; fn: PSym; body: PNode; ptrType: PType;
|
||||
idgen: IdGenerator): PNode">liftIterToProc(g: ModuleGraph; fn: PSym; body: PNode; ptrType: PType;
|
||||
idgen: IdGenerator): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">liftLambdas
|
||||
<li><a class="reference" href="#liftLambdas%2CModuleGraph%2CPSym%2CPNode%2Cbool%2CIdGenerator%2CTransformFlags" title="liftLambdas(g: ModuleGraph; fn: PSym; body: PNode; tooEarly: var bool;
|
||||
idgen: IdGenerator; flags: TransformFlags): PNode">liftLambdas(g: ModuleGraph; fn: PSym; body: PNode; tooEarly: var bool;
|
||||
idgen: IdGenerator; flags: TransformFlags): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">liftLambdasForTopLevel
|
||||
<li><a class="reference" href="#liftLambdasForTopLevel%2CPSym%2CPNode" title="liftLambdasForTopLevel(module: PSym; body: PNode): PNode">liftLambdasForTopLevel(module: PSym; body: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">makeClosure
|
||||
<li><a class="reference" href="#makeClosure%2CModuleGraph%2CIdGenerator%2CPSym%2CPNode%2CTLineInfo" title="makeClosure(g: ModuleGraph; idgen: IdGenerator; prc: PSym; env: PNode;
|
||||
info: TLineInfo): PNode">makeClosure(g: ModuleGraph; idgen: IdGenerator; prc: PSym; env: PNode;
|
||||
info: TLineInfo): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">semCaptureSym
|
||||
<li><a class="reference" href="#semCaptureSym%2CPSym%2CPSym" title="semCaptureSym(s, owner: PSym)">semCaptureSym(s, owner: PSym)</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details open>
|
||||
<summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">isIterator
|
||||
<li><a class="reference" href="#isIterator.t%2CPSym" title="isIterator(owner: PSym): bool">isIterator(owner: PSym): bool</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"></p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="options.html">options</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="astalgo.html">astalgo</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="magicsys.html">magicsys</a>, <a class="reference external" href="lowerings.html">lowerings</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="transf.html">transf</a>, <a class="reference external" href="liftdestructors.html">liftdestructors</a>, <a class="reference external" href="typeallowed.html">typeallowed</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="10">
|
||||
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
||||
<dl class="item">
|
||||
<div id="envName">
|
||||
<dt><pre><a href="#envName"><span class="Identifier">envName</span></a> <span class="Other">=</span> <span class="StringLit">":env"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L127" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L127" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="paramName">
|
||||
<dt><pre><a href="#paramName"><span class="Identifier">paramName</span></a> <span class="Other">=</span> <span class="StringLit">":envP"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L126" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L126" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="upName">
|
||||
<dt><pre><a href="#upName"><span class="Identifier">upName</span></a> <span class="Other">=</span> <span class="StringLit">":up"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L125" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L125" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="addHiddenParam-procs-all">
|
||||
<div id="addHiddenParam,PSym,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#addHiddenParam%2CPSym%2CPSym"><span class="Identifier">addHiddenParam</span></a><span class="Other">(</span><span class="Identifier">routine</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">param</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L179" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L179" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="createClosureIterStateType-procs-all">
|
||||
<div id="createClosureIterStateType,ModuleGraph,PSym,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#createClosureIterStateType%2CModuleGraph%2CPSym%2CIdGenerator"><span class="Identifier">createClosureIterStateType</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">iter</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L134" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L134" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getClosureIterResult-procs-all">
|
||||
<div id="getClosureIterResult,ModuleGraph,PSym,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getClosureIterResult%2CModuleGraph%2CPSym%2CIdGenerator"><span class="Identifier">getClosureIterResult</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">iter</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.
|
||||
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L157" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L157" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getEnvParam-procs-all">
|
||||
<div id="getEnvParam,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getEnvParam%2CPSym"><span class="Identifier">getEnvParam</span></a><span class="Other">(</span><span class="Identifier">routine</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L190" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L190" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getStateField-procs-all">
|
||||
<div id="getStateField,ModuleGraph,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getStateField%2CModuleGraph%2CPSym"><span class="Identifier">getStateField</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">owner</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span>
|
||||
<span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L758" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L758" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isInnerProc-procs-all">
|
||||
<div id="isInnerProc,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isInnerProc%2CPSym"><span class="Identifier">isInnerProc</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L216" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L216" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="liftForLoop-procs-all">
|
||||
<div id="liftForLoop,ModuleGraph,PNode,IdGenerator,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#liftForLoop%2CModuleGraph%2CPNode%2CIdGenerator%2CPSym"><span class="Identifier">liftForLoop</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">body</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">;</span> <span class="Identifier">owner</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L964" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L964" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="liftIterSym-procs-all">
|
||||
<div id="liftIterSym,ModuleGraph,PNode,IdGenerator,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#liftIterSym%2CModuleGraph%2CPNode%2CIdGenerator%2CPSym"><span class="Identifier">liftIterSym</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">;</span> <span class="Identifier">owner</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L269" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L269" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="liftIterToProc-procs-all">
|
||||
<div id="liftIterToProc,ModuleGraph,PSym,PNode,PType,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#liftIterToProc%2CModuleGraph%2CPSym%2CPNode%2CPType%2CIdGenerator"><span class="Identifier">liftIterToProc</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">fn</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">body</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">ptrType</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L910" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L910" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="liftLambdas-procs-all">
|
||||
<div id="liftLambdas,ModuleGraph,PSym,PNode,bool,IdGenerator,TransformFlags">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#liftLambdas%2CModuleGraph%2CPSym%2CPNode%2Cbool%2CIdGenerator%2CTransformFlags"><span class="Identifier">liftLambdas</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">fn</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">body</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">tooEarly</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">bool</span><span class="Other">;</span>
|
||||
<span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">;</span> <span class="Identifier">flags</span><span class="Other">:</span> <a href="transf.html#TransformFlags"><span class="Identifier">TransformFlags</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
||||
<span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L925" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L925" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="liftLambdasForTopLevel-procs-all">
|
||||
<div id="liftLambdasForTopLevel,PSym,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#liftLambdasForTopLevel%2CPSym%2CPNode"><span class="Identifier">liftLambdasForTopLevel</span></a><span class="Other">(</span><span class="Identifier">module</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">body</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L958" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L958" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="makeClosure-procs-all">
|
||||
<div id="makeClosure,ModuleGraph,IdGenerator,PSym,PNode,TLineInfo">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#makeClosure%2CModuleGraph%2CIdGenerator%2CPSym%2CPNode%2CTLineInfo"><span class="Identifier">makeClosure</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">;</span> <span class="Identifier">prc</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">env</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span>
|
||||
<span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span>
|
||||
<span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L236" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L236" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="semCaptureSym-procs-all">
|
||||
<div id="semCaptureSym,PSym,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#semCaptureSym%2CPSym%2CPSym"><span class="Identifier">semCaptureSym</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">,</span> <span class="Identifier">owner</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span>
|
||||
<span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L873" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L873" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="18">
|
||||
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
||||
<dl class="item">
|
||||
<div id="isIterator-templates-all">
|
||||
<div id="isIterator.t,PSym">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#isIterator.t%2CPSym"><span class="Identifier">isIterator</span></a><span class="Other">(</span><span class="Identifier">owner</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lambdalifting.nim#L148" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L148" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-10 18:29:10 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user