Deploy to GitHub pages
This commit is contained in:
commit
2ef2c469d1
850 changed files with 332608 additions and 0 deletions
218
compiler/aliasanalysis.html
Normal file
218
compiler/aliasanalysis.html
Normal file
|
|
@ -0,0 +1,218 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/aliasanalysis</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="aliasanalysis.html#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="aliasanalysis.html#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="aliasanalysis.html#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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="aliasanalysis.html#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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">owner</span><span class="Other">:</span> <a href="ast.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="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#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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
10
compiler/aliasanalysis.idx
Normal file
10
compiler/aliasanalysis.idx
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
nimTitle aliasanalysis aliasanalysis.html module compiler/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
|
||||
168
compiler/aliases.html
Normal file
168
compiler/aliases.html
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/aliases</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="aliases.html#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#L19" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliases.nim#L19" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="aliases.html#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">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">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#L69" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/aliases.nim#L69" 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: 2023-03-13 00:20:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
6
compiler/aliases.idx
Normal file
6
compiler/aliases.idx
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
nimTitle aliases aliases.html module compiler/aliases 0
|
||||
nim arNo aliases.html#arNo TAnalysisResult.arNo 19
|
||||
nim arMaybe aliases.html#arMaybe TAnalysisResult.arMaybe 19
|
||||
nim arYes aliases.html#arYes TAnalysisResult.arYes 19
|
||||
nim TAnalysisResult aliases.html#TAnalysisResult enum TAnalysisResult 19
|
||||
nim isPartOf aliases.html#isPartOf,PNode,PNode proc isPartOf(a, b: PNode): TAnalysisResult 69
|
||||
4747
compiler/ast.html
Normal file
4747
compiler/ast.html
Normal file
File diff suppressed because one or more lines are too long
1005
compiler/ast.idx
Normal file
1005
compiler/ast.idx
Normal file
File diff suppressed because it is too large
Load diff
1211
compiler/astalgo.html
Normal file
1211
compiler/astalgo.html
Normal file
File diff suppressed because it is too large
Load diff
66
compiler/astalgo.idx
Normal file
66
compiler/astalgo.idx
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
nimTitle astalgo astalgo.html module compiler/astalgo 0
|
||||
nim hashNode astalgo.html#hashNode,RootRef proc hashNode(p: RootRef): Hash 23
|
||||
nim treeToYaml astalgo.html#treeToYaml,ConfigRef,PNode,int,int proc treeToYaml(conf: ConfigRef; n: PNode; indent: int = 0; maxRecDepth: int = -1): Rope 24
|
||||
nim typeToYaml astalgo.html#typeToYaml,ConfigRef,PType,int,int proc typeToYaml(conf: ConfigRef; n: PType; indent: int = 0; maxRecDepth: int = -1): Rope 28
|
||||
nim symToYaml astalgo.html#symToYaml,ConfigRef,PSym,int,int proc symToYaml(conf: ConfigRef; n: PSym; indent: int = 0; maxRecDepth: int = -1): Rope 29
|
||||
nim lineInfoToStr astalgo.html#lineInfoToStr,ConfigRef,TLineInfo proc lineInfoToStr(conf: ConfigRef; info: TLineInfo): Rope 30
|
||||
nim debug astalgo.html#debug,PSym,ConfigRef proc debug(n: PSym; conf: ConfigRef = nil) 35
|
||||
nim debug astalgo.html#debug,PType,ConfigRef proc debug(n: PType; conf: ConfigRef = nil) 36
|
||||
nim debug astalgo.html#debug,PNode,ConfigRef proc debug(n: PNode; conf: ConfigRef = nil) 37
|
||||
nim typekinds astalgo.html#typekinds,PType proc typekinds(t: PType) 39
|
||||
nim debug astalgo.html#debug.t template debug(x: PSym | PType | PNode) 48
|
||||
nim debug astalgo.html#debug.t,auto template debug(x: auto) 56
|
||||
nim mdbg astalgo.html#mdbg.t template mdbg(): bool 59
|
||||
nim idTableGet astalgo.html#idTableGet,TIdTable,PIdObj proc idTableGet(t: TIdTable; key: PIdObj): RootRef 83
|
||||
nim idTableGet astalgo.html#idTableGet,TIdTable,int proc idTableGet(t: TIdTable; key: int): RootRef 84
|
||||
nim idTablePut astalgo.html#idTablePut,TIdTable,PIdObj,RootRef proc idTablePut(t: var TIdTable; key: PIdObj; val: RootRef) 85
|
||||
nim idTableHasObjectAsKey astalgo.html#idTableHasObjectAsKey,TIdTable,PIdObj proc idTableHasObjectAsKey(t: TIdTable; key: PIdObj): bool 86
|
||||
nim idNodeTableGet astalgo.html#idNodeTableGet,TIdNodeTable,PIdObj proc idNodeTableGet(t: TIdNodeTable; key: PIdObj): PNode 89
|
||||
nim idNodeTablePut astalgo.html#idNodeTablePut,TIdNodeTable,PIdObj,PNode proc idNodeTablePut(t: var TIdNodeTable; key: PIdObj; val: PNode) 90
|
||||
nim lookupInRecord astalgo.html#lookupInRecord,PNode,PIdent proc lookupInRecord(n: PNode; field: PIdent): PSym 94
|
||||
nim mustRehash astalgo.html#mustRehash,int,int proc mustRehash(length, counter: int): bool 95
|
||||
nim nextTry astalgo.html#nextTry,Hash,Hash proc nextTry(h, maxHash: Hash): Hash 96
|
||||
nim InvalidKey astalgo.html#InvalidKey const InvalidKey 100
|
||||
nim TIIPair astalgo.html#TIIPair object TIIPair 103
|
||||
nim TIIPairSeq astalgo.html#TIIPairSeq type TIIPairSeq 106
|
||||
nim TIITable astalgo.html#TIITable object TIITable 107
|
||||
nim initIiTable astalgo.html#initIiTable,TIITable proc initIiTable(x: var TIITable) 112
|
||||
nim iiTableGet astalgo.html#iiTableGet,TIITable,int proc iiTableGet(t: TIITable; key: int): int 113
|
||||
nim iiTablePut astalgo.html#iiTablePut,TIITable,int,int proc iiTablePut(t: var TIITable; key, val: int) 114
|
||||
nim skipConvCastAndClosure astalgo.html#skipConvCastAndClosure,PNode proc skipConvCastAndClosure(n: PNode): PNode 118
|
||||
nim sameValue astalgo.html#sameValue,PNode,PNode proc sameValue(a, b: PNode): bool 129
|
||||
nim leValue astalgo.html#leValue,PNode,PNode proc leValue(a, b: PNode): bool 143
|
||||
nim weakLeValue astalgo.html#weakLeValue,PNode,PNode proc weakLeValue(a, b: PNode): TImplication 158
|
||||
nim getModule astalgo.html#getModule,PSym proc getModule(s: PSym): PSym 185
|
||||
nim fromSystem astalgo.html#fromSystem,PSym proc fromSystem(op: PSym): bool 190
|
||||
nim getSymFromList astalgo.html#getSymFromList,PNode,PIdent,int proc getSymFromList(list: PNode; ident: PIdent; start: int = 0): PSym 191
|
||||
nim getNamedParamFromList astalgo.html#getNamedParamFromList,PNode,PIdent proc getNamedParamFromList(list: PNode; ident: PIdent): PSym 225
|
||||
nim makeYamlString astalgo.html#makeYamlString,string proc makeYamlString(s: string): Rope 255
|
||||
nim objectSetContains astalgo.html#objectSetContains,TObjectSet,RootRef proc objectSetContains(t: TObjectSet; obj: RootRef): bool 676
|
||||
nim objectSetIncl astalgo.html#objectSetIncl,TObjectSet,RootRef proc objectSetIncl(t: var TObjectSet; obj: RootRef) 700
|
||||
nim objectSetContainsOrIncl astalgo.html#objectSetContainsOrIncl,TObjectSet,RootRef proc objectSetContainsOrIncl(t: var TObjectSet; obj: RootRef): bool 705
|
||||
nim strTableContains astalgo.html#strTableContains,TStrTable,PSym proc strTableContains(t: TStrTable; n: PSym): bool 723
|
||||
nim symTabReplace astalgo.html#symTabReplace,TStrTable,PSym,PSym proc symTabReplace(t: var TStrTable; prevSym: PSym; newSym: PSym) 752
|
||||
nim strTableAdd astalgo.html#strTableAdd,TStrTable,PSym proc strTableAdd(t: var TStrTable; n: PSym) 762
|
||||
nim strTableInclReportConflict astalgo.html#strTableInclReportConflict,TStrTable,PSym proc strTableInclReportConflict(t: var TStrTable; n: PSym; onConflictKeepOld = false): PSym 767
|
||||
nim strTableIncl astalgo.html#strTableIncl,TStrTable,PSym proc strTableIncl(t: var TStrTable; n: PSym; onConflictKeepOld = false): bool 800
|
||||
nim strTableGet astalgo.html#strTableGet,TStrTable,PIdent proc strTableGet(t: TStrTable; name: PIdent): PSym 804
|
||||
nim TIdentIter astalgo.html#TIdentIter object TIdentIter 814
|
||||
nim nextIdentIter astalgo.html#nextIdentIter,TIdentIter,TStrTable proc nextIdentIter(ti: var TIdentIter; tab: TStrTable): PSym 818
|
||||
nim initIdentIter astalgo.html#initIdentIter,TIdentIter,TStrTable,PIdent proc initIdentIter(ti: var TIdentIter; tab: TStrTable; s: PIdent): PSym 836
|
||||
nim nextIdentExcluding astalgo.html#nextIdentExcluding,TIdentIter,TStrTable,IntSet proc nextIdentExcluding(ti: var TIdentIter; tab: TStrTable; excluding: IntSet): PSym 842
|
||||
nim firstIdentExcluding astalgo.html#firstIdentExcluding,TIdentIter,TStrTable,PIdent,IntSet proc firstIdentExcluding(ti: var TIdentIter; tab: TStrTable; s: PIdent;\n excluding: IntSet): PSym 858
|
||||
nim TTabIter astalgo.html#TTabIter object TTabIter 866
|
||||
nim nextIter astalgo.html#nextIter,TTabIter,TStrTable proc nextIter(ti: var TTabIter; tab: TStrTable): PSym 869
|
||||
nim initTabIter astalgo.html#initTabIter,TTabIter,TStrTable proc initTabIter(ti: var TTabIter; tab: TStrTable): PSym 885
|
||||
nim items astalgo.html#items.i,TStrTable iterator items(tab: TStrTable): PSym 892
|
||||
nim pairs astalgo.html#pairs.i,TIdTable iterator pairs(t: TIdTable): tuple[key: int, value: RootRef] 929
|
||||
nim idTablePairs astalgo.html#idTablePairs.i,TIdTable iterator idTablePairs(t: TIdTable): tuple[key: PIdObj, val: RootRef] 963
|
||||
nim pairs astalgo.html#pairs.i,TIdNodeTable iterator pairs(t: TIdNodeTable): tuple[key: PIdObj, val: PNode] 1008
|
||||
nim isAddrNode astalgo.html#isAddrNode,PNode proc isAddrNode(n: PNode): bool 1057
|
||||
nim listSymbolNames astalgo.html#listSymbolNames,openArray[PSym] proc listSymbolNames(symbols: openArray[PSym]): string 1065
|
||||
nim isDiscriminantField astalgo.html#isDiscriminantField,PNode proc isDiscriminantField(n: PNode): bool 1071
|
||||
nimgrp debug astalgo.html#debug-procs-all proc 35
|
||||
nimgrp idtableget astalgo.html#idTableGet-procs-all proc 83
|
||||
nimgrp pairs astalgo.html#pairs-iterators-all iterator 929
|
||||
nimgrp debug astalgo.html#debug-templates-all template 48
|
||||
232
compiler/astmsgs.html
Normal file
232
compiler/astmsgs.html
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/astmsgs</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">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="ast.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">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">RootEffect</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/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="ast.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">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">RootEffect</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/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="ast.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">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">RootEffect</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/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="ast.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">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">RootEffect</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/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="ast.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">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="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="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</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#L34" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.nim#L34" 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="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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/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#L30" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astmsgs.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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
10
compiler/astmsgs.idx
Normal file
10
compiler/astmsgs.idx
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
nimTitle astmsgs astmsgs.html module compiler/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 addDeclaredLocMaybe astmsgs.html#addDeclaredLocMaybe,string,ConfigRef,PType proc addDeclaredLocMaybe(result: var string; conf: ConfigRef; typ: PType) 27
|
||||
nim quoteExpr astmsgs.html#quoteExpr.t,string template quoteExpr(a: string): untyped 30
|
||||
nim genFieldDefect astmsgs.html#genFieldDefect,ConfigRef,string,PSym proc genFieldDefect(conf: ConfigRef; field: string; disc: PSym): string 34
|
||||
nimgrp adddeclaredloc astmsgs.html#addDeclaredLoc-procs-all proc 10
|
||||
nimgrp adddeclaredlocmaybe astmsgs.html#addDeclaredLocMaybe-procs-all proc 13
|
||||
154
compiler/backendpragmas.html
Normal file
154
compiler/backendpragmas.html
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/backendpragmas</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/backendpragmas</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" onkeyup="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">processPushBackendOption
|
||||
<li><a class="reference" href="#processPushBackendOption%2Cseq%5BTOptions%5D%2CTOptions%2CPNode%2Cint" title="processPushBackendOption(optionsStack: var seq[TOptions]; options: var TOptions;
|
||||
n: PNode; start: int)">processPushBackendOption(optionsStack: var seq[TOptions]; options: var TOptions;
|
||||
n: PNode; start: int)</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">processPopBackendOption
|
||||
<li><a class="reference" href="#processPopBackendOption.t%2Cseq%5BTOptions%5D%2CTOptions" title="processPopBackendOption(optionsStack: var seq[TOptions]; options: var TOptions)">processPopBackendOption(optionsStack: var seq[TOptions]; options: var TOptions)</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/backendpragmas.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/backendpragmas.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="pragmas.html">pragmas</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="ast.html">ast</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="processPushBackendOption-procs-all">
|
||||
<div id="processPushBackendOption,seq[TOptions],TOptions,PNode,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#processPushBackendOption%2Cseq%5BTOptions%5D%2CTOptions%2CPNode%2Cint"><span class="Identifier">processPushBackendOption</span></a><span class="Other">(</span><span class="Identifier">optionsStack</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="options.html#TOptions"><span class="Identifier">TOptions</span></a><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">options</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="options.html#TOptions"><span class="Identifier">TOptions</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</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><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/backendpragmas.nim#L10" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/backendpragmas.nim#L10" 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="processPopBackendOption-templates-all">
|
||||
<div id="processPopBackendOption.t,seq[TOptions],TOptions">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#processPopBackendOption.t%2Cseq%5BTOptions%5D%2CTOptions"><span class="Identifier">processPopBackendOption</span></a><span class="Other">(</span><span class="Identifier">optionsStack</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="options.html#TOptions"><span class="Identifier">TOptions</span></a><span class="Other">]</span><span class="Other">;</span>
|
||||
<span class="Identifier">options</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="options.html#TOptions"><span class="Identifier">TOptions</span></a><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/backendpragmas.nim#L24" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/backendpragmas.nim#L24" 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: 2023-03-13 00:20:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
3
compiler/backendpragmas.idx
Normal file
3
compiler/backendpragmas.idx
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
nimTitle backendpragmas backendpragmas.html module compiler/backendpragmas 0
|
||||
nim processPushBackendOption backendpragmas.html#processPushBackendOption,seq[TOptions],TOptions,PNode,int proc processPushBackendOption(optionsStack: var seq[TOptions]; options: var TOptions;\n n: PNode; start: int) 10
|
||||
nim processPopBackendOption backendpragmas.html#processPopBackendOption.t,seq[TOptions],TOptions template processPopBackendOption(optionsStack: var seq[TOptions]; options: var TOptions) 24
|
||||
334
compiler/bitsets.html
Normal file
334
compiler/bitsets.html
Normal file
|
|
@ -0,0 +1,334 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/bitsets</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">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="bitsets.html#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="bitsets.html#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="bitsets.html#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="bitsets.html#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="bitsets.html#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="bitsets.html#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="bitsets.html#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="bitsets.html#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="bitsets.html#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="bitsets.html#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="bitsets.html#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="bitsets.html#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="bitsets.html#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="bitsets.html#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="bitsets.html#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="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="bitsets.html#TBitSet"><span class="Identifier">TBitSet</span></a><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="bitsets.html#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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
14
compiler/bitsets.idx
Normal file
14
compiler/bitsets.idx
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
nimTitle bitsets bitsets.html module compiler/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
|
||||
268
compiler/btrees.html
Normal file
268
compiler/btrees.html
Normal file
|
|
@ -0,0 +1,268 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/btrees</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="btrees.html#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="btrees.html#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#L120" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L120" 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="btrees.html#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#L51" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L51" 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="btrees.html#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="btrees.html#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#L147" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L147" 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="btrees.html#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="btrees.html#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#L179" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L179" 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="btrees.html#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#L157" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L157" 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="btrees.html#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#L172" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/btrees.nim#L172" 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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
10
compiler/btrees.idx
Normal file
10
compiler/btrees.idx
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
nimTitle btrees btrees.html module compiler/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 51
|
||||
nim add btrees.html#add,BTree[Key,Val],Key,Val proc add[Key, Val](b: var BTree[Key, Val]; key: Key; val: Val) 120
|
||||
nim hasNext btrees.html#hasNext,BTree[Key,Val],int proc hasNext[Key, Val](b: BTree[Key, Val]; index: int): bool 147
|
||||
nim next btrees.html#next,BTree[Key,Val],int proc next[Key, Val](b: BTree[Key, Val]; index: int): (Key, Val, int) 157
|
||||
nim pairs btrees.html#pairs.i,BTree[Key,Val] iterator pairs[Key, Val](b: BTree[Key, Val]): (Key, Val) 172
|
||||
nim len btrees.html#len,BTree[Key,Val] proc len[Key, Val](b: BTree[Key, Val]): int 179
|
||||
241
compiler/ccgutils.html
Normal file
241
compiler/ccgutils.html
Normal file
|
|
@ -0,0 +1,241 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/ccgutils</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">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">mangle
|
||||
<li><a class="reference" href="#mangle%2Cstring" title="mangle(name: string): string">mangle(name: 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>
|
||||
</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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">retType</span><span class="Other">:</span> <a href="ast.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">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="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</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#L121" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L121" 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="ast.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="ast.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#L19" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L19" 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#L33" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L33" 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#L60" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L60" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="mangle-procs-all">
|
||||
<div id="mangle,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#mangle%2Cstring"><span class="Identifier">mangle</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#L66" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L66" 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="ast.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#L30" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.nim#L30" 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="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ccgutils.nim#L58" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgutils.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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
8
compiler/ccgutils.idx
Normal file
8
compiler/ccgutils.idx
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
nimTitle ccgutils ccgutils.html module compiler/ccgutils 0
|
||||
nim getPragmaStmt ccgutils.html#getPragmaStmt,PNode,TSpecialWord proc getPragmaStmt(n: PNode; w: TSpecialWord): PNode 19
|
||||
nim stmtsContainPragma ccgutils.html#stmtsContainPragma,PNode,TSpecialWord proc stmtsContainPragma(n: PNode; w: TSpecialWord): bool 30
|
||||
nim hashString ccgutils.html#hashString,ConfigRef,string proc hashString(conf: ConfigRef; s: string): BiggestInt 33
|
||||
nim getUniqueType ccgutils.html#getUniqueType.t,PType template getUniqueType(key: PType): PType 58
|
||||
nim makeSingleLineCString ccgutils.html#makeSingleLineCString,string proc makeSingleLineCString(s: string): string 60
|
||||
nim mangle ccgutils.html#mangle,string proc mangle(name: string): string 66
|
||||
nim ccgIntroducedPtr ccgutils.html#ccgIntroducedPtr,ConfigRef,PSym,PType proc ccgIntroducedPtr(conf: ConfigRef; s: PSym; retType: PType): bool 121
|
||||
307
compiler/cgen.html
Normal file
307
compiler/cgen.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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/cgen</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">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">newModule
|
||||
<li><a class="reference" href="#newModule%2CBModuleList%2CPSym%2CConfigRef" title="newModule(g: BModuleList; module: PSym; conf: ConfigRef): BModule">newModule(g: BModuleList; module: PSym; conf: ConfigRef): BModule</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">registerInitProcs
|
||||
<li><a class="reference" href="#registerInitProcs%2CBModuleList%2CPSym%2Cset%5BModuleBackendFlag%5D" title="registerInitProcs(g: BModuleList; m: PSym; flags: set[ModuleBackendFlag])">registerInitProcs(g: BModuleList; m: PSym; flags: set[ModuleBackendFlag])</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 class="simple nested-toc-section">whichInitProcs
|
||||
<li><a class="reference" href="#whichInitProcs%2CBModule" title="whichInitProcs(m: BModule): set[ModuleBackendFlag]">whichInitProcs(m: BModule): set[ModuleBackendFlag]</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="ndi.html">ndi</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="backendpragmas.html">backendpragmas</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="ic/ic.html">ic/ic</a>, <a class="reference external" href="sighashes.html">sighashes</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</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">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="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">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="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#L2158" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L2158" 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="ast.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">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">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">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#L563" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgtypes.nim#L563" 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="ast.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">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="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">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#L2093" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L2093" 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="ast.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">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">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">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>
|
||||
|
||||
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#L2013" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L2013" 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="ast.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">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="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</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#L1610" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgtypes.nim#L1610" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="newModule-procs-all">
|
||||
<div id="newModule,BModuleList,PSym,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newModule%2CBModuleList%2CPSym%2CConfigRef"><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="ast.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="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">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>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L1934" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L1934" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="registerInitProcs-procs-all">
|
||||
<div id="registerInitProcs,BModuleList,PSym,set[ModuleBackendFlag]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#registerInitProcs%2CBModuleList%2CPSym%2Cset%5BModuleBackendFlag%5D"><span class="Identifier">registerInitProcs</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="ast.html#PSym"><span class="Identifier">PSym</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="ic/ic.html#ModuleBackendFlag"><span class="Identifier">ModuleBackendFlag</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="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>
|
||||
|
||||
Called from the IC backend.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L1595" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L1595" 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="ast.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="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>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgen.nim#L1947" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L1947" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="whichInitProcs-procs-all">
|
||||
<div id="whichInitProcs,BModule">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#whichInitProcs%2CBModule"><span class="Identifier">whichInitProcs</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> <span class="Identifier">set</span><span class="Other">[</span><a href="ic/ic.html#ModuleBackendFlag"><span class="Identifier">ModuleBackendFlag</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/cgen.nim#L1612" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgen.nim#L1612" 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="ast.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/ccgtypes.nim#L951" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ccgtypes.nim#L951" 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: 2023-03-13 00:20:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
11
compiler/cgen.idx
Normal file
11
compiler/cgen.idx
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
nimTitle cgen cgen.html module compiler/cgen 0
|
||||
nim fillObjectFields cgen.html#fillObjectFields,BModule,PType proc fillObjectFields(m: BModule; typ: PType) 563
|
||||
nim cgDeclFrmt cgen.html#cgDeclFrmt.t,PSym template cgDeclFrmt(s: PSym): string 951
|
||||
nim genTypeInfo cgen.html#genTypeInfo,ConfigRef,BModule,PType,TLineInfo proc genTypeInfo(config: ConfigRef; m: BModule; t: PType; info: TLineInfo): Rope 1610
|
||||
nim registerInitProcs cgen.html#registerInitProcs,BModuleList,PSym,set[ModuleBackendFlag] proc registerInitProcs(g: BModuleList; m: PSym; flags: set[ModuleBackendFlag]) 1595
|
||||
nim whichInitProcs cgen.html#whichInitProcs,BModule proc whichInitProcs(m: BModule): set[ModuleBackendFlag] 1612
|
||||
nim newModule cgen.html#newModule,BModuleList,PSym,ConfigRef proc newModule(g: BModuleList; module: PSym; conf: ConfigRef): BModule 1934
|
||||
nim setupCgen cgen.html#setupCgen,ModuleGraph,PSym,IdGenerator proc setupCgen(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 1947
|
||||
nim genTopLevelStmt cgen.html#genTopLevelStmt,BModule,PNode proc genTopLevelStmt(m: BModule; n: PNode) 2013
|
||||
nim finalCodegenActions cgen.html#finalCodegenActions,ModuleGraph,BModule,PNode proc finalCodegenActions(graph: ModuleGraph; m: BModule; n: PNode) 2093
|
||||
nim cgenWriteModules cgen.html#cgenWriteModules,RootRef,ConfigRef proc cgenWriteModules(backend: RootRef; config: ConfigRef) 2158
|
||||
546
compiler/cgendata.html
Normal file
546
compiler/cgendata.html
Normal file
|
|
@ -0,0 +1,546 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/cgendata</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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*: Rope
|
||||
mapping*: Rope
|
||||
modules*: seq[BModule]
|
||||
modulesClosed*: seq[BModule]
|
||||
forwardedProcs*: seq[PSym]
|
||||
generatedHeader*: BModule
|
||||
typeInfoMarker*: TypeCacheWithOwner
|
||||
typeInfoMarkerV2*: TypeCacheWithOwner
|
||||
config*: ConfigRef
|
||||
graph*: ModuleGraph
|
||||
strVersion*, seqVersion*: int
|
||||
nimtv*: Rope
|
||||
nimtvDeps*: seq[PType]
|
||||
nimtvDeclared*: IntSet">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, Rope]">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, Rope]">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">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 Rope">procSec(p: BProc; s: TCProcSection): var Rope</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 Rope">s(p: BProc; s: TCProcSection): var Rope</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="ndi.html">ndi</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>
|
||||
</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="cgendata.html#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#L50" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L50" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="BModuleList">
|
||||
<dt><pre><a href="cgendata.html#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="ropes.html#Rope"><span class="Identifier">Rope</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">modules</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="cgendata.html#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="cgendata.html#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="ast.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="cgendata.html#BModule"><span class="Identifier">BModule</span></a>
|
||||
<span class="Identifier">typeInfoMarker</span><span class="Operator">*</span><span class="Other">:</span> <a href="cgendata.html#TypeCacheWithOwner"><span class="Identifier">TypeCacheWithOwner</span></a>
|
||||
<span class="Identifier">typeInfoMarkerV2</span><span class="Operator">*</span><span class="Other">:</span> <a href="cgendata.html#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="ropes.html#Rope"><span class="Identifier">Rope</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="ast.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>
|
||||
</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgendata.nim#L115" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L115" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="BProc">
|
||||
<dt><pre><a href="cgendata.html#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#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="CodegenFlag">
|
||||
<dt><pre><a href="cgendata.html#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#L104" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L104" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TBlock">
|
||||
<dt><pre><a href="cgendata.html#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="cgendata.html#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#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="TCFileSection">
|
||||
<dt><pre><a href="cgendata.html#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#L18" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L18" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCFileSections">
|
||||
<dt><pre><a href="cgendata.html#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="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#L44" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L44" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCProcFlag">
|
||||
<dt><pre><a href="cgendata.html#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#L62" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L62" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCProcSection">
|
||||
<dt><pre><a href="cgendata.html#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#L45" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L45" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCProcSections">
|
||||
<dt><pre><a href="cgendata.html#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="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#L49" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L49" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TCTypeKind">
|
||||
<dt><pre><a href="cgendata.html#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#L37" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L37" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TLabel">
|
||||
<dt><pre><a href="cgendata.html#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#L17" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L17" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TTypeSeq">
|
||||
<dt><pre><a href="cgendata.html#TTypeSeq"><span class="Identifier">TTypeSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="ast.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#L100" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L100" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TypeCache">
|
||||
<dt><pre><a href="cgendata.html#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#L101" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L101" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TypeCacheWithOwner">
|
||||
<dt><pre><a href="cgendata.html#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#L102" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L102" 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="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="cgendata.html#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#L178" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L178" 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="cgendata.html#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#L190" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L190" 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="cgendata.html#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#L206" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L206" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">module</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="cgendata.html#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="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#L195" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L195" 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="cgendata.html#BProc"><span class="Identifier">BProc</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="cgendata.html#TCProcSection"><span class="Identifier">TCProcSection</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</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#L186" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L186" 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="cgendata.html#BProc"><span class="Identifier">BProc</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="cgendata.html#TCProcSection"><span class="Identifier">TCProcSection</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</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#L182" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L182" 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="cgendata.html#BModuleList"><span class="Identifier">BModuleList</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="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#L210" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L210" 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="cgendata.html#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#L174" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L174" 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="cgendata.html#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#L175" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L175" 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="cgendata.html#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#L176" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgendata.nim#L176" 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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
85
compiler/cgendata.idx
Normal file
85
compiler/cgendata.idx
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
nimTitle cgendata cgendata.html module compiler/cgendata 0
|
||||
nim TLabel cgendata.html#TLabel type TLabel 17
|
||||
nim cfsHeaders cgendata.html#cfsHeaders TCFileSection.cfsHeaders 18
|
||||
nim cfsFrameDefines cgendata.html#cfsFrameDefines TCFileSection.cfsFrameDefines 18
|
||||
nim cfsForwardTypes cgendata.html#cfsForwardTypes TCFileSection.cfsForwardTypes 18
|
||||
nim cfsTypes cgendata.html#cfsTypes TCFileSection.cfsTypes 18
|
||||
nim cfsSeqTypes cgendata.html#cfsSeqTypes TCFileSection.cfsSeqTypes 18
|
||||
nim cfsTypeInfo cgendata.html#cfsTypeInfo TCFileSection.cfsTypeInfo 18
|
||||
nim cfsProcHeaders cgendata.html#cfsProcHeaders TCFileSection.cfsProcHeaders 18
|
||||
nim cfsStrData cgendata.html#cfsStrData TCFileSection.cfsStrData 18
|
||||
nim cfsData cgendata.html#cfsData TCFileSection.cfsData 18
|
||||
nim cfsVars cgendata.html#cfsVars TCFileSection.cfsVars 18
|
||||
nim cfsProcs cgendata.html#cfsProcs TCFileSection.cfsProcs 18
|
||||
nim cfsInitProc cgendata.html#cfsInitProc TCFileSection.cfsInitProc 18
|
||||
nim cfsDatInitProc cgendata.html#cfsDatInitProc TCFileSection.cfsDatInitProc 18
|
||||
nim cfsTypeInit1 cgendata.html#cfsTypeInit1 TCFileSection.cfsTypeInit1 18
|
||||
nim cfsTypeInit3 cgendata.html#cfsTypeInit3 TCFileSection.cfsTypeInit3 18
|
||||
nim cfsDynLibInit cgendata.html#cfsDynLibInit TCFileSection.cfsDynLibInit 18
|
||||
nim TCFileSection cgendata.html#TCFileSection enum TCFileSection 18
|
||||
nim ctVoid cgendata.html#ctVoid TCTypeKind.ctVoid 37
|
||||
nim ctChar cgendata.html#ctChar TCTypeKind.ctChar 37
|
||||
nim ctBool cgendata.html#ctBool TCTypeKind.ctBool 37
|
||||
nim ctInt cgendata.html#ctInt TCTypeKind.ctInt 37
|
||||
nim ctInt8 cgendata.html#ctInt8 TCTypeKind.ctInt8 37
|
||||
nim ctInt16 cgendata.html#ctInt16 TCTypeKind.ctInt16 37
|
||||
nim ctInt32 cgendata.html#ctInt32 TCTypeKind.ctInt32 37
|
||||
nim ctInt64 cgendata.html#ctInt64 TCTypeKind.ctInt64 37
|
||||
nim ctFloat cgendata.html#ctFloat TCTypeKind.ctFloat 37
|
||||
nim ctFloat32 cgendata.html#ctFloat32 TCTypeKind.ctFloat32 37
|
||||
nim ctFloat64 cgendata.html#ctFloat64 TCTypeKind.ctFloat64 37
|
||||
nim ctFloat128 cgendata.html#ctFloat128 TCTypeKind.ctFloat128 37
|
||||
nim ctUInt cgendata.html#ctUInt TCTypeKind.ctUInt 37
|
||||
nim ctUInt8 cgendata.html#ctUInt8 TCTypeKind.ctUInt8 37
|
||||
nim ctUInt16 cgendata.html#ctUInt16 TCTypeKind.ctUInt16 37
|
||||
nim ctUInt32 cgendata.html#ctUInt32 TCTypeKind.ctUInt32 37
|
||||
nim ctUInt64 cgendata.html#ctUInt64 TCTypeKind.ctUInt64 37
|
||||
nim ctArray cgendata.html#ctArray TCTypeKind.ctArray 37
|
||||
nim ctPtrToArray cgendata.html#ctPtrToArray TCTypeKind.ctPtrToArray 37
|
||||
nim ctStruct cgendata.html#ctStruct TCTypeKind.ctStruct 37
|
||||
nim ctPtr cgendata.html#ctPtr TCTypeKind.ctPtr 37
|
||||
nim ctNimStr cgendata.html#ctNimStr TCTypeKind.ctNimStr 37
|
||||
nim ctNimSeq cgendata.html#ctNimSeq TCTypeKind.ctNimSeq 37
|
||||
nim ctProc cgendata.html#ctProc TCTypeKind.ctProc 37
|
||||
nim ctCString cgendata.html#ctCString TCTypeKind.ctCString 37
|
||||
nim TCTypeKind cgendata.html#TCTypeKind enum TCTypeKind 37
|
||||
nim TCFileSections cgendata.html#TCFileSections type TCFileSections 44
|
||||
nim cpsLocals cgendata.html#cpsLocals TCProcSection.cpsLocals 45
|
||||
nim cpsInit cgendata.html#cpsInit TCProcSection.cpsInit 45
|
||||
nim cpsStmts cgendata.html#cpsStmts TCProcSection.cpsStmts 45
|
||||
nim TCProcSection cgendata.html#TCProcSection enum TCProcSection 45
|
||||
nim TCProcSections cgendata.html#TCProcSections type TCProcSections 49
|
||||
nim BModule cgendata.html#BModule type BModule 50
|
||||
nim BProc cgendata.html#BProc type BProc 51
|
||||
nim TBlock cgendata.html#TBlock object TBlock 52
|
||||
nim beforeRetNeeded cgendata.html#beforeRetNeeded TCProcFlag.beforeRetNeeded 62
|
||||
nim threadVarAccessed cgendata.html#threadVarAccessed TCProcFlag.threadVarAccessed 62
|
||||
nim hasCurFramePointer cgendata.html#hasCurFramePointer TCProcFlag.hasCurFramePointer 62
|
||||
nim noSafePoints cgendata.html#noSafePoints TCProcFlag.noSafePoints 62
|
||||
nim nimErrorFlagAccessed cgendata.html#nimErrorFlagAccessed TCProcFlag.nimErrorFlagAccessed 62
|
||||
nim nimErrorFlagDeclared cgendata.html#nimErrorFlagDeclared TCProcFlag.nimErrorFlagDeclared 62
|
||||
nim nimErrorFlagDisabled cgendata.html#nimErrorFlagDisabled TCProcFlag.nimErrorFlagDisabled 62
|
||||
nim TCProcFlag cgendata.html#TCProcFlag enum TCProcFlag 62
|
||||
nim TTypeSeq cgendata.html#TTypeSeq type TTypeSeq 100
|
||||
nim TypeCache cgendata.html#TypeCache type TypeCache 101
|
||||
nim TypeCacheWithOwner cgendata.html#TypeCacheWithOwner type TypeCacheWithOwner 102
|
||||
nim preventStackTrace cgendata.html#preventStackTrace CodegenFlag.preventStackTrace 104
|
||||
nim usesThreadVars cgendata.html#usesThreadVars CodegenFlag.usesThreadVars 104
|
||||
nim frameDeclared cgendata.html#frameDeclared CodegenFlag.frameDeclared 104
|
||||
nim isHeaderFile cgendata.html#isHeaderFile CodegenFlag.isHeaderFile 104
|
||||
nim includesStringh cgendata.html#includesStringh CodegenFlag.includesStringh 104
|
||||
nim objHasKidsValid cgendata.html#objHasKidsValid CodegenFlag.objHasKidsValid 104
|
||||
nim useAliveDataFromDce cgendata.html#useAliveDataFromDce CodegenFlag.useAliveDataFromDce 104
|
||||
nim CodegenFlag cgendata.html#CodegenFlag enum CodegenFlag 104
|
||||
nim BModuleList cgendata.html#BModuleList type BModuleList 115
|
||||
nim config cgendata.html#config.t,BModule template config(m: BModule): ConfigRef 174
|
||||
nim config cgendata.html#config.t,BProc template config(p: BProc): ConfigRef 175
|
||||
nim vccAndC cgendata.html#vccAndC.t,BProc template vccAndC(p: BProc): bool 176
|
||||
nim includeHeader cgendata.html#includeHeader,BModule,string proc includeHeader(this: BModule; header: string) 178
|
||||
nim s cgendata.html#s,BProc,TCProcSection proc s(p: BProc; s: TCProcSection): var Rope 182
|
||||
nim procSec cgendata.html#procSec,BProc,TCProcSection proc procSec(p: BProc; s: TCProcSection): var Rope 186
|
||||
nim initBlock cgendata.html#initBlock proc initBlock(): TBlock 190
|
||||
nim newProc cgendata.html#newProc,PSym,BModule proc newProc(prc: PSym; module: BModule): BProc 195
|
||||
nim newModuleList cgendata.html#newModuleList,ModuleGraph proc newModuleList(g: ModuleGraph): BModuleList 206
|
||||
nim cgenModules cgendata.html#cgenModules.i,BModuleList iterator cgenModules(g: BModuleList): BModule 210
|
||||
nimgrp config cgendata.html#config-templates-all template 174
|
||||
178
compiler/cgmeth.html
Normal file
178
compiler/cgmeth.html
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/cgmeth</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">generateMethodDispatchers
|
||||
<li><a class="reference" href="#generateMethodDispatchers%2CModuleGraph" title="generateMethodDispatchers(g: ModuleGraph): PNode">generateMethodDispatchers(g: ModuleGraph): PNode</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>
|
||||
</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>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="generateMethodDispatchers-procs-all">
|
||||
<div id="generateMethodDispatchers,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#generateMethodDispatchers%2CModuleGraph"><span class="Identifier">generateMethodDispatchers</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="ast.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">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="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/cgmeth.nim#L275" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L275" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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>
|
||||
|
||||
can return nil if is has no dispatcher.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/cgmeth.nim#L42" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L42" 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="ast.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="ast.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">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/cgmeth.nim#L48" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L48" 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="ast.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">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="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/cgmeth.nim#L151" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cgmeth.nim#L151" 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: 2023-03-13 00:20:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
5
compiler/cgmeth.idx
Normal file
5
compiler/cgmeth.idx
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
nimTitle cgmeth cgmeth.html module compiler/cgmeth 0
|
||||
nim getDispatcher cgmeth.html#getDispatcher,PSym proc getDispatcher(s: PSym): PSym 42
|
||||
nim methodCall cgmeth.html#methodCall,PNode,ConfigRef proc methodCall(n: PNode; conf: ConfigRef): PNode 48
|
||||
nim methodDef cgmeth.html#methodDef,ModuleGraph,IdGenerator,PSym proc methodDef(g: ModuleGraph; idgen: IdGenerator; s: PSym) 151
|
||||
nim generateMethodDispatchers cgmeth.html#generateMethodDispatchers,ModuleGraph proc generateMethodDispatchers(g: ModuleGraph): PNode 275
|
||||
122
compiler/closureiters.html
Normal file
122
compiler/closureiters.html
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/closureiters</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="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="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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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/closureiters.nim#L1424" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/closureiters.nim#L1424" 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: 2023-03-13 00:20:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/closureiters.idx
Normal file
2
compiler/closureiters.idx
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
nimTitle closureiters closureiters.html module compiler/closureiters 0
|
||||
nim transformClosureIterator closureiters.html#transformClosureIterator,ModuleGraph,IdGenerator,PSym,PNode proc transformClosureIterator(g: ModuleGraph; idgen: IdGenerator; fn: PSym; n: PNode): PNode 1424
|
||||
256
compiler/cmdlinehelper.html
Normal file
256
compiler/cmdlinehelper.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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/cmdlinehelper</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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, nimfix</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="cmdlinehelper.html#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#L31" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L31" 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#L23" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L23" 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="cmdlinehelper.html#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#L36" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L36" 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="cmdlinehelper.html#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">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">ValueError</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">WriteEnvEffect</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="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#L51" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L51" 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="cmdlinehelper.html#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">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">ValueError</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">WriteEnvEffect</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="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#L76" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L76" 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#L16" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L16" 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="cmdlinehelper.html#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#L40" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/cmdlinehelper.nim#L40" 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: 2023-03-13 00:20:18 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
8
compiler/cmdlinehelper.idx
Normal file
8
compiler/cmdlinehelper.idx
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
nimTitle cmdlinehelper cmdlinehelper.html module compiler/cmdlinehelper 0
|
||||
nim prependCurDir cmdlinehelper.html#prependCurDir,AbsoluteFile proc prependCurDir(f: AbsoluteFile): AbsoluteFile 16
|
||||
nim addCmdPrefix cmdlinehelper.html#addCmdPrefix,string,CmdLineKind proc addCmdPrefix(result: var string; kind: CmdLineKind) 23
|
||||
nim NimProg cmdlinehelper.html#NimProg type NimProg 31
|
||||
nim initDefinesProg cmdlinehelper.html#initDefinesProg,NimProg,ConfigRef,string proc initDefinesProg(self: NimProg; conf: ConfigRef; name: string) 36
|
||||
nim processCmdLineAndProjectPath cmdlinehelper.html#processCmdLineAndProjectPath,NimProg,ConfigRef proc processCmdLineAndProjectPath(self: NimProg; conf: ConfigRef) 40
|
||||
nim loadConfigsAndProcessCmdLine cmdlinehelper.html#loadConfigsAndProcessCmdLine,NimProg,IdentCache,ConfigRef,ModuleGraph proc loadConfigsAndProcessCmdLine(self: NimProg; cache: IdentCache; conf: ConfigRef;\n graph: ModuleGraph): bool 51
|
||||
nim loadConfigsAndRunMainCommand cmdlinehelper.html#loadConfigsAndRunMainCommand,NimProg,IdentCache,ConfigRef,ModuleGraph proc loadConfigsAndRunMainCommand(self: NimProg; cache: IdentCache; conf: ConfigRef;\n graph: ModuleGraph): bool 76
|
||||
399
compiler/commands.html
Normal file
399
compiler/commands.html
Normal file
|
|
@ -0,0 +1,399 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/commands</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">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="commands.html#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#L42" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L42" 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#L435" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L435" 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#L430" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L430" 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#L507" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L507" 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#L439" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L439" 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="commands.html#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#L1133" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L1133" 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="commands.html#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">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">OSError</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#L1117" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L1117" 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="commands.html#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">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#L183" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L183" 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="commands.html#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">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">OSError</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#L1122" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L1122" 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="commands.html#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">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">OSError</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">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">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#L588" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L588" 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#L469" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L469" 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#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="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">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#L293" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L293" 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">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#L252" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L252" 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#L108" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/commands.nim#L108" 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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
20
compiler/commands.idx
Normal file
20
compiler/commands.idx
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
nimTitle commands commands.html module compiler/commands 0
|
||||
nim passCmd1 commands.html#passCmd1 TCmdLinePass.passCmd1 42
|
||||
nim passCmd2 commands.html#passCmd2 TCmdLinePass.passCmd2 42
|
||||
nim passPP commands.html#passPP TCmdLinePass.passPP 42
|
||||
nim TCmdLinePass commands.html#TCmdLinePass enum TCmdLinePass 42
|
||||
nim writeCommandLineUsage commands.html#writeCommandLineUsage,ConfigRef proc writeCommandLineUsage(conf: ConfigRef) 108
|
||||
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) 183
|
||||
nim testCompileOptionArg commands.html#testCompileOptionArg,ConfigRef,string,string,TLineInfo proc testCompileOptionArg(conf: ConfigRef; switch, arg: string; info: TLineInfo): bool 252
|
||||
nim testCompileOption commands.html#testCompileOption,ConfigRef,string,TLineInfo proc testCompileOption(conf: ConfigRef; switch: string; info: TLineInfo): bool 293
|
||||
nim handleStdinInput commands.html#handleStdinInput,ConfigRef proc handleStdinInput(conf: ConfigRef) 430
|
||||
nim handleCmdInput commands.html#handleCmdInput,ConfigRef proc handleCmdInput(conf: ConfigRef) 435
|
||||
nim parseCommand commands.html#parseCommand,string proc parseCommand(command: string): Command 439
|
||||
nim setCmd commands.html#setCmd,ConfigRef,Command proc setCmd(conf: ConfigRef; cmd: Command) 469
|
||||
nim setCommandEarly commands.html#setCommandEarly,ConfigRef,string proc setCommandEarly(conf: ConfigRef; command: string) 480
|
||||
nim initOrcDefines commands.html#initOrcDefines,ConfigRef proc initOrcDefines(conf: ConfigRef) 507
|
||||
nim processSwitch commands.html#processSwitch,string,string,TCmdLinePass,TLineInfo,ConfigRef proc processSwitch(switch, arg: string; pass: TCmdLinePass; info: TLineInfo;\n conf: ConfigRef) 588
|
||||
nim processCommand commands.html#processCommand,string,TCmdLinePass,ConfigRef proc processCommand(switch: string; pass: TCmdLinePass; config: ConfigRef) 1117
|
||||
nim processSwitch commands.html#processSwitch,TCmdLinePass,OptParser,ConfigRef proc processSwitch(pass: TCmdLinePass; p: OptParser; config: ConfigRef) 1122
|
||||
nim processArgument commands.html#processArgument,TCmdLinePass,OptParser,int,ConfigRef proc processArgument(pass: TCmdLinePass; p: OptParser; argsCount: var int;\n config: ConfigRef): bool 1133
|
||||
nimgrp processswitch commands.html#processSwitch-procs-all proc 588
|
||||
181
compiler/concepts.html
Normal file
181
compiler/concepts.html
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/concepts</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="#12" id="62">Procs</a></summary>
|
||||
<ul class="simple simple-toc-section">
|
||||
<ul class="simple nested-toc-section">conceptMatch
|
||||
<li><a class="reference" href="#conceptMatch%2CPContext%2CPType%2CPType%2CTIdTable%2CPType" title="conceptMatch(c: PContext; concpt, arg: PType; bindings: var TIdTable;
|
||||
invocation: PType): bool">conceptMatch(c: PContext; concpt, arg: PType; bindings: var TIdTable;
|
||||
invocation: PType): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isSelf
|
||||
<li><a class="reference" href="#isSelf%2CPType" title="isSelf(t: PType): bool">isSelf(t: PType): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">makeTypeDesc
|
||||
<li><a class="reference" href="#makeTypeDesc%2CPContext%2CPType" title="makeTypeDesc(c: PContext; typ: PType): PType">makeTypeDesc(c: PContext; typ: PType): PType</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="astalgo.html">astalgo</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="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="conceptMatch-procs-all">
|
||||
<div id="conceptMatch,PContext,PType,PType,TIdTable,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#conceptMatch%2CPContext%2CPType%2CPType%2CTIdTable%2CPType"><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="ast.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="ast.html#TIdTable"><span class="Identifier">TIdTable</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">invocation</span><span class="Other">:</span> <a href="ast.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">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="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 fullfill 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#L313" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/concepts.nim#L313" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isSelf-procs-all">
|
||||
<div id="isSelf,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isSelf%2CPType"><span class="Identifier">isSelf</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.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>
|
||||
|
||||
Is this the magical 'Self' type?
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/concepts.nim#L36" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/concepts.nim#L36" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="makeTypeDesc-procs-all">
|
||||
<div id="makeTypeDesc,PContext,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#makeTypeDesc%2CPContext%2CPType"><span class="Identifier">makeTypeDesc</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">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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="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/concepts.nim#L40" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/concepts.nim#L40" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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>
|
||||
|
||||
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#L70" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/concepts.nim#L70" 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: 2023-03-13 00:20:16 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
7
compiler/concepts.idx
Normal file
7
compiler/concepts.idx
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
nimTitle concepts concepts.html module compiler/concepts 0
|
||||
nim isSelf concepts.html#isSelf,PType proc isSelf(t: PType): bool 36
|
||||
nim makeTypeDesc concepts.html#makeTypeDesc,PContext,PType proc makeTypeDesc(c: PContext; typ: PType): PType 40
|
||||
nim semConceptDeclaration concepts.html#semConceptDeclaration,PContext,PNode proc semConceptDeclaration(c: PContext; n: PNode): PNode 70
|
||||
nim conceptMatch concepts.html#conceptMatch,PContext,PType,PType,TIdTable,PType proc conceptMatch(c: PContext; concpt, arg: PType; bindings: var TIdTable;\n invocation: PType): bool 313
|
||||
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
|
||||
204
compiler/condsyms.html
Normal file
204
compiler/condsyms.html
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/condsyms</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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: 2023-03-13 00:20:12 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
6
compiler/condsyms.idx
Normal file
6
compiler/condsyms.idx
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
nimTitle condsyms condsyms.html module compiler/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
|
||||
155
compiler/depends.html
Normal file
155
compiler/depends.html
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/depends</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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="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/depends.nim#L82" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/depends.nim#L82" 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#L97" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/depends.nim#L97" 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="ast.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#L103" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/depends.nim#L103" 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: 2023-03-13 00:20:17 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
4
compiler/depends.idx
Normal file
4
compiler/depends.idx
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
nimTitle depends depends.html module compiler/depends 0
|
||||
nim addDotDependency depends.html#addDotDependency,PPassContext,PNode proc addDotDependency(c: PPassContext; n: PNode): PNode 82
|
||||
nim generateDot depends.html#generateDot,ModuleGraph,AbsoluteFile proc generateDot(graph: ModuleGraph; project: AbsoluteFile) 97
|
||||
nim setupDependPass depends.html#setupDependPass,ModuleGraph,PSym,IdGenerator proc setupDependPass(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 103
|
||||
193
compiler/dfa.html
Normal file
193
compiler/dfa.html
Normal file
|
|
@ -0,0 +1,193 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/dfa</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">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="dfa.html#ControlFlowGraph"><span class="Identifier">ControlFlowGraph</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="dfa.html#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#L40" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L40" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="Instr">
|
||||
<dt><pre><a href="dfa.html#Instr"><span class="Identifier">Instr</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/dfa.nim#L34" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L34" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="InstrKind">
|
||||
<dt><pre><a href="dfa.html#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#L32" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L32" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">body</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">root</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="dfa.html#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="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>
|
||||
|
||||
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#L489" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L489" 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="dfa.html#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="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">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#L86" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/dfa.nim#L86" 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: 2023-03-13 00:20:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
11
compiler/dfa.idx
Normal file
11
compiler/dfa.idx
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
nimTitle dfa dfa.html module compiler/dfa 0
|
||||
nim goto dfa.html#goto InstrKind.goto 32
|
||||
nim loop dfa.html#loop InstrKind.loop 32
|
||||
nim fork dfa.html#fork InstrKind.fork 32
|
||||
nim def dfa.html#def InstrKind.def 32
|
||||
nim use dfa.html#use InstrKind.use 32
|
||||
nim InstrKind dfa.html#InstrKind enum InstrKind 32
|
||||
nim Instr dfa.html#Instr object Instr 34
|
||||
nim ControlFlowGraph dfa.html#ControlFlowGraph type ControlFlowGraph 40
|
||||
nim echoCfg dfa.html#echoCfg,ControlFlowGraph,int,int proc echoCfg(c: ControlFlowGraph; start = 0; last = -1) 86
|
||||
nim constructCfg dfa.html#constructCfg,PSym,PNode,PSym proc constructCfg(s: PSym; body: PNode; root: PSym): ControlFlowGraph 489
|
||||
493
compiler/docgen.html
Normal file
493
compiler/docgen.html
Normal file
|
|
@ -0,0 +1,493 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/docgen</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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%2Cbool" title="generateJson(d: PDoc; n: PNode; includeComments: bool = true)">generateJson(d: PDoc; n: PNode; 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="astalgo.html">astalgo</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="docgen.html#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#L110" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L110" 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">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">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#L1866" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1866" 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">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#L1889" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1889" 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#L1787" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1787" 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">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">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="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#L1820" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1820" 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">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">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#L1812" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1812" 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">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">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#L1816" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1816" 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">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">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="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</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#L1844" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1844" 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="ast.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">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">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#L1297" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1297" 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="docgen.html#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="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#L1401" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1401" 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="docgen.html#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="ast.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">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">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">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#L1317" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1317" 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="docgen.html#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">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="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#L1713" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1713" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="generateJson-procs-all">
|
||||
<div id="generateJson,PDoc,PNode,bool">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#generateJson%2CPDoc%2CPNode%2Cbool"><span class="Identifier">generateJson</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <a href="docgen.html#PDoc"><span class="Identifier">PDoc</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</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">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">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">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#L1516" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1516" 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="docgen.html#PDoc"><span class="Identifier">PDoc</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.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">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">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#L1561" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1561" 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#L1780" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1780" 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="ast.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="docgen.html#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">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">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#L306" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L306" 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">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="Identifier">ERecoverableError</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">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#L173" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L173" 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="docgen.html#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">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">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">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>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/docgen.nim#L1725" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1725" 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="docgen.html#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#L1756" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen.nim#L1756" 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: 2023-03-13 00:20:18 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
20
compiler/docgen.idx
Normal file
20
compiler/docgen.idx
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
nimTitle docgen docgen.html module compiler/docgen 0
|
||||
nim PDoc docgen.html#PDoc type PDoc 110
|
||||
nim presentationPath docgen.html#presentationPath,ConfigRef,AbsoluteFile proc presentationPath(conf: ConfigRef; file: AbsoluteFile): RelativeFile 173
|
||||
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 306
|
||||
nim documentRaises docgen.html#documentRaises,IdentCache,PNode proc documentRaises(cache: IdentCache; n: PNode) 1297
|
||||
nim generateDoc docgen.html#generateDoc,PDoc,PNode,PNode,ConfigRef,DocFlags proc generateDoc(d: PDoc; n, orig: PNode; config: ConfigRef;\n docFlags: DocFlags = kDefault) 1317
|
||||
nim finishGenerateDoc docgen.html#finishGenerateDoc,PDoc proc finishGenerateDoc(d: var PDoc) 1401
|
||||
nim generateJson docgen.html#generateJson,PDoc,PNode,bool proc generateJson(d: PDoc; n: PNode; includeComments: bool = true) 1516
|
||||
nim generateTags docgen.html#generateTags,PDoc,PNode,string proc generateTags(d: PDoc; n: PNode; r: var string) 1561
|
||||
nim generateIndex docgen.html#generateIndex,PDoc proc generateIndex(d: PDoc) 1713
|
||||
nim writeOutput docgen.html#writeOutput,PDoc proc writeOutput(d: PDoc; useWarning = false; groupedToc = false) 1725
|
||||
nim writeOutputJson docgen.html#writeOutputJson,PDoc proc writeOutputJson(d: PDoc; useWarning = false) 1756
|
||||
nim handleDocOutputOptions docgen.html#handleDocOutputOptions,ConfigRef proc handleDocOutputOptions(conf: ConfigRef) 1780
|
||||
nim commandDoc docgen.html#commandDoc,IdentCache,ConfigRef proc commandDoc(cache: IdentCache; conf: ConfigRef) 1787
|
||||
nim commandRst2Html docgen.html#commandRst2Html,IdentCache,ConfigRef proc commandRst2Html(cache: IdentCache; conf: ConfigRef; preferMarkdown = false) 1812
|
||||
nim commandRst2TeX docgen.html#commandRst2TeX,IdentCache,ConfigRef proc commandRst2TeX(cache: IdentCache; conf: ConfigRef; preferMarkdown = false) 1816
|
||||
nim commandJson docgen.html#commandJson,IdentCache,ConfigRef proc commandJson(cache: IdentCache; conf: ConfigRef) 1820
|
||||
nim commandTags docgen.html#commandTags,IdentCache,ConfigRef proc commandTags(cache: IdentCache; conf: ConfigRef) 1844
|
||||
nim commandBuildIndex docgen.html#commandBuildIndex,ConfigRef,string proc commandBuildIndex(conf: ConfigRef; dir: string; outFile = RelativeFile"") 1866
|
||||
nim commandBuildIndexJson docgen.html#commandBuildIndexJson,ConfigRef,string proc commandBuildIndexJson(conf: ConfigRef; dir: string; outFile = RelativeFile"") 1889
|
||||
243
compiler/docgen2.html
Normal file
243
compiler/docgen2.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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/docgen2</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">KeyError</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">ERecoverableError</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">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">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">KeyError</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">ERecoverableError</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">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">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</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#L45" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L45" 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="ast.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">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">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#L71" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L71" 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="ast.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">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">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#L77" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L77" 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="ast.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">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">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#L74" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L74" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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/docgen2.nim#L49" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L49" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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/docgen2.nim#L55" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/docgen2.nim#L55" 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: 2023-03-13 00:20:18 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
8
compiler/docgen2.idx
Normal file
8
compiler/docgen2.idx
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
nimTitle docgen2 docgen2.html module compiler/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 45
|
||||
nim processNode docgen2.html#processNode,PPassContext,PNode proc processNode(c: PPassContext; n: PNode): PNode 49
|
||||
nim processNodeJson docgen2.html#processNodeJson,PPassContext,PNode proc processNodeJson(c: PPassContext; n: PNode): PNode 55
|
||||
nim openHtml docgen2.html#openHtml,ModuleGraph,PSym,IdGenerator proc openHtml(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 71
|
||||
nim openTex docgen2.html#openTex,ModuleGraph,PSym,IdGenerator proc openTex(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 74
|
||||
nim openJson docgen2.html#openJson,ModuleGraph,PSym,IdGenerator proc openJson(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PPassContext 77
|
||||
1607
compiler/dochack.js
Normal file
1607
compiler/dochack.js
Normal file
File diff suppressed because it is too large
Load diff
145
compiler/enumtostr.html
Normal file
145
compiler/enumtostr.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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/enumtostr</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">field</span><span class="Other">:</span> <a href="ast.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="ast.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">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">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/enumtostr.nim#L69" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/enumtostr.nim#L69" 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="ast.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="ast.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">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">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/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: 2023-03-13 00:20:16 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
3
compiler/enumtostr.idx
Normal file
3
compiler/enumtostr.idx
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
nimTitle enumtostr enumtostr.html module compiler/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 69
|
||||
196
compiler/errorhandling.html
Normal file
196
compiler/errorhandling.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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/errorhandling</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="errorhandling.html#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#L19" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L19" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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#L26" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L26" 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="ast.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="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="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</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#L58" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L58" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">k</span><span class="Other">:</span> <a href="errorhandling.html#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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="ast.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#L38" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L38" 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="ast.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="ast.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#L48" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/errorhandling.nim#L48" 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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
12
compiler/errorhandling.idx
Normal file
12
compiler/errorhandling.idx
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
nimTitle errorhandling errorhandling.html module compiler/errorhandling 0
|
||||
nim RawTypeMismatchError errorhandling.html#RawTypeMismatchError ErrorKind.RawTypeMismatchError 19
|
||||
nim ExpressionCannotBeCalled errorhandling.html#ExpressionCannotBeCalled ErrorKind.ExpressionCannotBeCalled 19
|
||||
nim CustomError errorhandling.html#CustomError ErrorKind.CustomError 19
|
||||
nim WrongNumberOfArguments errorhandling.html#WrongNumberOfArguments ErrorKind.WrongNumberOfArguments 19
|
||||
nim AmbiguousCall errorhandling.html#AmbiguousCall ErrorKind.AmbiguousCall 19
|
||||
nim ErrorKind errorhandling.html#ErrorKind enum ErrorKind 19
|
||||
nim errorSubNode errorhandling.html#errorSubNode,PNode proc errorSubNode(n: PNode): PNode 26
|
||||
nim newError errorhandling.html#newError,PNode,ErrorKind,varargs[PNode] proc newError(wrongNode: PNode; k: ErrorKind; args: varargs[PNode]): PNode 38
|
||||
nim newError errorhandling.html#newError,PNode,string proc newError(wrongNode: PNode; msg: string): PNode 48
|
||||
nim errorToString errorhandling.html#errorToString,ConfigRef,PNode proc errorToString(config: ConfigRef; n: PNode): string 58
|
||||
nimgrp newerror errorhandling.html#newError-procs-all proc 38
|
||||
168
compiler/evaltempl.html
Normal file
168
compiler/evaltempl.html
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/evaltempl</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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>
|
||||
</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="evaltempl.html#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#L149" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/evaltempl.nim#L149" 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="ast.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="ast.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="ast.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">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#L173" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/evaltempl.nim#L173" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">res</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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#L151" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/evaltempl.nim#L151" 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: 2023-03-13 00:20:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
4
compiler/evaltempl.idx
Normal file
4
compiler/evaltempl.idx
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
nimTitle evaltempl evaltempl.html module compiler/evaltempl 0
|
||||
nim evalTemplateLimit evaltempl.html#evalTemplateLimit const evalTemplateLimit 149
|
||||
nim wrapInComesFrom evaltempl.html#wrapInComesFrom,TLineInfo,PSym,PNode proc wrapInComesFrom(info: TLineInfo; sym: PSym; res: PNode): PNode 151
|
||||
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 173
|
||||
824
compiler/extccomp.html
Normal file
824
compiler/extccomp.html
Normal file
|
|
@ -0,0 +1,824 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/extccomp</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">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}), (
|
||||
"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}), (
|
||||
"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}), (
|
||||
"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}), (
|
||||
"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", " /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", "", "", " -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", " /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}), (
|
||||
"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", " /LIBPATH:", " $1.lib", " /RTC1 /Z7 ", "", "__asm{$n$1$n}$n",
|
||||
"$3$n$1 $2", "/Fa$asmfile", "", {hasCpp, hasAssume, hasDeclspec})]">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" title="writeJsonBuildInstructions(conf: ConfigRef)">writeJsonBuildInstructions(conf: ConfigRef)</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="extccomp.html#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="extccomp.html#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#L35" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L35" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TInfoCCProp">
|
||||
<dt><pre><a href="extccomp.html#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></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L25" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L25" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TInfoCCProps">
|
||||
<dt><pre><a href="extccomp.html#TInfoCCProps"><span class="Identifier">TInfoCCProps</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="extccomp.html#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#L34" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L34" 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="extccomp.html#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="extccomp.html#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="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="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="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="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">" /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">""</span><span class="Other">,</span> <span class="StringLit">""</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">" /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="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">" /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></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/extccomp.nim#L274" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L274" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="hExt">
|
||||
<dt><pre><a href="extccomp.html#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#L287" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L287" 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#L356" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L356" 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#L363" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L363" 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">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="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#L657" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L657" 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">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="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#L669" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L669" 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#L402" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L402" 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#L384" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L384" 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#L353" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L353" 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#L360" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L360" 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">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">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#L387" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L387" 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">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">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">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#L879" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L879" 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#L527" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L527" 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">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">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#L1019" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L1019" 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#L375" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L375" 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">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#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="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">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">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">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#L545" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L545" 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#L366" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L366" 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#L308" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L308" 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#L967" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L967" 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#L294" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L294" 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#L394" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L394" 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">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="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#L1036" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L1036" 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">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#L339" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L339" 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#L380" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L380" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeJsonBuildInstructions-procs-all">
|
||||
<div id="writeJsonBuildInstructions,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeJsonBuildInstructions%2CConfigRef"><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><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#L990" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/extccomp.nim#L990" 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#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>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2023-03-13 00:20:12 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
40
compiler/extccomp.idx
Normal file
40
compiler/extccomp.idx
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
nimTitle extccomp extccomp.html module compiler/extccomp 0
|
||||
nim hasSwitchRange extccomp.html#hasSwitchRange TInfoCCProp.hasSwitchRange 25
|
||||
nim hasComputedGoto extccomp.html#hasComputedGoto TInfoCCProp.hasComputedGoto 25
|
||||
nim hasCpp extccomp.html#hasCpp TInfoCCProp.hasCpp 25
|
||||
nim hasAssume extccomp.html#hasAssume TInfoCCProp.hasAssume 25
|
||||
nim hasGcGuard extccomp.html#hasGcGuard TInfoCCProp.hasGcGuard 25
|
||||
nim hasGnuAsm extccomp.html#hasGnuAsm TInfoCCProp.hasGnuAsm 25
|
||||
nim hasDeclspec extccomp.html#hasDeclspec TInfoCCProp.hasDeclspec 25
|
||||
nim hasAttribute extccomp.html#hasAttribute TInfoCCProp.hasAttribute 25
|
||||
nim TInfoCCProp extccomp.html#TInfoCCProp enum TInfoCCProp 25
|
||||
nim TInfoCCProps extccomp.html#TInfoCCProps type TInfoCCProps 34
|
||||
nim TInfoCC extccomp.html#TInfoCC tuple TInfoCC 35
|
||||
nim CC extccomp.html#CC const CC 274
|
||||
nim hExt extccomp.html#hExt const hExt 287
|
||||
nim nameToCC extccomp.html#nameToCC,string proc nameToCC(name: string): TSystemCC 294
|
||||
nim isVSCompatible extccomp.html#isVSCompatible,ConfigRef proc isVSCompatible(conf: ConfigRef): bool 308
|
||||
nim setCC extccomp.html#setCC,ConfigRef,string,TLineInfo proc setCC(conf: ConfigRef; ccname: string; info: TLineInfo) 339
|
||||
nim addLinkOption extccomp.html#addLinkOption,ConfigRef,string proc addLinkOption(conf: ConfigRef; option: string) 353
|
||||
nim addCompileOption extccomp.html#addCompileOption,ConfigRef,string proc addCompileOption(conf: ConfigRef; option: string) 356
|
||||
nim addLinkOptionCmd extccomp.html#addLinkOptionCmd,ConfigRef,string proc addLinkOptionCmd(conf: ConfigRef; option: string) 360
|
||||
nim addCompileOptionCmd extccomp.html#addCompileOptionCmd,ConfigRef,string proc addCompileOptionCmd(conf: ConfigRef; option: string) 363
|
||||
nim initVars extccomp.html#initVars,ConfigRef proc initVars(conf: ConfigRef) 366
|
||||
nim completeCfilePath extccomp.html#completeCfilePath,ConfigRef,AbsoluteFile,bool proc completeCfilePath(conf: ConfigRef; cfile: AbsoluteFile;\n createSubDir: bool = true): AbsoluteFile 375
|
||||
nim toObjFile extccomp.html#toObjFile,ConfigRef,AbsoluteFile proc toObjFile(conf: ConfigRef; filename: AbsoluteFile): AbsoluteFile 380
|
||||
nim addFileToCompile extccomp.html#addFileToCompile,ConfigRef,Cfile proc addFileToCompile(conf: ConfigRef; cf: Cfile) 384
|
||||
nim addLocalCompileOption extccomp.html#addLocalCompileOption,ConfigRef,string,AbsoluteFile proc addLocalCompileOption(conf: ConfigRef; option: string; nimfile: AbsoluteFile) 387
|
||||
nim resetCompilationLists extccomp.html#resetCompilationLists,ConfigRef proc resetCompilationLists(conf: ConfigRef) 394
|
||||
nim addExternalFileToLink extccomp.html#addExternalFileToLink,ConfigRef,AbsoluteFile proc addExternalFileToLink(conf: ConfigRef; filename: AbsoluteFile) 402
|
||||
nim execExternalProgram extccomp.html#execExternalProgram,ConfigRef,string proc execExternalProgram(conf: ConfigRef; cmd: string; msg = hintExecuting) 409
|
||||
nim ccHasSaneOverflow extccomp.html#ccHasSaneOverflow,ConfigRef proc ccHasSaneOverflow(conf: ConfigRef): bool 527
|
||||
nim getCompileCFileCmd extccomp.html#getCompileCFileCmd,ConfigRef,Cfile proc getCompileCFileCmd(conf: ConfigRef; cfile: Cfile; isMainFile = false;\n produceOutput = false): string 545
|
||||
nim addExternalFileToCompile extccomp.html#addExternalFileToCompile,ConfigRef,Cfile proc addExternalFileToCompile(conf: ConfigRef; c: var Cfile) 657
|
||||
nim addExternalFileToCompile extccomp.html#addExternalFileToCompile,ConfigRef,AbsoluteFile proc addExternalFileToCompile(conf: ConfigRef; filename: AbsoluteFile) 669
|
||||
nim callCCompiler extccomp.html#callCCompiler,ConfigRef proc callCCompiler(conf: ConfigRef) 879
|
||||
nim jsonBuildInstructionsFile extccomp.html#jsonBuildInstructionsFile,ConfigRef proc jsonBuildInstructionsFile(conf: ConfigRef): AbsoluteFile 967
|
||||
nim writeJsonBuildInstructions extccomp.html#writeJsonBuildInstructions,ConfigRef proc writeJsonBuildInstructions(conf: ConfigRef) 990
|
||||
nim changeDetectedViaJsonBuildInstructions extccomp.html#changeDetectedViaJsonBuildInstructions,ConfigRef,AbsoluteFile proc changeDetectedViaJsonBuildInstructions(conf: ConfigRef; jsonFile: AbsoluteFile): bool 1019
|
||||
nim runJsonBuildInstructions extccomp.html#runJsonBuildInstructions,ConfigRef,AbsoluteFile proc runJsonBuildInstructions(conf: ConfigRef; jsonFile: AbsoluteFile) 1036
|
||||
nim writeMapping extccomp.html#writeMapping,ConfigRef,Rope proc writeMapping(conf: ConfigRef; symbolMapping: Rope) 1063
|
||||
nimgrp addexternalfiletocompile extccomp.html#addExternalFileToCompile-procs-all proc 657
|
||||
124
compiler/filter_tmpl.html
Normal file
124
compiler/filter_tmpl.html
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/filter_tmpl</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="ast.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">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">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#L202" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filter_tmpl.nim#L202" 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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</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 compiler/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 202
|
||||
207
compiler/filters.html
Normal file
207
compiler/filters.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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/filters</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="ast.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">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#L43" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L43" 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="ast.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">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#L31" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L31" 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="ast.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">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#L64" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L64" 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="ast.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">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="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="ast.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">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#L37" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/filters.nim#L37" 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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
6
compiler/filters.idx
Normal file
6
compiler/filters.idx
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
nimTitle filters filters.html module compiler/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 31
|
||||
nim strArg filters.html#strArg,ConfigRef,PNode,string,int,string proc strArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: string): string 37
|
||||
nim boolArg filters.html#boolArg,ConfigRef,PNode,string,int,bool proc boolArg(conf: ConfigRef; n: PNode; name: string; pos: int; default: bool): bool 43
|
||||
nim filterStrip filters.html#filterStrip,ConfigRef,PLLStream,AbsoluteFile,PNode proc filterStrip(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;\n call: PNode): PLLStream 50
|
||||
nim filterReplace filters.html#filterReplace,ConfigRef,PLLStream,AbsoluteFile,PNode proc filterReplace(conf: ConfigRef; stdin: PLLStream; filename: AbsoluteFile;\n call: PNode): PLLStream 64
|
||||
123
compiler/gorgeimpl.html
Normal file
123
compiler/gorgeimpl.html
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/gorgeimpl</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</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#L28" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/gorgeimpl.nim#L28" 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: 2023-03-13 00:20:15 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/gorgeimpl.idx
Normal file
2
compiler/gorgeimpl.idx
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
nimTitle gorgeimpl gorgeimpl.html module compiler/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) 28
|
||||
562
compiler/guards.html
Normal file
562
compiler/guards.html
Normal file
|
|
@ -0,0 +1,562 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/guards</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="guards.html#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="ast.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#L391" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L391" 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="guards.html#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="ast.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="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/guards.nim#L1016" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1016" 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="guards.html#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.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">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/guards.nim#L1039" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1039" 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="guards.html#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.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="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/guards.nim#L1009" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1009" 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="guards.html#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">nn</span><span class="Other">:</span> <a href="ast.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">ERecoverableError</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/guards.nim#L396" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L396" 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="guards.html#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="ast.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="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/guards.nim#L975" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L975" 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="guards.html#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="ast.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="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/guards.nim#L978" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L978" 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="guards.html#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.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">ERecoverableError</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/guards.nim#L409" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L409" 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="ast.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="ast.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/guards.nim#L318" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L318" 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="ast.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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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/guards.nim#L150" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L150" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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/guards.nim#L145" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L145" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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/guards.nim#L238" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L238" 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="ast.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="ast.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/guards.nim#L241" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L241" 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="guards.html#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.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">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">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">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/guards.nim#L1060" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1060" 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="guards.html#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">prop</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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="Identifier">KeyError</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">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/guards.nim#L726" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L726" 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="ast.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="ast.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">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/guards.nim#L200" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L200" 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="guards.html#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">arg</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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="Identifier">KeyError</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">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/guards.nim#L734" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L734" 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="ast.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/guards.nim#L89" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L89" 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="guards.html#TModel"><span class="Identifier">TModel</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.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="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/guards.nim#L480" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L480" 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="ast.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="ast.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="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/guards.nim#L459" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L459" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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/guards.nim#L196" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L196" 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="guards.html#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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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/guards.nim#L966" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L966" 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="guards.html#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="ast.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="Identifier">KeyError</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">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/guards.nim#L1023" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L1023" 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="ast.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/guards.nim#L425" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L425" 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="ast.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="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/guards.nim#L737" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/guards.nim#L737" 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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
28
compiler/guards.idx
Normal file
28
compiler/guards.idx
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
nimTitle guards guards.html module compiler/guards 0
|
||||
nim interestingCaseExpr guards.html#interestingCaseExpr,PNode proc interestingCaseExpr(m: PNode): bool 89
|
||||
nim buildCall guards.html#buildCall,PSym,PNode proc buildCall(op: PSym; a: PNode): PNode 145
|
||||
nim buildCall guards.html#buildCall,PSym,PNode,PNode proc buildCall(op: PSym; a, b: PNode): PNode 150
|
||||
nim lowBound guards.html#lowBound,ConfigRef,PNode proc lowBound(conf: ConfigRef; x: PNode): PNode 196
|
||||
nim highBound guards.html#highBound,ConfigRef,PNode,Operators proc highBound(conf: ConfigRef; x: PNode; o: Operators): PNode 200
|
||||
nim buildLe guards.html#buildLe,Operators,PNode,PNode proc buildLe(o: Operators; a, b: PNode): PNode 238
|
||||
nim canon guards.html#canon,PNode,Operators proc canon(n: PNode; o: Operators): PNode 241
|
||||
nim buildAdd guards.html#buildAdd,PNode,BiggestInt,Operators proc buildAdd(a: PNode; b: BiggestInt; o: Operators): PNode 318
|
||||
nim TModel guards.html#TModel object TModel 391
|
||||
nim addFact guards.html#addFact,TModel,PNode proc addFact(m: var TModel; nn: PNode) 396
|
||||
nim addFactNeg guards.html#addFactNeg,TModel,PNode proc addFactNeg(m: var TModel; n: PNode) 409
|
||||
nim sameTree guards.html#sameTree,PNode,PNode proc sameTree(a, b: PNode): bool 425
|
||||
nim invalidateFacts guards.html#invalidateFacts,seq[PNode],PNode proc invalidateFacts(s: var seq[PNode]; n: PNode) 459
|
||||
nim invalidateFacts guards.html#invalidateFacts,TModel,PNode proc invalidateFacts(m: var TModel; n: PNode) 480
|
||||
nim doesImply guards.html#doesImply,TModel,PNode proc doesImply(facts: TModel; prop: PNode): TImplication 726
|
||||
nim impliesNotNil guards.html#impliesNotNil,TModel,PNode proc impliesNotNil(m: TModel; arg: PNode): TImplication 734
|
||||
nim simpleSlice guards.html#simpleSlice,PNode,PNode proc simpleSlice(a, b: PNode): BiggestInt 737
|
||||
nim proveLe guards.html#proveLe,TModel,PNode,PNode proc proveLe(m: TModel; a, b: PNode): TImplication 966
|
||||
nim addFactLe guards.html#addFactLe,TModel,PNode,PNode proc addFactLe(m: var TModel; a, b: PNode) 975
|
||||
nim addFactLt guards.html#addFactLt,TModel,PNode,PNode proc addFactLt(m: var TModel; a, b: PNode) 978
|
||||
nim addDiscriminantFact guards.html#addDiscriminantFact,TModel,PNode proc addDiscriminantFact(m: var TModel; n: PNode) 1009
|
||||
nim addAsgnFact guards.html#addAsgnFact,TModel,PNode,PNode proc addAsgnFact(m: var TModel; key, value: PNode) 1016
|
||||
nim sameSubexprs guards.html#sameSubexprs,TModel,PNode,PNode proc sameSubexprs(m: TModel; a, b: PNode): bool 1023
|
||||
nim addCaseBranchFacts guards.html#addCaseBranchFacts,TModel,PNode,int proc addCaseBranchFacts(m: var TModel; n: PNode; i: int) 1039
|
||||
nim checkFieldAccess guards.html#checkFieldAccess,TModel,PNode,ConfigRef,bool proc checkFieldAccess(m: TModel; n: PNode; conf: ConfigRef; produceError: bool) 1060
|
||||
nimgrp buildcall guards.html#buildCall-procs-all proc 145
|
||||
nimgrp invalidatefacts guards.html#invalidateFacts-procs-all proc 459
|
||||
364
compiler/ic/bitabs.html
Normal file
364
compiler/ic/bitabs.html
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/ic/bitabs</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="../dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/ic/bitabs</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" onkeyup="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="#BiTable" title="BiTable[T] = object">BiTable</a></li>
|
||||
<li><a class="reference" href="#LitId" title="LitId = distinct uint32">LitId</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%2CLitId" title="`$`(x: LitId): string">`$`(x: LitId): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section"><
|
||||
<li><a class="reference" href="#%3C%2CLitId%2CLitId" title="`<`(x, y: LitId): bool">`<`(x, y: LitId): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section"><=
|
||||
<li><a class="reference" href="#%3C%3D%2CLitId%2CLitId" title="`<=`(x, y: LitId): bool">`<=`(x, y: LitId): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">==
|
||||
<li><a class="reference" href="#%3D%3D%2CLitId%2CLitId" title="`==`(x, y: LitId): bool">`==`(x, y: LitId): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">[]
|
||||
<li><a class="reference" href="#%5B%5D%2CBiTable%5BT%5D%2CLitId_2" title="`[]`[T](t: BiTable[T]; litId: LitId): lent T">`[]`[T](t: BiTable[T]; litId: LitId): lent T</a></li>
|
||||
<li><a class="reference" href="#%5B%5D%2CBiTable%5BT%5D%2CLitId" title="`[]`[T](t: var BiTable[T]; litId: LitId): var T">`[]`[T](t: var BiTable[T]; litId: LitId): var T</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getKeyId
|
||||
<li><a class="reference" href="#getKeyId%2CBiTable%5BT%5D%2CT" title="getKeyId[T](t: BiTable[T]; v: T): LitId">getKeyId[T](t: BiTable[T]; v: T): LitId</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getOrIncl
|
||||
<li><a class="reference" href="#getOrIncl%2CBiTable%5BT%5D%2CT" title="getOrIncl[T](t: var BiTable[T]; v: T): LitId">getOrIncl[T](t: var BiTable[T]; v: T): LitId</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">hash
|
||||
<li><a class="reference" href="#hash%2CLitId" title="hash(x: LitId): Hash">hash(x: LitId): Hash</a></li>
|
||||
<li><a class="reference" href="#hash%2CBiTable%5BT%5D" title="hash[T](t: BiTable[T]): Hash">hash[T](t: BiTable[T]): Hash</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">hasLitId
|
||||
<li><a class="reference" href="#hasLitId%2CBiTable%5BT%5D%2CLitId" title="hasLitId[T](t: BiTable[T]; x: LitId): bool">hasLitId[T](t: BiTable[T]; x: LitId): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">len
|
||||
<li><a class="reference" href="#len%2CBiTable%5BT%5D" title="len[T](t: BiTable[T]): int">len[T](t: BiTable[T]): int</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">load
|
||||
<li><a class="reference" href="#load%2CRodFile%2CBiTable%5BT%5D" title="load[T](f: var RodFile; t: var BiTable[T])">load[T](f: var RodFile; t: var BiTable[T])</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">store
|
||||
<li><a class="reference" href="#store%2CRodFile%2CBiTable%5BT%5D" title="store[T](f: var RodFile; t: BiTable[T])">store[T](f: var RodFile; t: BiTable[T])</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/bitabs.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">A BiTable is a table that can be seen as an optimized pair of <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span><span class="Identifier">Table</span><span class="Punctuation">[</span><span class="Identifier">LitId</span><span class="Punctuation">,</span> <span class="Identifier">Val</span><span class="Punctuation">]</span><span class="Punctuation">,</span> <span class="Identifier">Table</span><span class="Punctuation">[</span><span class="Identifier">Val</span><span class="Punctuation">,</span> <span class="Identifier">LitId</span><span class="Punctuation">]</span><span class="Punctuation">)</span></span></tt>.</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="rodfiles.html">rodfiles</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="BiTable">
|
||||
<dt><pre><a href="bitabs.html#BiTable"><span class="Identifier">BiTable</span></a><span class="Other">[</span><span class="Identifier">T</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/ic/bitabs.nim#L12" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L12" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="LitId">
|
||||
<dt><pre><a href="bitabs.html#LitId"><span class="Identifier">LitId</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">uint32</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/bitabs.nim#L10" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L10" 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="$,LitId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%24%2CLitId"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="bitabs.html#LitId"><span class="Identifier">LitId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span class="Identifier">borrow</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/bitabs.nim#L22" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L22" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="<-procs-all">
|
||||
<div id="<,LitId,LitId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%3C%2CLitId%2CLitId"><span class="Identifier">`<`</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="bitabs.html#LitId"><span class="Identifier">LitId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">borrow</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/bitabs.nim#L23" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L23" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="<=-procs-all">
|
||||
<div id="<=,LitId,LitId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%3C%3D%2CLitId%2CLitId"><span class="Identifier">`<=`</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="bitabs.html#LitId"><span class="Identifier">LitId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">borrow</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/bitabs.nim#L24" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L24" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="==-procs-all">
|
||||
<div id="==,LitId,LitId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CLitId%2CLitId"><span class="Identifier">`==`</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="bitabs.html#LitId"><span class="Identifier">LitId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">borrow</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/bitabs.nim#L25" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L25" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="[]-procs-all">
|
||||
<div id="[],BiTable[T],LitId_2">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%5B%5D%2CBiTable%5BT%5D%2CLitId_2"><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> <a href="bitabs.html#BiTable"><span class="Identifier">BiTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">litId</span><span class="Other">:</span> <a href="bitabs.html#LitId"><span class="Identifier">LitId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">lent</span> <span class="Identifier">T</span> {.<span class="Identifier">inline</span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/bitabs.nim#L101" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L101" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="[],BiTable[T],LitId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%5B%5D%2CBiTable%5BT%5D%2CLitId"><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="bitabs.html#BiTable"><span class="Identifier">BiTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">litId</span><span class="Other">:</span> <a href="bitabs.html#LitId"><span class="Identifier">LitId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">T</span> {.<span class="Identifier">inline</span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/bitabs.nim#L96" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L96" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getKeyId-procs-all">
|
||||
<div id="getKeyId,BiTable[T],T">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getKeyId%2CBiTable%5BT%5D%2CT"><span class="Identifier">getKeyId</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="bitabs.html#BiTable"><span class="Identifier">BiTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">T</span><span class="Other">)</span><span class="Other">:</span> <a href="bitabs.html#LitId"><span class="Identifier">LitId</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/bitabs.nim#L58" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L58" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getOrIncl-procs-all">
|
||||
<div id="getOrIncl,BiTable[T],T">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getOrIncl%2CBiTable%5BT%5D%2CT"><span class="Identifier">getOrIncl</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="bitabs.html#BiTable"><span class="Identifier">BiTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">T</span><span class="Other">)</span><span class="Other">:</span> <a href="bitabs.html#LitId"><span class="Identifier">LitId</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/bitabs.nim#L69" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L69" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="hash-procs-all">
|
||||
<div id="hash,LitId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hash%2CLitId"><span class="Identifier">hash</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="bitabs.html#LitId"><span class="Identifier">LitId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Hash</span> {.<span class="Identifier">borrow</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/bitabs.nim#L26" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L26" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="hash,BiTable[T]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hash%2CBiTable%5BT%5D"><span class="Identifier">hash</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="bitabs.html#BiTable"><span class="Identifier">BiTable</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="Identifier">Hash</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
as the keys are hashes of the values, we simply use them instead
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/bitabs.nim#L106" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L106" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="hasLitId-procs-all">
|
||||
<div id="hasLitId,BiTable[T],LitId">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hasLitId%2CBiTable%5BT%5D%2CLitId"><span class="Identifier">hasLitId</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="bitabs.html#BiTable"><span class="Identifier">BiTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <a href="bitabs.html#LitId"><span class="Identifier">LitId</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/ic/bitabs.nim#L42" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L42" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="len-procs-all">
|
||||
<div id="len,BiTable[T]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#len%2CBiTable%5BT%5D"><span class="Identifier">len</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="bitabs.html#BiTable"><span class="Identifier">BiTable</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="Identifier">int</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/bitabs.nim#L29" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L29" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="load-procs-all">
|
||||
<div id="load,RodFile,BiTable[T]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#load%2CRodFile%2CBiTable%5BT%5D"><span class="Identifier">load</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</span></a><span class="Other">;</span> <span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="bitabs.html#BiTable"><span class="Identifier">BiTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/bitabs.nim#L117" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L117" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="store-procs-all">
|
||||
<div id="store,RodFile,BiTable[T]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#store%2CRodFile%2CBiTable%5BT%5D"><span class="Identifier">store</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</span></a><span class="Other">;</span> <span class="Identifier">t</span><span class="Other">:</span> <a href="bitabs.html#BiTable"><span class="Identifier">BiTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/bitabs.nim#L113" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/bitabs.nim#L113" 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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
19
compiler/ic/bitabs.idx
Normal file
19
compiler/ic/bitabs.idx
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
nimTitle bitabs ic/bitabs.html module compiler/ic/bitabs 0
|
||||
nim LitId ic/bitabs.html#LitId type LitId 10
|
||||
nim BiTable ic/bitabs.html#BiTable object BiTable 12
|
||||
nim `$` ic/bitabs.html#$,LitId proc `$`(x: LitId): string 22
|
||||
nim `<` ic/bitabs.html#<,LitId,LitId proc `<`(x, y: LitId): bool 23
|
||||
nim `<=` ic/bitabs.html#<=,LitId,LitId proc `<=`(x, y: LitId): bool 24
|
||||
nim `==` ic/bitabs.html#==,LitId,LitId proc `==`(x, y: LitId): bool 25
|
||||
nim hash ic/bitabs.html#hash,LitId proc hash(x: LitId): Hash 26
|
||||
nim len ic/bitabs.html#len,BiTable[T] proc len[T](t: BiTable[T]): int 29
|
||||
nim hasLitId ic/bitabs.html#hasLitId,BiTable[T],LitId proc hasLitId[T](t: BiTable[T]; x: LitId): bool 42
|
||||
nim getKeyId ic/bitabs.html#getKeyId,BiTable[T],T proc getKeyId[T](t: BiTable[T]; v: T): LitId 58
|
||||
nim getOrIncl ic/bitabs.html#getOrIncl,BiTable[T],T proc getOrIncl[T](t: var BiTable[T]; v: T): LitId 69
|
||||
nim `[]` ic/bitabs.html#[],BiTable[T],LitId proc `[]`[T](t: var BiTable[T]; litId: LitId): var T 96
|
||||
nim `[]` ic/bitabs.html#[],BiTable[T],LitId_2 proc `[]`[T](t: BiTable[T]; litId: LitId): lent T 101
|
||||
nim hash ic/bitabs.html#hash,BiTable[T] proc hash[T](t: BiTable[T]): Hash 106
|
||||
nim store ic/bitabs.html#store,RodFile,BiTable[T] proc store[T](f: var RodFile; t: BiTable[T]) 113
|
||||
nim load ic/bitabs.html#load,RodFile,BiTable[T] proc load[T](f: var RodFile; t: var BiTable[T]) 117
|
||||
nimgrp hash ic/bitabs.html#hash-procs-all proc 26
|
||||
nimgrp [] ic/bitabs.html#[]-procs-all proc 96
|
||||
121
compiler/ic/cbackend.html
Normal file
121
compiler/ic/cbackend.html
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/ic/cbackend</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="../dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/ic/cbackend</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" onkeyup="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">generateCode
|
||||
<li><a class="reference" href="#generateCode%2CModuleGraph" title="generateCode(g: ModuleGraph)">generateCode(g: ModuleGraph)</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/cbackend.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/cbackend.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">New entry point into our C/C++ code generator. Ideally somebody would rewrite the old backend (which is 8000 lines of crufty Nim code) to work on packed trees directly and produce the C code as an AST which can then be rendered to text in a very simple manner. Unfortunately nobody wrote this code. So instead we wrap the existing cgen.nim and its friends so that we call directly into the existing code generation logic but avoiding the naive, outdated <tt class="docutils literal"><span class="pre"><span class="Identifier">passes</span></span></tt> design. Thus you will see some <tt class="docutils literal"><span class="pre"><span class="Identifier">useAliveDataFromDce</span> <span class="Keyword">in</span> <span class="Identifier">flags</span></span></tt> checks in the old code -- the old code is also doing cross-module dependency tracking and DCE that we don't need anymore. DCE is now done as prepass over the entire packed module graph.</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="../lineinfos.html">../lineinfos</a>, <a class="reference external" href="../modulegraphs.html">../modulegraphs</a>, <a class="reference external" href="../cgendata.html">../cgendata</a>, <a class="reference external" href="../cgen.html">../cgen</a>, <a class="reference external" href="../pathutils.html">../pathutils</a>, <a class="reference external" href="../extccomp.html">../extccomp</a>, <a class="reference external" href="../msgs.html">../msgs</a>, <a class="reference external" href="../modulepaths.html">../modulepaths</a>, <a class="reference external" href="packed_ast.html">packed_ast</a>, <a class="reference external" href="ic.html">ic</a>, <a class="reference external" href="dce.html">dce</a>, <a class="reference external" href="rodfiles.html">rodfiles</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="generateCode-procs-all">
|
||||
<div id="generateCode,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#generateCode%2CModuleGraph"><span class="Identifier">generateCode</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><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="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">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">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>
|
||||
|
||||
The single entry point, generate C(++) code for the entire Nim program aka <tt class="docutils literal"><span class="pre"><span class="Identifier">ModuleGraph</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/cbackend.nim#L140" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/cbackend.nim#L140" 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: 2023-03-13 00:20:18 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/ic/cbackend.idx
Normal file
2
compiler/ic/cbackend.idx
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
nimTitle cbackend ic/cbackend.html module compiler/ic/cbackend 0
|
||||
nim generateCode ic/cbackend.html#generateCode,ModuleGraph proc generateCode(g: ModuleGraph) 140
|
||||
175
compiler/ic/dce.html
Normal file
175
compiler/ic/dce.html
Normal file
|
|
@ -0,0 +1,175 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/ic/dce</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="../dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/ic/dce</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" onkeyup="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="#AliveContext" title="AliveContext = object">AliveContext</a></li>
|
||||
<li><a class="reference" href="#AliveSyms" title="AliveSyms = seq[IntSet]">AliveSyms</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">computeAliveSyms
|
||||
<li><a class="reference" href="#computeAliveSyms%2CPackedModuleGraph%2CConfigRef" title="computeAliveSyms(g: PackedModuleGraph; conf: ConfigRef): AliveSyms">computeAliveSyms(g: PackedModuleGraph; conf: ConfigRef): AliveSyms</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isAlive
|
||||
<li><a class="reference" href="#isAlive%2CAliveSyms%2Cint%2Cint32" title="isAlive(a: AliveSyms; module: int; item: int32): bool">isAlive(a: AliveSyms; module: int; item: int32): 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/ic/dce.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/dce.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Dead code elimination (=DCE) for IC.</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="../lineinfos.html">../lineinfos</a>, <a class="reference external" href="../types.html">../types</a>, <a class="reference external" href="packed_ast.html">packed_ast</a>, <a class="reference external" href="ic.html">ic</a>, <a class="reference external" href="bitabs.html">bitabs</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="AliveContext">
|
||||
<dt><pre><a href="dce.html#AliveContext"><span class="Identifier">AliveContext</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
</pre></dt>
|
||||
<dd>
|
||||
|
||||
Purpose is to fill the 'alive' field.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/dce.nim#L23" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/dce.nim#L23" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="AliveSyms">
|
||||
<dt><pre><a href="dce.html#AliveSyms"><span class="Identifier">AliveSyms</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">IntSet</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/dce.nim#L22" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/dce.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="computeAliveSyms-procs-all">
|
||||
<div id="computeAliveSyms,PackedModuleGraph,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#computeAliveSyms%2CPackedModuleGraph%2CConfigRef"><span class="Identifier">computeAliveSyms</span></a><span class="Other">(</span><span class="Identifier">g</span><span class="Other">:</span> <a href="ic.html#PackedModuleGraph"><span class="Identifier">PackedModuleGraph</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="dce.html#AliveSyms"><span class="Identifier">AliveSyms</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">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="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 for our DCE algorithm.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/dce.nim#L147" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/dce.nim#L147" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isAlive-procs-all">
|
||||
<div id="isAlive,AliveSyms,int,int32">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isAlive%2CAliveSyms%2Cint%2Cint32"><span class="Identifier">isAlive</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="dce.html#AliveSyms"><span class="Identifier">AliveSyms</span></a><span class="Other">;</span> <span class="Identifier">module</span><span class="Other">:</span> <span class="Identifier">int</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> <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>
|
||||
|
||||
Backends use this to query if a symbol is <tt class="docutils literal"><span class="pre"><span class="Identifier">alive</span></span></tt> which means we need to produce (C/C++/etc) code for it.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/dce.nim#L161" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/dce.nim#L161" 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: 2023-03-13 00:20:18 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
5
compiler/ic/dce.idx
Normal file
5
compiler/ic/dce.idx
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
nimTitle dce ic/dce.html module compiler/ic/dce 0
|
||||
nim AliveSyms ic/dce.html#AliveSyms type AliveSyms 22
|
||||
nim AliveContext ic/dce.html#AliveContext object AliveContext 23
|
||||
nim computeAliveSyms ic/dce.html#computeAliveSyms,PackedModuleGraph,ConfigRef proc computeAliveSyms(g: PackedModuleGraph; conf: ConfigRef): AliveSyms 147
|
||||
nim isAlive ic/dce.html#isAlive,AliveSyms,int,int32 proc isAlive(a: AliveSyms; module: int; item: int32): bool 161
|
||||
1233
compiler/ic/ic.html
Normal file
1233
compiler/ic/ic.html
Normal file
File diff suppressed because it is too large
Load diff
66
compiler/ic/ic.idx
Normal file
66
compiler/ic/ic.idx
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
nimTitle ic ic/ic.html module compiler/ic/ic 0
|
||||
nim PackedConfig ic/ic.html#PackedConfig object PackedConfig 21
|
||||
nim HasDatInitProc ic/ic.html#HasDatInitProc ModuleBackendFlag.HasDatInitProc 28
|
||||
nim HasModuleInitProc ic/ic.html#HasModuleInitProc ModuleBackendFlag.HasModuleInitProc 28
|
||||
nim ModuleBackendFlag ic/ic.html#ModuleBackendFlag enum ModuleBackendFlag 28
|
||||
nim PackedModule ic/ic.html#PackedModule object PackedModule 32
|
||||
nim PackedEncoder ic/ic.html#PackedEncoder object PackedEncoder 64
|
||||
nim toString ic/ic.html#toString,PackedTree,NodePos,PackedModule,int,string proc toString(tree: PackedTree; n: NodePos; m: PackedModule; nesting: int;\n result: var string) 76
|
||||
nim toString ic/ic.html#toString,PackedTree,NodePos,PackedModule proc toString(tree: PackedTree; n: NodePos; m: PackedModule): string 113
|
||||
nim debug ic/ic.html#debug,PackedTree,PackedModule proc debug(tree: PackedTree; m: PackedModule) 117
|
||||
nim isActive ic/ic.html#isActive,PackedEncoder proc isActive(e: PackedEncoder): bool 120
|
||||
nim rememberStartupConfig ic/ic.html#rememberStartupConfig,PackedConfig,ConfigRef proc rememberStartupConfig(dest: var PackedConfig; config: ConfigRef) 167
|
||||
nim toFileIndex ic/ic.html#toFileIndex,LitId,PackedModule,ConfigRef proc toFileIndex(x: LitId; m: PackedModule; config: ConfigRef): FileIndex 194
|
||||
nim initEncoder ic/ic.html#initEncoder,PackedEncoder,PackedModule,PSym,ConfigRef,PackedConfig proc initEncoder(c: var PackedEncoder; m: var PackedModule; moduleSym: PSym;\n config: ConfigRef; pc: PackedConfig) 203
|
||||
nim addIncludeFileDep ic/ic.html#addIncludeFileDep,PackedEncoder,PackedModule,FileIndex proc addIncludeFileDep(c: var PackedEncoder; m: var PackedModule; f: FileIndex) 225
|
||||
nim addImportFileDep ic/ic.html#addImportFileDep,PackedEncoder,PackedModule,FileIndex proc addImportFileDep(c: var PackedEncoder; m: var PackedModule; f: FileIndex) 228
|
||||
nim addHidden ic/ic.html#addHidden,PackedEncoder,PackedModule,PSym proc addHidden(c: var PackedEncoder; m: var PackedModule; s: PSym) 231
|
||||
nim addExported ic/ic.html#addExported,PackedEncoder,PackedModule,PSym proc addExported(c: var PackedEncoder; m: var PackedModule; s: PSym) 235
|
||||
nim addConverter ic/ic.html#addConverter,PackedEncoder,PackedModule,PSym proc addConverter(c: var PackedEncoder; m: var PackedModule; s: PSym) 239
|
||||
nim addTrmacro ic/ic.html#addTrmacro,PackedEncoder,PackedModule,PSym proc addTrmacro(c: var PackedEncoder; m: var PackedModule; s: PSym) 243
|
||||
nim addPureEnum ic/ic.html#addPureEnum,PackedEncoder,PackedModule,PSym proc addPureEnum(c: var PackedEncoder; m: var PackedModule; s: PSym) 246
|
||||
nim addMethod ic/ic.html#addMethod,PackedEncoder,PackedModule,PSym proc addMethod(c: var PackedEncoder; m: var PackedModule; s: PSym) 250
|
||||
nim addReexport ic/ic.html#addReexport,PackedEncoder,PackedModule,PSym proc addReexport(c: var PackedEncoder; m: var PackedModule; s: PSym) 253
|
||||
nim addCompilerProc ic/ic.html#addCompilerProc,PackedEncoder,PackedModule,PSym proc addCompilerProc(c: var PackedEncoder; m: var PackedModule; s: PSym) 258
|
||||
nim toPackedNode ic/ic.html#toPackedNode,PNode,PackedTree,PackedEncoder,PackedModule proc toPackedNode(n: PNode; ir: var PackedTree; c: var PackedEncoder;\n m: var PackedModule) 262
|
||||
nim storeSym ic/ic.html#storeSym,PSym,PackedEncoder,PackedModule proc storeSym(s: PSym; c: var PackedEncoder; m: var PackedModule): PackedItemId 263
|
||||
nim storeTypeInst ic/ic.html#storeTypeInst,PackedEncoder,PackedModule,PSym,PType proc storeTypeInst(c: var PackedEncoder; m: var PackedModule; s: PSym; inst: PType) 475
|
||||
nim addPragmaComputation ic/ic.html#addPragmaComputation,PackedEncoder,PackedModule,PNode proc addPragmaComputation(c: var PackedEncoder; m: var PackedModule; n: PNode) 478
|
||||
nim toPackedNodeTopLevel ic/ic.html#toPackedNodeTopLevel,PNode,PackedEncoder,PackedModule proc toPackedNodeTopLevel(n: PNode; encoder: var PackedEncoder; m: var PackedModule) 518
|
||||
nim toPackedGeneratedProcDef ic/ic.html#toPackedGeneratedProcDef,PSym,PackedEncoder,PackedModule proc toPackedGeneratedProcDef(s: PSym; encoder: var PackedEncoder;\n m: var PackedModule) 522
|
||||
nim storeAttachedProcDef ic/ic.html#storeAttachedProcDef,PType,TTypeAttachedOp,PSym,PackedEncoder,PackedModule proc storeAttachedProcDef(t: PType; op: TTypeAttachedOp; s: PSym;\n encoder: var PackedEncoder; m: var PackedModule) 531
|
||||
nim storeInstantiation ic/ic.html#storeInstantiation,PackedEncoder,PackedModule,PSym,PInstantiation proc storeInstantiation(c: var PackedEncoder; m: var PackedModule; s: PSym;\n i: PInstantiation) 540
|
||||
nim storeExpansion ic/ic.html#storeExpansion,PackedEncoder,PackedModule,TLineInfo,PSym proc storeExpansion(c: var PackedEncoder; m: var PackedModule; info: TLineInfo;\n s: PSym) 549
|
||||
nim toRodFile ic/ic.html#toRodFile,ConfigRef,AbsoluteFile proc toRodFile(conf: ConfigRef; f: AbsoluteFile; ext = RodExt): AbsoluteFile 562
|
||||
nim loadRodFile ic/ic.html#loadRodFile,AbsoluteFile,PackedModule,ConfigRef proc loadRodFile(filename: AbsoluteFile; m: var PackedModule; config: ConfigRef;\n ignoreConfig = false): RodFileError 566
|
||||
nim saveRodFile ic/ic.html#saveRodFile,AbsoluteFile,PackedEncoder,PackedModule proc saveRodFile(filename: AbsoluteFile; encoder: var PackedEncoder;\n m: var PackedModule) 634
|
||||
nim PackedDecoder ic/ic.html#PackedDecoder object PackedDecoder 704
|
||||
nim undefined ic/ic.html#undefined ModuleStatus.undefined 712
|
||||
nim storing ic/ic.html#storing ModuleStatus.storing 712
|
||||
nim loading ic/ic.html#loading ModuleStatus.loading 712
|
||||
nim loaded ic/ic.html#loaded ModuleStatus.loaded 712
|
||||
nim outdated ic/ic.html#outdated ModuleStatus.outdated 712
|
||||
nim stored ic/ic.html#stored ModuleStatus.stored 712
|
||||
nim ModuleStatus ic/ic.html#ModuleStatus enum ModuleStatus 712
|
||||
nim LoadedModule ic/ic.html#LoadedModule object LoadedModule 720
|
||||
nim PackedModuleGraph ic/ic.html#PackedModuleGraph type PackedModuleGraph 731
|
||||
nim toFileIndexCached ic/ic.html#toFileIndexCached,PackedDecoder,PackedModuleGraph,int,LitId proc toFileIndexCached(c: var PackedDecoder; g: PackedModuleGraph; thisModule: int;\n f: LitId): FileIndex 736
|
||||
nim loadNodes ic/ic.html#loadNodes,PackedDecoder,PackedModuleGraph,int,PackedTree,NodePos proc loadNodes(c: var PackedDecoder; g: var PackedModuleGraph; thisModule: int;\n tree: PackedTree; n: NodePos): PNode 751
|
||||
nim initPackedDecoder ic/ic.html#initPackedDecoder,ConfigRef,IdentCache proc initPackedDecoder(config: ConfigRef; cache: IdentCache): PackedDecoder 787
|
||||
nim moduleIndex ic/ic.html#moduleIndex,PackedDecoder,PackedModuleGraph,int,PackedItemId proc moduleIndex(c: var PackedDecoder; g: var PackedModuleGraph; thisModule: int;\n s: PackedItemId): int32 820
|
||||
nim moduleFromRodFile ic/ic.html#moduleFromRodFile,PackedModuleGraph,ConfigRef,IdentCache,FileIndex,seq[FileIndex] proc moduleFromRodFile(g: var PackedModuleGraph; conf: ConfigRef; cache: IdentCache;\n fileIdx: FileIndex; cachedModules: var seq[FileIndex]): PSym 1026
|
||||
nim loadProcBody ic/ic.html#loadProcBody,ConfigRef,IdentCache,PackedModuleGraph,PSym proc loadProcBody(config: ConfigRef; cache: IdentCache; g: var PackedModuleGraph;\n s: PSym): PNode 1046
|
||||
nim loadTypeFromId ic/ic.html#loadTypeFromId,ConfigRef,IdentCache,PackedModuleGraph,int,PackedItemId proc loadTypeFromId(config: ConfigRef; cache: IdentCache; g: var PackedModuleGraph;\n module: int; id: PackedItemId): PType 1059
|
||||
nim loadSymFromId ic/ic.html#loadSymFromId,ConfigRef,IdentCache,PackedModuleGraph,int,PackedItemId proc loadSymFromId(config: ConfigRef; cache: IdentCache; g: var PackedModuleGraph;\n module: int; id: PackedItemId): PSym 1074
|
||||
nim translateId ic/ic.html#translateId,PackedItemId,PackedModuleGraph,int,ConfigRef proc translateId(id: PackedItemId; g: PackedModuleGraph; thisModule: int;\n config: ConfigRef): ItemId 1089
|
||||
nim simulateLoadedModule ic/ic.html#simulateLoadedModule,PackedModuleGraph,ConfigRef,IdentCache,PSym,PackedModule proc simulateLoadedModule(g: var PackedModuleGraph; conf: ConfigRef;\n cache: IdentCache; moduleSym: PSym; m: PackedModule) 1108
|
||||
nim RodIter ic/ic.html#RodIter object RodIter 1122
|
||||
nim initRodIter ic/ic.html#initRodIter,RodIter,ConfigRef,IdentCache,PackedModuleGraph,FileIndex,PIdent,bool proc initRodIter(it: var RodIter; config: ConfigRef; cache: IdentCache;\n g: var PackedModuleGraph; module: FileIndex; name: PIdent;\n importHidden: bool): PSym 1132
|
||||
nim initRodIterAllSyms ic/ic.html#initRodIterAllSyms,RodIter,ConfigRef,IdentCache,PackedModuleGraph,FileIndex,bool proc initRodIterAllSyms(it: var RodIter; config: ConfigRef; cache: IdentCache;\n g: var PackedModuleGraph; module: FileIndex;\n importHidden: bool): PSym 1148
|
||||
nim nextRodIter ic/ic.html#nextRodIter,RodIter,PackedModuleGraph proc nextRodIter(it: var RodIter; g: var PackedModuleGraph): PSym 1165
|
||||
nim interfaceSymbols ic/ic.html#interfaceSymbols.i,ConfigRef,IdentCache,PackedModuleGraph,FileIndex,PIdent,bool iterator interfaceSymbols(config: ConfigRef; cache: IdentCache; g: var PackedModuleGraph;\n module: FileIndex; name: PIdent; importHidden: bool): PSym 1170
|
||||
nim interfaceSymbol ic/ic.html#interfaceSymbol,ConfigRef,IdentCache,PackedModuleGraph,FileIndex,PIdent,bool proc interfaceSymbol(config: ConfigRef; cache: IdentCache; g: var PackedModuleGraph;\n module: FileIndex; name: PIdent; importHidden: bool): PSym 1180
|
||||
nim idgenFromLoadedModule ic/ic.html#idgenFromLoadedModule,LoadedModule proc idgenFromLoadedModule(m: LoadedModule): IdGenerator 1187
|
||||
nim searchForCompilerproc ic/ic.html#searchForCompilerproc,LoadedModule,string proc searchForCompilerproc(m: LoadedModule; name: string): int32 1191
|
||||
nim rodViewer ic/ic.html#rodViewer,AbsoluteFile,ConfigRef,IdentCache proc rodViewer(rodfile: AbsoluteFile; config: ConfigRef; cache: IdentCache) 1200
|
||||
nimgrp tostring ic/ic.html#toString-procs-all proc 76
|
||||
120
compiler/ic/integrity.html
Normal file
120
compiler/ic/integrity.html
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/ic/integrity</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="../dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/ic/integrity</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" onkeyup="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">checkIntegrity
|
||||
<li><a class="reference" href="#checkIntegrity%2CModuleGraph" title="checkIntegrity(g: ModuleGraph)">checkIntegrity(g: ModuleGraph)</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/integrity.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/integrity.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Integrity checking for a set of .rod files. The set must cover a complete Nim project.</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="packed_ast.html">packed_ast</a>, <a class="reference external" href="bitabs.html">bitabs</a>, <a class="reference external" href="ic.html">ic</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="checkIntegrity-procs-all">
|
||||
<div id="checkIntegrity,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#checkIntegrity%2CModuleGraph"><span class="Identifier">checkIntegrity</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><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">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/ic/integrity.nim#L141" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/integrity.nim#L141" 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: 2023-03-13 00:20:18 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/ic/integrity.idx
Normal file
2
compiler/ic/integrity.idx
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
nimTitle integrity ic/integrity.html module compiler/ic/integrity 0
|
||||
nim checkIntegrity ic/integrity.html#checkIntegrity,ModuleGraph proc checkIntegrity(g: ModuleGraph) 141
|
||||
180
compiler/ic/navigator.html
Normal file
180
compiler/ic/navigator.html
Normal file
|
|
@ -0,0 +1,180 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/ic/navigator</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="../dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/ic/navigator</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" onkeyup="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">navDefinition
|
||||
<li><a class="reference" href="#navDefinition%2CModuleGraph" title="navDefinition(g: ModuleGraph)">navDefinition(g: ModuleGraph)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">navDefusages
|
||||
<li><a class="reference" href="#navDefusages%2CModuleGraph" title="navDefusages(g: ModuleGraph)">navDefusages(g: ModuleGraph)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">navUsages
|
||||
<li><a class="reference" href="#navUsages%2CModuleGraph" title="navUsages(g: ModuleGraph)">navUsages(g: ModuleGraph)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">writeRodFiles
|
||||
<li><a class="reference" href="#writeRodFiles%2CModuleGraph" title="writeRodFiles(g: ModuleGraph)">writeRodFiles(g: ModuleGraph)</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/navigator.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/navigator.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">Supports the "nim check --ic:on --defusages:FILE,LINE,COL" IDE-like features. It uses the set of .rod files to accomplish its task. The set must cover a complete Nim project.</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="../msgs.html">../msgs</a>, <a class="reference external" href="../options.html">../options</a>, <a class="reference external" href="packed_ast.html">packed_ast</a>, <a class="reference external" href="bitabs.html">bitabs</a>, <a class="reference external" href="ic.html">ic</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="navDefinition-procs-all">
|
||||
<div id="navDefinition,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#navDefinition%2CModuleGraph"><span class="Identifier">navDefinition</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><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">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/ic/navigator.nim#L160" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/navigator.nim#L160" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="navDefusages-procs-all">
|
||||
<div id="navDefusages,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#navDefusages%2CModuleGraph"><span class="Identifier">navDefusages</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><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">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/ic/navigator.nim#L162" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/navigator.nim#L162" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="navUsages-procs-all">
|
||||
<div id="navUsages,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#navUsages%2CModuleGraph"><span class="Identifier">navUsages</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><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">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/ic/navigator.nim#L161" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/navigator.nim#L161" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="writeRodFiles-procs-all">
|
||||
<div id="writeRodFiles,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#writeRodFiles%2CModuleGraph"><span class="Identifier">writeRodFiles</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><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">OSError</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">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">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/ic/navigator.nim#L164" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/navigator.nim#L164" 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: 2023-03-13 00:20:18 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
5
compiler/ic/navigator.idx
Normal file
5
compiler/ic/navigator.idx
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
nimTitle navigator ic/navigator.html module compiler/ic/navigator 0
|
||||
nim navDefinition ic/navigator.html#navDefinition,ModuleGraph proc navDefinition(g: ModuleGraph) 160
|
||||
nim navUsages ic/navigator.html#navUsages,ModuleGraph proc navUsages(g: ModuleGraph) 161
|
||||
nim navDefusages ic/navigator.html#navDefusages,ModuleGraph proc navDefusages(g: ModuleGraph) 162
|
||||
nim writeRodFiles ic/navigator.html#writeRodFiles,ModuleGraph proc writeRodFiles(g: ModuleGraph) 164
|
||||
1250
compiler/ic/packed_ast.html
Normal file
1250
compiler/ic/packed_ast.html
Normal file
File diff suppressed because it is too large
Load diff
68
compiler/ic/packed_ast.idx
Normal file
68
compiler/ic/packed_ast.idx
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
nimTitle packed_ast ic/packed_ast.html module compiler/ic/packed_ast 0
|
||||
nim SymId ic/packed_ast.html#SymId type SymId 23
|
||||
nim ModuleId ic/packed_ast.html#ModuleId type ModuleId 24
|
||||
nim NodePos ic/packed_ast.html#NodePos type NodePos 25
|
||||
nim NodeId ic/packed_ast.html#NodeId type NodeId 27
|
||||
nim PackedItemId ic/packed_ast.html#PackedItemId object PackedItemId 29
|
||||
nim nilItemId ic/packed_ast.html#nilItemId const nilItemId 34
|
||||
nim emptyNodeId ic/packed_ast.html#emptyNodeId const emptyNodeId 37
|
||||
nim PackedLineInfo ic/packed_ast.html#PackedLineInfo object PackedLineInfo 40
|
||||
nim PackedLib ic/packed_ast.html#PackedLib object PackedLib 45
|
||||
nim PackedSym ic/packed_ast.html#PackedSym object PackedSym 52
|
||||
nim PackedType ic/packed_ast.html#PackedType object PackedType 74
|
||||
nim PackedNode ic/packed_ast.html#PackedNode object PackedNode 91
|
||||
nim PackedTree ic/packed_ast.html#PackedTree object PackedTree 101
|
||||
nim PackedInstantiation ic/packed_ast.html#PackedInstantiation object PackedInstantiation 104
|
||||
nim `==` ic/packed_ast.html#==,SymId,SymId proc `==`(a, b: SymId): bool 108
|
||||
nim hash ic/packed_ast.html#hash,SymId proc hash(a: SymId): Hash 109
|
||||
nim `==` ic/packed_ast.html#==,NodePos,NodePos proc `==`(a, b: NodePos): bool 111
|
||||
nim `==` ic/packed_ast.html#==,NodeId,NodeId proc `==`(a, b: NodeId): bool 113
|
||||
nim newTreeFrom ic/packed_ast.html#newTreeFrom,PackedTree proc newTreeFrom(old: PackedTree): PackedTree 115
|
||||
nim throwAwayLastNode ic/packed_ast.html#throwAwayLastNode,PackedTree proc throwAwayLastNode(tree: var PackedTree) 135
|
||||
nim addIdent ic/packed_ast.html#addIdent,PackedTree,LitId,PackedLineInfo proc addIdent(tree: var PackedTree; s: LitId; info: PackedLineInfo) 138
|
||||
nim addSym ic/packed_ast.html#addSym,PackedTree,int32,PackedLineInfo proc addSym(tree: var PackedTree; s: int32; info: PackedLineInfo) 141
|
||||
nim addModuleId ic/packed_ast.html#addModuleId,PackedTree,ModuleId,PackedLineInfo proc addModuleId(tree: var PackedTree; s: ModuleId; info: PackedLineInfo) 144
|
||||
nim addSymDef ic/packed_ast.html#addSymDef,PackedTree,SymId,PackedLineInfo proc addSymDef(tree: var PackedTree; s: SymId; info: PackedLineInfo) 147
|
||||
nim isAtom ic/packed_ast.html#isAtom,PackedTree,int proc isAtom(tree: PackedTree; pos: int): bool 150
|
||||
nim copyTree ic/packed_ast.html#copyTree,PackedTree,PackedTree,NodePos proc copyTree(dest: var PackedTree; tree: PackedTree; n: NodePos) 152
|
||||
nim prepare ic/packed_ast.html#prepare,PackedTree,TNodeKind,TNodeFlags,PackedItemId,PackedLineInfo proc prepare(tree: var PackedTree; kind: TNodeKind; flags: TNodeFlags;\n typeId: PackedItemId; info: PackedLineInfo): PatchPos 177
|
||||
nim prepare ic/packed_ast.html#prepare,PackedTree,PackedTree,NodePos proc prepare(dest: var PackedTree; source: PackedTree; sourcePos: NodePos): PatchPos 182
|
||||
nim patch ic/packed_ast.html#patch,PackedTree,PatchPos proc patch(tree: var PackedTree; pos: PatchPos) 186
|
||||
nim len ic/packed_ast.html#len,PackedTree proc len(tree: PackedTree): int 192
|
||||
nim `[]` ic/packed_ast.html#[],PackedTree,int proc `[]`(tree: PackedTree; i: int): lent PackedNode 194
|
||||
nim sonsReadonly ic/packed_ast.html#sonsReadonly.i,PackedTree,NodePos iterator sonsReadonly(tree: PackedTree; n: NodePos): NodePos 204
|
||||
nim sons ic/packed_ast.html#sons.i,PackedTree,PackedTree,NodePos iterator sons(dest: var PackedTree; tree: PackedTree; n: NodePos): NodePos 213
|
||||
nim isons ic/packed_ast.html#isons.i,PackedTree,PackedTree,NodePos iterator isons(dest: var PackedTree; tree: PackedTree; n: NodePos): (int, NodePos) 218
|
||||
nim sonsFrom1 ic/packed_ast.html#sonsFrom1.i,PackedTree,NodePos iterator sonsFrom1(tree: PackedTree; n: NodePos): NodePos 225
|
||||
nim sonsWithoutLast2 ic/packed_ast.html#sonsWithoutLast2.i,PackedTree,NodePos iterator sonsWithoutLast2(tree: PackedTree; n: NodePos): NodePos 236
|
||||
nim parent ic/packed_ast.html#parent.t,NodePos template parent(n: NodePos): NodePos 257
|
||||
nim hasXsons ic/packed_ast.html#hasXsons,PackedTree,NodePos,int proc hasXsons(tree: PackedTree; n: NodePos; x: int): bool 259
|
||||
nim hasAtLeastXsons ic/packed_ast.html#hasAtLeastXsons,PackedTree,NodePos,int proc hasAtLeastXsons(tree: PackedTree; n: NodePos; x: int): bool 265
|
||||
nim firstSon ic/packed_ast.html#firstSon,PackedTree,NodePos proc firstSon(tree: PackedTree; n: NodePos): NodePos 273
|
||||
nim kind ic/packed_ast.html#kind,PackedTree,NodePos proc kind(tree: PackedTree; n: NodePos): TNodeKind 275
|
||||
nim litId ic/packed_ast.html#litId,PackedTree,NodePos proc litId(tree: PackedTree; n: NodePos): LitId 277
|
||||
nim info ic/packed_ast.html#info,PackedTree,NodePos proc info(tree: PackedTree; n: NodePos): PackedLineInfo 279
|
||||
nim typ ic/packed_ast.html#typ.t,NodePos template typ(n: NodePos): PackedItemId 282
|
||||
nim flags ic/packed_ast.html#flags.t,NodePos template flags(n: NodePos): TNodeFlags 284
|
||||
nim operand ic/packed_ast.html#operand.t,NodePos template operand(n: NodePos): int32 287
|
||||
nim span ic/packed_ast.html#span,PackedTree,int proc span(tree: PackedTree; pos: int): int 290
|
||||
nim sons2 ic/packed_ast.html#sons2,PackedTree,NodePos proc sons2(tree: PackedTree; n: NodePos): (NodePos, NodePos) 293
|
||||
nim sons3 ic/packed_ast.html#sons3,PackedTree,NodePos proc sons3(tree: PackedTree; n: NodePos): (NodePos, NodePos, NodePos) 299
|
||||
nim ithSon ic/packed_ast.html#ithSon,PackedTree,NodePos,int proc ithSon(tree: PackedTree; n: NodePos; i: int): NodePos 306
|
||||
nim kind ic/packed_ast.html#kind.t,NodePos template kind(n: NodePos): TNodeKind 318
|
||||
nim info ic/packed_ast.html#info.t,NodePos template info(n: NodePos): PackedLineInfo 319
|
||||
nim litId ic/packed_ast.html#litId.t,NodePos template litId(n: NodePos): LitId 320
|
||||
nim symId ic/packed_ast.html#symId.t,NodePos template symId(n: NodePos): SymId 322
|
||||
nim firstSon ic/packed_ast.html#firstSon,NodePos proc firstSon(n: NodePos): NodePos 324
|
||||
nim externIntLit ic/packed_ast.html#externIntLit const externIntLit 353
|
||||
nim externSIntLit ic/packed_ast.html#externSIntLit const externSIntLit 364
|
||||
nim externUIntLit ic/packed_ast.html#externUIntLit const externUIntLit 365
|
||||
nim directIntLit ic/packed_ast.html#directIntLit const directIntLit 366
|
||||
nim copyInto ic/packed_ast.html#copyInto.t,,, template copyInto(dest, n, body) 379
|
||||
nim copyIntoKind ic/packed_ast.html#copyIntoKind.t,,,, template copyIntoKind(dest, kind, info, body) 384
|
||||
nim getNodeId ic/packed_ast.html#getNodeId,PackedTree proc getNodeId(tree: PackedTree): NodeId 402
|
||||
nim allNodes ic/packed_ast.html#allNodes.i,PackedTree iterator allNodes(tree: PackedTree): NodePos 411
|
||||
nim toPackedItemId ic/packed_ast.html#toPackedItemId,int32 proc toPackedItemId(item: int32): PackedItemId 418
|
||||
nimgrp prepare ic/packed_ast.html#prepare-procs-all proc 177
|
||||
nimgrp firstson ic/packed_ast.html#firstSon-procs-all proc 273
|
||||
nimgrp == ic/packed_ast.html#==-procs-all proc 108
|
||||
160
compiler/ic/replayer.html
Normal file
160
compiler/ic/replayer.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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/ic/replayer</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="../dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">replayBackendProcs
|
||||
<li><a class="reference" href="#replayBackendProcs%2CModuleGraph%2Cint" title="replayBackendProcs(g: ModuleGraph; module: int)">replayBackendProcs(g: ModuleGraph; module: int)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">replayGenericCacheInformation
|
||||
<li><a class="reference" href="#replayGenericCacheInformation%2CModuleGraph%2Cint" title="replayGenericCacheInformation(g: ModuleGraph; module: int)">replayGenericCacheInformation(g: ModuleGraph; module: int)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">replayStateChanges
|
||||
<li><a class="reference" href="#replayStateChanges%2CPSym%2CModuleGraph" title="replayStateChanges(module: PSym; g: ModuleGraph)">replayStateChanges(module: PSym; g: ModuleGraph)</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>, <a class="reference external" href="packed_ast.html">packed_ast</a>, <a class="reference external" href="ic.html">ic</a>, <a class="reference external" href="bitabs.html">bitabs</a>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" id="12">
|
||||
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
||||
<dl class="item">
|
||||
<div id="replayBackendProcs-procs-all">
|
||||
<div id="replayBackendProcs,ModuleGraph,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#replayBackendProcs%2CModuleGraph%2Cint"><span class="Identifier">replayBackendProcs</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> <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">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="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</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/replayer.nim#L92" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/replayer.nim#L92" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="replayGenericCacheInformation-procs-all">
|
||||
<div id="replayGenericCacheInformation,ModuleGraph,int">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#replayGenericCacheInformation%2CModuleGraph%2Cint"><span class="Identifier">replayGenericCacheInformation</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> <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">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">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>
|
||||
|
||||
We remember the generic instantiations a module performed in order to to avoid the code bloat that generic code tends to imply. This is cheaper than deduplication of identical generic instantiations. However, deduplication is more powerful and general and I hope to implement it soon too (famous last words).
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/replayer.nim#L106" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/replayer.nim#L106" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="replayStateChanges-procs-all">
|
||||
<div id="replayStateChanges,PSym,ModuleGraph">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#replayStateChanges%2CPSym%2CModuleGraph"><span class="Identifier">replayStateChanges</span></a><span class="Other">(</span><span class="Identifier">module</span><span class="Other">:</span> <a href="../ast.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><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">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">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>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/replayer.nim#L24" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/replayer.nim#L24" 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: 2023-03-13 00:20:18 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
4
compiler/ic/replayer.idx
Normal file
4
compiler/ic/replayer.idx
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
nimTitle replayer ic/replayer.html module compiler/ic/replayer 0
|
||||
nim replayStateChanges ic/replayer.html#replayStateChanges,PSym,ModuleGraph proc replayStateChanges(module: PSym; g: ModuleGraph) 24
|
||||
nim replayBackendProcs ic/replayer.html#replayBackendProcs,ModuleGraph,int proc replayBackendProcs(g: ModuleGraph; module: int) 92
|
||||
nim replayGenericCacheInformation ic/replayer.html#replayGenericCacheInformation,ModuleGraph,int proc replayGenericCacheInformation(g: ModuleGraph; module: int) 106
|
||||
412
compiler/ic/rodfiles.html
Normal file
412
compiler/ic/rodfiles.html
Normal file
|
|
@ -0,0 +1,412 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/ic/rodfiles</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="../dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/ic/rodfiles</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" onkeyup="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="overview_toc" href="#overview">Overview</a></li>
|
||||
<ul class="simple"><li><a class="reference" id="overview-a-basic-but-wrong-example-of-the-lifecyclecolon_toc" href="#overview-a-basic-but-wrong-example-of-the-lifecyclecolon">A basic but "wrong" example of the lifecycle:</a></li>
|
||||
<ul class="simple"><li><a class="reference" id="a-basic-but-wrong-example-of-the-lifecyclecolon-issues-with-the-example_toc" href="#a-basic-but-wrong-example-of-the-lifecyclecolon-issues-with-the-example">Issues with the Example</a></li>
|
||||
</ul></ul><li><a class="reference" id="api-notes_toc" href="#api-notes">API Notes</a></li>
|
||||
<ul class="simple"><li><a class="reference" id="api-notes-valid-inputs-for-rod-files_toc" href="#api-notes-valid-inputs-for-rod-files">Valid inputs for Rod files</a></li>
|
||||
<li><a class="reference" id="api-notes-note-on-error-handling-style_toc" href="#api-notes-note-on-error-handling-style">Note on error handling style</a></li>
|
||||
<li><a class="reference" id="api-notes-misc_toc" href="#api-notes-misc">Misc</a></li>
|
||||
</ul><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="#RodFile" title="RodFile = object
|
||||
f*: File
|
||||
currentSection*: RodSection
|
||||
err*: RodFileError">RodFile</a></li>
|
||||
<li><a class="reference" href="#RodFileError" title="RodFileError = enum
|
||||
ok, tooBig, cannotOpen, ioFailure, wrongHeader, wrongSection, configMismatch,
|
||||
includeFileChanged">RodFileError</a></li>
|
||||
<li><a class="reference" href="#RodSection" title="RodSection = enum
|
||||
versionSection, configSection, stringsSection, checkSumsSection, depsSection,
|
||||
numbersSection, exportsSection, hiddenSection, reexportsSection,
|
||||
compilerProcsSection, trmacrosSection, convertersSection, methodsSection,
|
||||
pureEnumsSection, toReplaySection, topLevelSection, bodiesSection,
|
||||
symsSection, typesSection, typeInstCacheSection, procInstCacheSection,
|
||||
attachedOpsSection, methodsPerTypeSection, enumToStringProcsSection,
|
||||
typeInfoSection, backendFlagsSection, aliveSymsSection">RodSection</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">close
|
||||
<li><a class="reference" href="#close%2CRodFile" title="close(f: var RodFile)">close(f: var RodFile)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">create
|
||||
<li><a class="reference" href="#create%2Cstring" title="create(filename: string): RodFile">create(filename: string): RodFile</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadHeader
|
||||
<li><a class="reference" href="#loadHeader%2CRodFile" title="loadHeader(f: var RodFile)">loadHeader(f: var RodFile)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadPrim
|
||||
<li><a class="reference" href="#loadPrim%2CRodFile%2Cstring" title="loadPrim(f: var RodFile; s: var string)">loadPrim(f: var RodFile; s: var string)</a></li>
|
||||
<li><a class="reference" href="#loadPrim%2CRodFile%2CT" title="loadPrim[T](f: var RodFile; x: var T)">loadPrim[T](f: var RodFile; x: var T)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadSection
|
||||
<li><a class="reference" href="#loadSection%2CRodFile%2CRodSection" title="loadSection(f: var RodFile; expected: RodSection)">loadSection(f: var RodFile; expected: RodSection)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">loadSeq
|
||||
<li><a class="reference" href="#loadSeq%2CRodFile%2Cseq%5BT%5D" title="loadSeq[T](f: var RodFile; s: var seq[T])">loadSeq[T](f: var RodFile; s: var seq[T])</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">open
|
||||
<li><a class="reference" href="#open%2Cstring" title="open(filename: string): RodFile">open(filename: string): RodFile</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">storeHeader
|
||||
<li><a class="reference" href="#storeHeader%2CRodFile" title="storeHeader(f: var RodFile)">storeHeader(f: var RodFile)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">storePrim
|
||||
<li><a class="reference" href="#storePrim%2CRodFile%2Cstring" title="storePrim(f: var RodFile; s: string)">storePrim(f: var RodFile; s: string)</a></li>
|
||||
<li><a class="reference" href="#storePrim%2CRodFile%2CT" title="storePrim[T](f: var RodFile; x: T)">storePrim[T](f: var RodFile; x: T)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">storeSection
|
||||
<li><a class="reference" href="#storeSection%2CRodFile%2CRodSection" title="storeSection(f: var RodFile; s: RodSection)">storeSection(f: var RodFile; s: RodSection)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">storeSeq
|
||||
<li><a class="reference" href="#storeSeq%2CRodFile%2Cseq%5BT%5D" title="storeSeq[T](f: var RodFile; s: seq[T])">storeSeq[T](f: var RodFile; s: seq[T])</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/rodfiles.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"><p>Low level binary format used by the compiler to store and load various AST and related data.</p>
|
||||
<p>NB: this is incredibly low level and if you're interested in how the compiler works and less a storage format, you're probably looking for the <tt class="docutils literal"><span class="pre"><span class="Identifier">ic</span></span></tt> or <tt class="docutils literal"><span class="pre"><span class="Identifier">packed_ast</span></span></tt> modules to understand the logical format.</p>
|
||||
|
||||
<h1><a class="toc-backref" id="overview" href="#overview">Overview</a></h1><p><tt class="docutils literal"><span class="pre"><span class="Identifier">RodFile</span></span></tt> represents a Rod File (versioned binary format), and the associated data for common interactions such as IO and error tracking (<tt class="docutils literal"><span class="pre"><span class="Identifier">RodFileError</span></span></tt>). The file format broken up into sections (<tt class="docutils literal"><span class="pre"><span class="Identifier">RodSection</span></span></tt>) and preceded by a header (see: <tt class="docutils literal"><span class="pre"><span class="Identifier">cookie</span></span></tt>). The precise layout, section ordering and data following the section are determined by the user. See <tt class="docutils literal"><span class="pre"><span class="Identifier">ic</span><span class="Operator">.</span><span class="Identifier">loadRodFile</span></span></tt>.</p>
|
||||
|
||||
<h2><a class="toc-backref" id="overview-a-basic-but-wrong-example-of-the-lifecyclecolon" href="#overview-a-basic-but-wrong-example-of-the-lifecyclecolon">A basic but "wrong" example of the lifecycle:</a></h2><ol class="simple"><li><tt class="docutils literal"><span class="pre"><span class="Identifier">create</span></span></tt> or <tt class="docutils literal"><span class="pre"><span class="Identifier">open</span></span></tt> - create a new one or open an existing</li>
|
||||
<li><tt class="docutils literal"><span class="pre"><span class="Identifier">storeHeader</span></span></tt> - header info</li>
|
||||
<li><tt class="docutils literal"><span class="pre"><span class="Identifier">storePrim</span></span></tt> or <tt class="docutils literal"><span class="pre"><span class="Identifier">storeSeq</span></span></tt> - save your stuff</li>
|
||||
<li><tt class="docutils literal"><span class="pre"><span class="Identifier">close</span></span></tt> - and we're done</li>
|
||||
</ol>
|
||||
<p>Now read the bits below to understand what's missing.</p>
|
||||
|
||||
<h3><a class="toc-backref" id="a-basic-but-wrong-example-of-the-lifecyclecolon-issues-with-the-example" href="#a-basic-but-wrong-example-of-the-lifecyclecolon-issues-with-the-example">Issues with the Example</a></h3><p>Missing Sections: This is a low level API, so headers and sections need to be stored and loaded by the user, see <tt class="docutils literal"><span class="pre"><span class="Identifier">storeHeader</span></span></tt> & <tt class="docutils literal"><span class="pre"><span class="Identifier">loadHeader</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">storeSection</span></span></tt> & <tt class="docutils literal"><span class="pre"><span class="Identifier">loadSection</span></span></tt>, respectively.</p>
|
||||
<p>No Error Handling: The API is centered around IO and prone to error, each operation checks or sets the <tt class="docutils literal"><span class="pre"><span class="Identifier">RodFile</span><span class="Operator">.</span><span class="Identifier">err</span></span></tt> field. A user of this API needs to handle these appropriately.</p>
|
||||
|
||||
<h1><a class="toc-backref" id="api-notes" href="#api-notes">API Notes</a></h1>
|
||||
<h2><a class="toc-backref" id="api-notes-valid-inputs-for-rod-files" href="#api-notes-valid-inputs-for-rod-files">Valid inputs for Rod files</a></h2><p>ASTs, hopes, dreams, and anything as long as it and any children it may have support <tt class="docutils literal"><span class="pre"><span class="Identifier">copyMem</span></span></tt>. This means anything that is not a pointer and that does not contain a pointer. At a glance these are:</p>
|
||||
<ul class="simple"><li>string</li>
|
||||
<li>objects & tuples (fields are recursed)</li>
|
||||
<li>sequences AKA <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></li>
|
||||
</ul>
|
||||
|
||||
<h2><a class="toc-backref" id="api-notes-note-on-error-handling-style" href="#api-notes-note-on-error-handling-style">Note on error handling style</a></h2><p>A flag based approach is used where operations no-op in case of a preexisting error and set the flag if they encounter one.</p>
|
||||
|
||||
<h2><a class="toc-backref" id="api-notes-misc" href="#api-notes-misc">Misc</a></h2><ul class="simple"><li>'Prim' is short for 'primitive', as in a non-sequence type</li>
|
||||
</ul>
|
||||
</p>
|
||||
<div class="section" id="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="RodFile">
|
||||
<dt><pre><a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">f</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">File</span>
|
||||
<span class="Identifier">currentSection</span><span class="Operator">*</span><span class="Other">:</span> <a href="rodfiles.html#RodSection"><span class="Identifier">RodSection</span></a>
|
||||
<span class="Identifier">err</span><span class="Operator">*</span><span class="Other">:</span> <a href="rodfiles.html#RodFileError"><span class="Identifier">RodFileError</span></a>
|
||||
</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L105" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L105" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="RodFileError">
|
||||
<dt><pre><a href="rodfiles.html#RodFileError"><span class="Identifier">RodFileError</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">ok</span><span class="Other">,</span> <span class="Identifier">tooBig</span><span class="Other">,</span> <span class="Identifier">cannotOpen</span><span class="Other">,</span> <span class="Identifier">ioFailure</span><span class="Other">,</span> <span class="Identifier">wrongHeader</span><span class="Other">,</span> <span class="Identifier">wrongSection</span><span class="Other">,</span> <span class="Identifier">configMismatch</span><span class="Other">,</span>
|
||||
<span class="Identifier">includeFileChanged</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L101" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L101" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="RodSection">
|
||||
<dt><pre><a href="rodfiles.html#RodSection"><span class="Identifier">RodSection</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">versionSection</span><span class="Other">,</span> <span class="Identifier">configSection</span><span class="Other">,</span> <span class="Identifier">stringsSection</span><span class="Other">,</span> <span class="Identifier">checkSumsSection</span><span class="Other">,</span> <span class="Identifier">depsSection</span><span class="Other">,</span>
|
||||
<span class="Identifier">numbersSection</span><span class="Other">,</span> <span class="Identifier">exportsSection</span><span class="Other">,</span> <span class="Identifier">hiddenSection</span><span class="Other">,</span> <span class="Identifier">reexportsSection</span><span class="Other">,</span>
|
||||
<span class="Identifier">compilerProcsSection</span><span class="Other">,</span> <span class="Identifier">trmacrosSection</span><span class="Other">,</span> <span class="Identifier">convertersSection</span><span class="Other">,</span> <span class="Identifier">methodsSection</span><span class="Other">,</span>
|
||||
<span class="Identifier">pureEnumsSection</span><span class="Other">,</span> <span class="Identifier">toReplaySection</span><span class="Other">,</span> <span class="Identifier">topLevelSection</span><span class="Other">,</span> <span class="Identifier">bodiesSection</span><span class="Other">,</span>
|
||||
<span class="Identifier">symsSection</span><span class="Other">,</span> <span class="Identifier">typesSection</span><span class="Other">,</span> <span class="Identifier">typeInstCacheSection</span><span class="Other">,</span> <span class="Identifier">procInstCacheSection</span><span class="Other">,</span>
|
||||
<span class="Identifier">attachedOpsSection</span><span class="Other">,</span> <span class="Identifier">methodsPerTypeSection</span><span class="Other">,</span> <span class="Identifier">enumToStringProcsSection</span><span class="Other">,</span>
|
||||
<span class="Identifier">typeInfoSection</span><span class="Other">,</span> <span class="Identifier">backendFlagsSection</span><span class="Other">,</span> <span class="Identifier">aliveSymsSection</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L72" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L72" 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="close-procs-all">
|
||||
<div id="close,RodFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#close%2CRodFile"><span class="Identifier">close</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</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/ic/rodfiles.nim#L244" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L244" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="create-procs-all">
|
||||
<div id="create,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#create%2Cstring"><span class="Identifier">create</span></a><span class="Other">(</span><span class="Identifier">filename</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</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>
|
||||
|
||||
create the file and open it for writing
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L239" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L239" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadHeader-procs-all">
|
||||
<div id="loadHeader,RodFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadHeader%2CRodFile"><span class="Identifier">loadHeader</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</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">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>
|
||||
|
||||
Loads the header which is described by <tt class="docutils literal"><span class="pre"><span class="Identifier">cookie</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L215" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L215" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadPrim-procs-all">
|
||||
<div id="loadPrim,RodFile,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadPrim%2CRodFile%2Cstring"><span class="Identifier">loadPrim</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</span></a><span class="Other">;</span> <span class="Identifier">s</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">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>
|
||||
|
||||
Read a string, the length was stored as a prefix
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L168" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L168" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="loadPrim,RodFile,T">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadPrim%2CRodFile%2CT"><span class="Identifier">loadPrim</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">T</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
Load a non-sequence/string <tt class="docutils literal"><span class="pre"><span class="Identifier">T</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L180" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L180" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadSection-procs-all">
|
||||
<div id="loadSection,RodFile,RodSection">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadSection%2CRodFile%2CRodSection"><span class="Identifier">loadSection</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</span></a><span class="Other">;</span> <span class="Identifier">expected</span><span class="Other">:</span> <a href="rodfiles.html#RodSection"><span class="Identifier">RodSection</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">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>
|
||||
|
||||
read the bytes value of s, sets and error if the section is incorrect.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L231" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L231" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="loadSeq-procs-all">
|
||||
<div id="loadSeq,RodFile,seq[T]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#loadSeq%2CRodFile%2Cseq%5BT%5D"><span class="Identifier">loadSeq</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</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><span class="Identifier">T</span><span class="Other">]</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
<tt class="docutils literal"><span class="pre"><span class="Identifier">T</span></span></tt> must be compatible with <tt class="docutils literal"><span class="pre"><span class="Identifier">copyMem</span></span></tt>, see <tt class="docutils literal"><span class="pre"><span class="Identifier">loadPrim</span></span></tt>
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L198" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L198" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="open-procs-all">
|
||||
<div id="open,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#open%2Cstring"><span class="Identifier">open</span></a><span class="Other">(</span><span class="Identifier">filename</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</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>
|
||||
|
||||
open the file for reading
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L246" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L246" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="storeHeader-procs-all">
|
||||
<div id="storeHeader,RodFile">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#storeHeader%2CRodFile"><span class="Identifier">storeHeader</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</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>
|
||||
|
||||
stores the header which is described by <tt class="docutils literal"><span class="pre"><span class="Identifier">cookie</span></span></tt>.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L209" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L209" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="storePrim-procs-all">
|
||||
<div id="storePrim,RodFile,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#storePrim%2CRodFile%2Cstring"><span class="Identifier">storePrim</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</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><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>
|
||||
|
||||
Stores a string. The len is prefixed to allow for later retreival.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L120" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L120" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="storePrim,RodFile,T">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#storePrim%2CRodFile%2CT"><span class="Identifier">storePrim</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">T</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
Stores a non-sequence/string <tt class="docutils literal"><span class="pre"><span class="Identifier">T</span></span></tt>. If <tt class="docutils literal"><span class="pre"><span class="Identifier">T</span></span></tt> doesn't support <tt class="docutils literal"><span class="pre"><span class="Identifier">copyMem</span></span></tt> and is an object or tuple then the fields are written -- the user from context will need to know which <tt class="docutils literal"><span class="pre"><span class="Identifier">T</span></span></tt> to load.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L135" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L135" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="storeSection-procs-all">
|
||||
<div id="storeSection,RodFile,RodSection">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#storeSection%2CRodFile%2CRodSection"><span class="Identifier">storeSection</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <a href="rodfiles.html#RodSection"><span class="Identifier">RodSection</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>
|
||||
|
||||
update <tt class="docutils literal"><span class="pre"><span class="Identifier">currentSection</span></span></tt> and writes the bytes value of s.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L224" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L224" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="storeSeq-procs-all">
|
||||
<div id="storeSeq,RodFile,seq[T]">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#storeSeq%2CRodFile%2Cseq%5BT%5D"><span class="Identifier">storeSeq</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="rodfiles.html#RodFile"><span class="Identifier">RodFile</span></a><span class="Other">;</span> <span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
Stores a sequence of <tt class="docutils literal"><span class="pre"><span class="Identifier">T</span></span></tt>s, with the len as a prefix for later retrieval.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ic/rodfiles.nim#L155" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ic/rodfiles.nim#L155" 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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
61
compiler/ic/rodfiles.idx
Normal file
61
compiler/ic/rodfiles.idx
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
nimTitle rodfiles ic/rodfiles.html module compiler/ic/rodfiles 0
|
||||
nim versionSection ic/rodfiles.html#versionSection RodSection.versionSection 72
|
||||
nim configSection ic/rodfiles.html#configSection RodSection.configSection 72
|
||||
nim stringsSection ic/rodfiles.html#stringsSection RodSection.stringsSection 72
|
||||
nim checkSumsSection ic/rodfiles.html#checkSumsSection RodSection.checkSumsSection 72
|
||||
nim depsSection ic/rodfiles.html#depsSection RodSection.depsSection 72
|
||||
nim numbersSection ic/rodfiles.html#numbersSection RodSection.numbersSection 72
|
||||
nim exportsSection ic/rodfiles.html#exportsSection RodSection.exportsSection 72
|
||||
nim hiddenSection ic/rodfiles.html#hiddenSection RodSection.hiddenSection 72
|
||||
nim reexportsSection ic/rodfiles.html#reexportsSection RodSection.reexportsSection 72
|
||||
nim compilerProcsSection ic/rodfiles.html#compilerProcsSection RodSection.compilerProcsSection 72
|
||||
nim trmacrosSection ic/rodfiles.html#trmacrosSection RodSection.trmacrosSection 72
|
||||
nim convertersSection ic/rodfiles.html#convertersSection RodSection.convertersSection 72
|
||||
nim methodsSection ic/rodfiles.html#methodsSection RodSection.methodsSection 72
|
||||
nim pureEnumsSection ic/rodfiles.html#pureEnumsSection RodSection.pureEnumsSection 72
|
||||
nim toReplaySection ic/rodfiles.html#toReplaySection RodSection.toReplaySection 72
|
||||
nim topLevelSection ic/rodfiles.html#topLevelSection RodSection.topLevelSection 72
|
||||
nim bodiesSection ic/rodfiles.html#bodiesSection RodSection.bodiesSection 72
|
||||
nim symsSection ic/rodfiles.html#symsSection RodSection.symsSection 72
|
||||
nim typesSection ic/rodfiles.html#typesSection RodSection.typesSection 72
|
||||
nim typeInstCacheSection ic/rodfiles.html#typeInstCacheSection RodSection.typeInstCacheSection 72
|
||||
nim procInstCacheSection ic/rodfiles.html#procInstCacheSection RodSection.procInstCacheSection 72
|
||||
nim attachedOpsSection ic/rodfiles.html#attachedOpsSection RodSection.attachedOpsSection 72
|
||||
nim methodsPerTypeSection ic/rodfiles.html#methodsPerTypeSection RodSection.methodsPerTypeSection 72
|
||||
nim enumToStringProcsSection ic/rodfiles.html#enumToStringProcsSection RodSection.enumToStringProcsSection 72
|
||||
nim typeInfoSection ic/rodfiles.html#typeInfoSection RodSection.typeInfoSection 72
|
||||
nim backendFlagsSection ic/rodfiles.html#backendFlagsSection RodSection.backendFlagsSection 72
|
||||
nim aliveSymsSection ic/rodfiles.html#aliveSymsSection RodSection.aliveSymsSection 72
|
||||
nim RodSection ic/rodfiles.html#RodSection enum RodSection 72
|
||||
nim ok ic/rodfiles.html#ok RodFileError.ok 101
|
||||
nim tooBig ic/rodfiles.html#tooBig RodFileError.tooBig 101
|
||||
nim cannotOpen ic/rodfiles.html#cannotOpen RodFileError.cannotOpen 101
|
||||
nim ioFailure ic/rodfiles.html#ioFailure RodFileError.ioFailure 101
|
||||
nim wrongHeader ic/rodfiles.html#wrongHeader RodFileError.wrongHeader 101
|
||||
nim wrongSection ic/rodfiles.html#wrongSection RodFileError.wrongSection 101
|
||||
nim configMismatch ic/rodfiles.html#configMismatch RodFileError.configMismatch 101
|
||||
nim includeFileChanged ic/rodfiles.html#includeFileChanged RodFileError.includeFileChanged 101
|
||||
nim RodFileError ic/rodfiles.html#RodFileError enum RodFileError 101
|
||||
nim RodFile ic/rodfiles.html#RodFile object RodFile 105
|
||||
nim storePrim ic/rodfiles.html#storePrim,RodFile,string proc storePrim(f: var RodFile; s: string) 120
|
||||
nim storePrim ic/rodfiles.html#storePrim,RodFile,T proc storePrim[T](f: var RodFile; x: T) 135
|
||||
nim storeSeq ic/rodfiles.html#storeSeq,RodFile,seq[T] proc storeSeq[T](f: var RodFile; s: seq[T]) 155
|
||||
nim loadPrim ic/rodfiles.html#loadPrim,RodFile,string proc loadPrim(f: var RodFile; s: var string) 168
|
||||
nim loadPrim ic/rodfiles.html#loadPrim,RodFile,T proc loadPrim[T](f: var RodFile; x: var T) 180
|
||||
nim loadSeq ic/rodfiles.html#loadSeq,RodFile,seq[T] proc loadSeq[T](f: var RodFile; s: var seq[T]) 198
|
||||
nim storeHeader ic/rodfiles.html#storeHeader,RodFile proc storeHeader(f: var RodFile) 209
|
||||
nim loadHeader ic/rodfiles.html#loadHeader,RodFile proc loadHeader(f: var RodFile) 215
|
||||
nim storeSection ic/rodfiles.html#storeSection,RodFile,RodSection proc storeSection(f: var RodFile; s: RodSection) 224
|
||||
nim loadSection ic/rodfiles.html#loadSection,RodFile,RodSection proc loadSection(f: var RodFile; expected: RodSection) 231
|
||||
nim create ic/rodfiles.html#create,string proc create(filename: string): RodFile 239
|
||||
nim close ic/rodfiles.html#close,RodFile proc close(f: var RodFile) 244
|
||||
nim open ic/rodfiles.html#open,string proc open(filename: string): RodFile 246
|
||||
nimgrp storeprim ic/rodfiles.html#storePrim-procs-all proc 120
|
||||
nimgrp loadprim ic/rodfiles.html#loadPrim-procs-all proc 168
|
||||
heading Overview ic/rodfiles.html#overview Overview 0
|
||||
heading A basic but "wrong" example of the lifecycle: ic/rodfiles.html#overview-a-basic-but-wrong-example-of-the-lifecyclecolon A basic but "wrong" example of the lifecycle: 0
|
||||
heading Issues with the Example ic/rodfiles.html#a-basic-but-wrong-example-of-the-lifecyclecolon-issues-with-the-example Issues with the Example 0
|
||||
heading API Notes ic/rodfiles.html#api-notes API Notes 0
|
||||
heading Valid inputs for Rod files ic/rodfiles.html#api-notes-valid-inputs-for-rod-files Valid inputs for Rod files 0
|
||||
heading Note on error handling style ic/rodfiles.html#api-notes-note-on-error-handling-style Note on error handling style 0
|
||||
heading Misc ic/rodfiles.html#api-notes-misc Misc 0
|
||||
305
compiler/idents.html
Normal file
305
compiler/idents.html
Normal file
|
|
@ -0,0 +1,305 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/idents</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="idents.html#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="idents.html#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="idents.html#PIdent"><span class="Identifier">PIdent</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="idents.html#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="idents.html#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="idents.html#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="idents.html#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="idents.html#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="idents.html#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="idents.html#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="idents.html#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="idents.html#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="idents.html#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="idents.html#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="idents.html#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="idents.html#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: 2023-03-13 00:20:12 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
14
compiler/idents.idx
Normal file
14
compiler/idents.idx
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
nimTitle idents idents.html module compiler/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
|
||||
217
compiler/importer.html
Normal file
217
compiler/importer.html
Normal file
|
|
@ -0,0 +1,217 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/importer</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="astalgo.html">astalgo</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="ast.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">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="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</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#L28" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L28" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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#L346" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L346" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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="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#L322" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L322" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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#L361" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L361" 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="ast.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">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">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/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="ast.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">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="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#L21" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/importer.nim#L21" 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: 2023-03-13 00:20:16 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
7
compiler/importer.idx
Normal file
7
compiler/importer.idx
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
nimTitle importer importer.html module compiler/importer 0
|
||||
nim readExceptSet importer.html#readExceptSet,PContext,PNode proc readExceptSet(c: PContext; n: PNode): IntSet 21
|
||||
nim declarePureEnumField importer.html#declarePureEnumField,PContext,PSym proc declarePureEnumField(c: PContext; s: PSym) 28
|
||||
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 322
|
||||
nim evalFrom importer.html#evalFrom,PContext,PNode proc evalFrom(c: PContext; n: PNode): PNode 346
|
||||
nim evalImportExcept importer.html#evalImportExcept,PContext,PNode proc evalImportExcept(c: PContext; n: PNode): PNode 361
|
||||
93
compiler/index.html
Normal file
93
compiler/index.html
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/index</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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: 2023-03-13 00:20:18 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/index.idx
Normal file
2
compiler/index.idx
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
nimTitle index index.html module compiler/index 0
|
||||
heading links index.html#links links 0
|
||||
138
compiler/injectdestructors.html
Normal file
138
compiler/injectdestructors.html
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/injectdestructors</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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/injectdestructors.nim#L1110" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/injectdestructors.nim#L1110" 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="ast.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#L960" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/injectdestructors.nim#L960" 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: 2023-03-13 00:20:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
3
compiler/injectdestructors.idx
Normal file
3
compiler/injectdestructors.idx
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
nimTitle injectdestructors injectdestructors.html module compiler/injectdestructors 0
|
||||
nim sameLocation injectdestructors.html#sameLocation,PNode,PNode proc sameLocation(a, b: PNode): bool 960
|
||||
nim injectDestructorCalls injectdestructors.html#injectDestructorCalls,ModuleGraph,IdGenerator,PSym,PNode proc injectDestructorCalls(g: ModuleGraph; idgen: IdGenerator; owner: PSym; n: PNode): PNode 1110
|
||||
1187
compiler/int128.html
Normal file
1187
compiler/int128.html
Normal file
File diff suppressed because it is too large
Load diff
77
compiler/int128.idx
Normal file
77
compiler/int128.idx
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
nimTitle int128 int128.html module compiler/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 64
|
||||
nim toInt64Checked int128.html#toInt64Checked,Int128,int64 proc toInt64Checked(arg: Int128; onError: int64): int64 74
|
||||
nim toInt32 int128.html#toInt32,Int128 proc toInt32(arg: Int128): int32 83
|
||||
nim toInt16 int128.html#toInt16,Int128 proc toInt16(arg: Int128): int16 95
|
||||
nim toInt8 int128.html#toInt8,Int128 proc toInt8(arg: Int128): int8 107
|
||||
nim toInt int128.html#toInt,Int128 proc toInt(arg: Int128): int 119
|
||||
nim toUInt64 int128.html#toUInt64,Int128 proc toUInt64(arg: Int128): uint64 125
|
||||
nim toUInt32 int128.html#toUInt32,Int128 proc toUInt32(arg: Int128): uint32 130
|
||||
nim toUInt16 int128.html#toUInt16,Int128 proc toUInt16(arg: Int128): uint16 136
|
||||
nim toUInt8 int128.html#toUInt8,Int128 proc toUInt8(arg: Int128): uint8 142
|
||||
nim toUInt int128.html#toUInt,Int128 proc toUInt(arg: Int128): uint 148
|
||||
nim castToInt64 int128.html#castToInt64,Int128 proc castToInt64(arg: Int128): int64 154
|
||||
nim castToUInt64 int128.html#castToUInt64,Int128 proc castToUInt64(arg: Int128): uint64 158
|
||||
nim addToHex int128.html#addToHex,string,Int128 proc addToHex(result: var string; arg: Int128) 167
|
||||
nim toHex int128.html#toHex,Int128 proc toHex(arg: Int128): string 173
|
||||
nim inc int128.html#inc,Int128,uint32 proc inc(a: var Int128; y: uint32 = 1) 176
|
||||
nim cmp int128.html#cmp,Int128,Int128 proc cmp(a, b: Int128): int 186
|
||||
nim `<` int128.html#<,Int128,Int128 proc `<`(a, b: Int128): bool 196
|
||||
nim `<=` int128.html#<=,Int128,Int128 proc `<=`(a, b: Int128): bool 199
|
||||
nim `==` int128.html#==,Int128,Int128 proc `==`(a, b: Int128): bool 202
|
||||
nim bitnot int128.html#bitnot,Int128 proc bitnot(a: Int128): Int128 209
|
||||
nim bitand int128.html#bitand,Int128,Int128 proc bitand(a, b: Int128): Int128 215
|
||||
nim bitor int128.html#bitor,Int128,Int128 proc bitor(a, b: Int128): Int128 221
|
||||
nim bitxor int128.html#bitxor,Int128,Int128 proc bitxor(a, b: Int128): Int128 227
|
||||
nim `shr` int128.html#shr,Int128,int proc `shr`(a: Int128; b: int): Int128 233
|
||||
nim `shl` int128.html#shl,Int128,int proc `shl`(a: Int128; b: int): Int128 259
|
||||
nim `+` int128.html#+,Int128,Int128 proc `+`(a, b: Int128): Int128 282
|
||||
nim `+=` int128.html#+=,Int128,Int128 proc `+=`(a: var Int128; b: Int128) 292
|
||||
nim `-` int128.html#-,Int128 proc `-`(a: Int128): Int128 295
|
||||
nim `-` int128.html#-,Int128,Int128 proc `-`(a, b: Int128): Int128 299
|
||||
nim `-=` int128.html#-=,Int128,Int128 proc `-=`(a: var Int128; b: Int128) 302
|
||||
nim abs int128.html#abs,Int128 proc abs(a: Int128): Int128 305
|
||||
nim `*` int128.html#*,Int128,int32 proc `*`(a: Int128; b: int32): Int128 328
|
||||
nim `*=` int128.html#*=,Int128,int32 proc `*=`(a: var Int128; b: int32): Int128 333
|
||||
nim `*` int128.html#*,Int128,Int128 proc `*`(lhs, rhs: Int128): Int128 348
|
||||
nim `*=` int128.html#*=,Int128,Int128 proc `*=`(a: var Int128; b: Int128) 357
|
||||
nim fastLog2 int128.html#fastLog2,Int128 proc fastLog2(a: Int128): int 362
|
||||
nim divMod int128.html#divMod,Int128,Int128 proc divMod(dividend, divisor: Int128): tuple[quotient, remainder: Int128] 372
|
||||
nim `div` int128.html#div,Int128,Int128 proc `div`(a, b: Int128): Int128 422
|
||||
nim `mod` int128.html#mod,Int128,Int128 proc `mod`(a, b: Int128): Int128 426
|
||||
nim addInt128 int128.html#addInt128,string,Int128 proc addInt128(result: var string; value: Int128) 430
|
||||
nim parseDecimalInt128 int128.html#parseDecimalInt128,string,int proc parseDecimalInt128(arg: string; pos: int = 0): Int128 458
|
||||
nim `<` int128.html#<,Int128,BiggestInt proc `<`(a: Int128; b: BiggestInt): bool 479
|
||||
nim `<` int128.html#<,BiggestInt,Int128 proc `<`(a: BiggestInt; b: Int128): bool 482
|
||||
nim `<=` int128.html#<=,Int128,BiggestInt proc `<=`(a: Int128; b: BiggestInt): bool 485
|
||||
nim `<=` int128.html#<=,BiggestInt,Int128 proc `<=`(a: BiggestInt; b: Int128): bool 488
|
||||
nim `==` int128.html#==,Int128,BiggestInt proc `==`(a: Int128; b: BiggestInt): bool 491
|
||||
nim `==` int128.html#==,BiggestInt,Int128 proc `==`(a: BiggestInt; b: Int128): bool 494
|
||||
nim `-` int128.html#-,BiggestInt,Int128 proc `-`(a: BiggestInt; b: Int128): Int128 497
|
||||
nim `-` int128.html#-,Int128,BiggestInt proc `-`(a: Int128; b: BiggestInt): Int128 500
|
||||
nim `+` int128.html#+,BiggestInt,Int128 proc `+`(a: BiggestInt; b: Int128): Int128 503
|
||||
nim `+` int128.html#+,Int128,BiggestInt proc `+`(a: Int128; b: BiggestInt): Int128 506
|
||||
nim toFloat64 int128.html#toFloat64,Int128 proc toFloat64(arg: Int128): float64 509
|
||||
nim toInt128 int128.html#toInt128,float64 proc toInt128(arg: float64): Int128 524
|
||||
nim maskUInt64 int128.html#maskUInt64,Int128 proc maskUInt64(arg: Int128): Int128 539
|
||||
nim maskUInt32 int128.html#maskUInt32,Int128 proc maskUInt32(arg: Int128): Int128 545
|
||||
nim maskUInt16 int128.html#maskUInt16,Int128 proc maskUInt16(arg: Int128): Int128 551
|
||||
nim maskUInt8 int128.html#maskUInt8,Int128 proc maskUInt8(arg: Int128): Int128 557
|
||||
nim maskBytes int128.html#maskBytes,Int128,int proc maskBytes(arg: Int128; numbytes: int): Int128 563
|
||||
nimgrp < int128.html#<-procs-all proc 196
|
||||
nimgrp * int128.html#*-procs-all proc 328
|
||||
nimgrp - int128.html#--procs-all proc 295
|
||||
nimgrp *= int128.html#*=-procs-all proc 333
|
||||
nimgrp + int128.html#+-procs-all proc 282
|
||||
nimgrp toint128 int128.html#toInt128-procs-all proc 35
|
||||
nimgrp <= int128.html#<=-procs-all proc 199
|
||||
nimgrp == int128.html#==-procs-all proc 202
|
||||
137
compiler/isolation_check.html
Normal file
137
compiler/isolation_check.html
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/isolation_check</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="ast.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">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="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</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#L75" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/isolation_check.nim#L75" 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="ast.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">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="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</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#L94" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/isolation_check.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: 2023-03-13 00:20:13 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</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 compiler/isolation_check 0
|
||||
nim canAlias isolation_check.html#canAlias,PType,PType proc canAlias(arg, ret: PType): bool 75
|
||||
nim checkIsolate isolation_check.html#checkIsolate,PNode proc checkIsolate(n: PNode): bool 94
|
||||
190
compiler/jsgen.html
Normal file
190
compiler/jsgen.html
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/jsgen</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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="ccgutils.html">ccgutils</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="rodutils.html">rodutils</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="backendpragmas.html">backendpragmas</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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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="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#L2876" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/jsgen.nim#L2876" 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="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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#L2837" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/jsgen.nim#L2837" 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="ast.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/jsgen.nim#L2911" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/jsgen.nim#L2911" 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#L114" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/jsgen.nim#L114" 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: 2023-03-13 00:20:17 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
5
compiler/jsgen.idx
Normal file
5
compiler/jsgen.idx
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
nimTitle jsgen jsgen.html module compiler/jsgen 0
|
||||
nim config jsgen.html#config.t,PProc template config(p: PProc): ConfigRef 114
|
||||
nim processJSCodeGen jsgen.html#processJSCodeGen,PPassContext,PNode proc processJSCodeGen(b: PPassContext; n: PNode): PNode 2837
|
||||
nim finalJSCodeGen jsgen.html#finalJSCodeGen,ModuleGraph,PPassContext,PNode proc finalJSCodeGen(graph: ModuleGraph; b: PPassContext; n: PNode): PNode 2876
|
||||
nim setupJSgen jsgen.html#setupJSgen,ModuleGraph,PSym,IdGenerator proc setupJSgen(graph: ModuleGraph; s: PSym; idgen: IdGenerator): PPassContext 2911
|
||||
415
compiler/lambdalifting.html
Normal file
415
compiler/lambdalifting.html
Normal file
|
|
@ -0,0 +1,415 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/lambdalifting</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/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" onkeyup="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">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">freshVarForClosureIter
|
||||
<li><a class="reference" href="#freshVarForClosureIter%2CModuleGraph%2CPSym%2CIdGenerator%2CPSym" title="freshVarForClosureIter(g: ModuleGraph; s: PSym; idgen: IdGenerator; owner: PSym): PNode">freshVarForClosureIter(g: ModuleGraph; s: PSym; idgen: IdGenerator; owner: PSym): PNode</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">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%2Cbool" title="liftLambdas(g: ModuleGraph; fn: PSym; body: PNode; tooEarly: var bool;
|
||||
idgen: IdGenerator; force: bool): PNode">liftLambdas(g: ModuleGraph; fn: PSym; body: PNode; tooEarly: var bool;
|
||||
idgen: IdGenerator; force: bool): 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="lambdalifting.html#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#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>
|
||||
<div id="paramName">
|
||||
<dt><pre><a href="lambdalifting.html#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#L124" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L124" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="upName">
|
||||
<dt><pre><a href="lambdalifting.html#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#L123" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L123" 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="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="ast.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="ast.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="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#L132" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L132" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="freshVarForClosureIter-procs-all">
|
||||
<div id="freshVarForClosureIter,ModuleGraph,PSym,IdGenerator,PSym">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#freshVarForClosureIter%2CModuleGraph%2CPSym%2CIdGenerator%2CPSym"><span class="Identifier">freshVarForClosureIter</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">s</span><span class="Other">:</span> <a href="ast.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="Identifier">owner</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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/lambdalifting.nim#L283" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L283" 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="ast.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="ast.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/lambdalifting.nim#L152" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L152" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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/lambdalifting.nim#L184" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L184" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</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#L695" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L695" 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="ast.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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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/lambdalifting.nim#L901" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L901" 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="ast.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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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">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/lambdalifting.nim#L255" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L255" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">body</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">ptrType</span><span class="Other">:</span> <a href="ast.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="ast.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">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="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/lambdalifting.nim#L846" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L846" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="liftLambdas-procs-all">
|
||||
<div id="liftLambdas,ModuleGraph,PSym,PNode,bool,IdGenerator,bool">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#liftLambdas%2CModuleGraph%2CPSym%2CPNode%2Cbool%2CIdGenerator%2Cbool"><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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">body</span><span class="Other">:</span> <a href="ast.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">force</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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="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/lambdalifting.nim#L861" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L861" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">body</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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#L895" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L895" 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="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">env</span><span class="Other">:</span> <a href="ast.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="ast.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">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="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/lambdalifting.nim#L213" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L213" 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="ast.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="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#L809" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.nim#L809" 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="ast.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#L233" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lambdalifting.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: 2023-03-13 00:20:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
17
compiler/lambdalifting.idx
Normal file
17
compiler/lambdalifting.idx
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
nimTitle lambdalifting lambdalifting.html module compiler/lambdalifting 0
|
||||
nim upName lambdalifting.html#upName const upName 123
|
||||
nim paramName lambdalifting.html#paramName const paramName 124
|
||||
nim envName lambdalifting.html#envName const envName 125
|
||||
nim createClosureIterStateType lambdalifting.html#createClosureIterStateType,ModuleGraph,PSym,IdGenerator proc createClosureIterStateType(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PType 132
|
||||
nim getClosureIterResult lambdalifting.html#getClosureIterResult,ModuleGraph,PSym,IdGenerator proc getClosureIterResult(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PSym 152
|
||||
nim getEnvParam lambdalifting.html#getEnvParam,PSym proc getEnvParam(routine: PSym): PSym 184
|
||||
nim makeClosure lambdalifting.html#makeClosure,ModuleGraph,IdGenerator,PSym,PNode,TLineInfo proc makeClosure(g: ModuleGraph; idgen: IdGenerator; prc: PSym; env: PNode;\n info: TLineInfo): PNode 213
|
||||
nim isIterator lambdalifting.html#isIterator.t,PSym template isIterator(owner: PSym): bool 233
|
||||
nim liftIterSym lambdalifting.html#liftIterSym,ModuleGraph,PNode,IdGenerator,PSym proc liftIterSym(g: ModuleGraph; n: PNode; idgen: IdGenerator; owner: PSym): PNode 255
|
||||
nim freshVarForClosureIter lambdalifting.html#freshVarForClosureIter,ModuleGraph,PSym,IdGenerator,PSym proc freshVarForClosureIter(g: ModuleGraph; s: PSym; idgen: IdGenerator; owner: PSym): PNode 283
|
||||
nim getStateField lambdalifting.html#getStateField,ModuleGraph,PSym proc getStateField(g: ModuleGraph; owner: PSym): PSym 695
|
||||
nim semCaptureSym lambdalifting.html#semCaptureSym,PSym,PSym proc semCaptureSym(s, owner: PSym) 809
|
||||
nim liftIterToProc lambdalifting.html#liftIterToProc,ModuleGraph,PSym,PNode,PType,IdGenerator proc liftIterToProc(g: ModuleGraph; fn: PSym; body: PNode; ptrType: PType;\n idgen: IdGenerator): PNode 846
|
||||
nim liftLambdas lambdalifting.html#liftLambdas,ModuleGraph,PSym,PNode,bool,IdGenerator,bool proc liftLambdas(g: ModuleGraph; fn: PSym; body: PNode; tooEarly: var bool;\n idgen: IdGenerator; force: bool): PNode 861
|
||||
nim liftLambdasForTopLevel lambdalifting.html#liftLambdasForTopLevel,PSym,PNode proc liftLambdasForTopLevel(module: PSym; body: PNode): PNode 895
|
||||
nim liftForLoop lambdalifting.html#liftForLoop,ModuleGraph,PNode,IdGenerator,PSym proc liftForLoop(g: ModuleGraph; body: PNode; idgen: IdGenerator; owner: PSym): PNode 901
|
||||
700
compiler/lexer.html
Normal file
700
compiler/lexer.html
Normal file
|
|
@ -0,0 +1,700 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/lexer</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/lexer</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" onkeyup="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="#ErrorHandler" title="ErrorHandler = proc (conf: ConfigRef; info: TLineInfo; msg: TMsgKind;
|
||||
arg: string)">ErrorHandler</a></li>
|
||||
<li><a class="reference" href="#Lexer" title="Lexer = object of TBaseLexer
|
||||
fileIdx*: FileIndex
|
||||
indentAhead*: int
|
||||
currLineIndent*: int
|
||||
strongSpaces*, allowTabs*: bool
|
||||
errorHandler*: ErrorHandler
|
||||
cache*: IdentCache
|
||||
config*: ConfigRef">Lexer</a></li>
|
||||
<li><a class="reference" href="#NumericalBase" title="NumericalBase = enum
|
||||
base10, base2, base8, base16">NumericalBase</a></li>
|
||||
<li><a class="reference" href="#Token" title="Token = object
|
||||
tokType*: TokType
|
||||
indent*: int
|
||||
ident*: PIdent
|
||||
iNumber*: BiggestInt
|
||||
fNumber*: BiggestFloat
|
||||
base*: NumericalBase
|
||||
strongSpaceA*: bool
|
||||
strongSpaceB*: TokenSpacing
|
||||
literal*: string
|
||||
line*, col*: int">Token</a></li>
|
||||
<li><a class="reference" href="#TokenSpacing" title="TokenSpacing = enum
|
||||
tsNone, tsTrailing, tsEof">TokenSpacing</a></li>
|
||||
<li><a class="reference" href="#TokType" title="TokType = enum
|
||||
tkInvalid = "tkInvalid", tkEof = "[EOF]", tkSymbol = "tkSymbol",
|
||||
tkAddr = "addr", tkAnd = "and", tkAs = "as", tkAsm = "asm", tkBind = "bind",
|
||||
tkBlock = "block", tkBreak = "break", tkCase = "case", tkCast = "cast",
|
||||
tkConcept = "concept", tkConst = "const", tkContinue = "continue",
|
||||
tkConverter = "converter", tkDefer = "defer", tkDiscard = "discard",
|
||||
tkDistinct = "distinct", tkDiv = "div", tkDo = "do", tkElif = "elif",
|
||||
tkElse = "else", tkEnd = "end", tkEnum = "enum", tkExcept = "except",
|
||||
tkExport = "export", tkFinally = "finally", tkFor = "for", tkFrom = "from",
|
||||
tkFunc = "func", tkIf = "if", tkImport = "import", tkIn = "in",
|
||||
tkInclude = "include", tkInterface = "interface", tkIs = "is",
|
||||
tkIsnot = "isnot", tkIterator = "iterator", tkLet = "let", tkMacro = "macro",
|
||||
tkMethod = "method", tkMixin = "mixin", tkMod = "mod", tkNil = "nil",
|
||||
tkNot = "not", tkNotin = "notin", tkObject = "object", tkOf = "of",
|
||||
tkOr = "or", tkOut = "out", tkProc = "proc", tkPtr = "ptr", tkRaise = "raise",
|
||||
tkRef = "ref", tkReturn = "return", tkShl = "shl", tkShr = "shr",
|
||||
tkStatic = "static", tkTemplate = "template", tkTry = "try",
|
||||
tkTuple = "tuple", tkType = "type", tkUsing = "using", tkVar = "var",
|
||||
tkWhen = "when", tkWhile = "while", tkXor = "xor", tkYield = "yield",
|
||||
tkIntLit = "tkIntLit", tkInt8Lit = "tkInt8Lit", tkInt16Lit = "tkInt16Lit",
|
||||
tkInt32Lit = "tkInt32Lit", tkInt64Lit = "tkInt64Lit", tkUIntLit = "tkUIntLit",
|
||||
tkUInt8Lit = "tkUInt8Lit", tkUInt16Lit = "tkUInt16Lit",
|
||||
tkUInt32Lit = "tkUInt32Lit", tkUInt64Lit = "tkUInt64Lit",
|
||||
tkFloatLit = "tkFloatLit", tkFloat32Lit = "tkFloat32Lit",
|
||||
tkFloat64Lit = "tkFloat64Lit", tkFloat128Lit = "tkFloat128Lit",
|
||||
tkStrLit = "tkStrLit", tkRStrLit = "tkRStrLit",
|
||||
tkTripleStrLit = "tkTripleStrLit", tkGStrLit = "tkGStrLit",
|
||||
tkGTripleStrLit = "tkGTripleStrLit", tkCharLit = "tkCharLit",
|
||||
tkCustomLit = "tkCustomLit", tkParLe = "(", tkParRi = ")", tkBracketLe = "[",
|
||||
tkBracketRi = "]", tkCurlyLe = "{", tkCurlyRi = "}", tkBracketDotLe = "[.",
|
||||
tkBracketDotRi = ".]", tkCurlyDotLe = "{.", tkCurlyDotRi = ".}",
|
||||
tkParDotLe = "(.", tkParDotRi = ".)", tkComma = ",", tkSemiColon = ";",
|
||||
tkColon = ":", tkColonColon = "::", tkEquals = "=", tkDot = ".",
|
||||
tkDotDot = "..", tkBracketLeColon = "[:", tkOpr, tkComment, tkAccent = "`",
|
||||
tkSpaces, tkInfixOpr, tkPrefixOpr, tkPostfixOpr, tkHideableStart,
|
||||
tkHideableEnd">TokType</a></li>
|
||||
<li><a class="reference" href="#TokTypes" title="TokTypes = set[TokType]">TokTypes</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="#MaxLineLength" title="MaxLineLength = 80">MaxLineLength</a></li>
|
||||
<li><a class="reference" href="#numChars" title="numChars: set[char] = {'0'..'9', 'a'..'z', 'A'..'Z'}">numChars</a></li>
|
||||
<li><a class="reference" href="#OpChars" title="OpChars: set[char] = {'+', '-', '*', '/', '\\', '<', '>', '!', '?', '^', '.',
|
||||
'|', '=', '%', '&', '$', '@', '~', ':'}">OpChars</a></li>
|
||||
<li><a class="reference" href="#SymChars" title="SymChars: set[char] = {'a'..'z', 'A'..'Z', '0'..'9', '\x80'..'\xFF'}">SymChars</a></li>
|
||||
<li><a class="reference" href="#SymStartChars" title="SymStartChars: set[char] = {'a'..'z', 'A'..'Z', '\x80'..'\xFF'}">SymStartChars</a></li>
|
||||
<li><a class="reference" href="#tokKeywordHigh" title="tokKeywordHigh = tkYield">tokKeywordHigh</a></li>
|
||||
<li><a class="reference" href="#tokKeywordLow" title="tokKeywordLow = tkAddr">tokKeywordLow</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%2CToken" title="`$`(tok: Token): string">`$`(tok: Token): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">closeLexer
|
||||
<li><a class="reference" href="#closeLexer%2CLexer" title="closeLexer(lex: var Lexer)">closeLexer(lex: var Lexer)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getIndentWidth
|
||||
<li><a class="reference" href="#getIndentWidth%2CFileIndex%2CPLLStream%2CIdentCache%2CConfigRef" title="getIndentWidth(fileIdx: FileIndex; inputstream: PLLStream; cache: IdentCache;
|
||||
config: ConfigRef): int">getIndentWidth(fileIdx: FileIndex; inputstream: PLLStream; cache: IdentCache;
|
||||
config: ConfigRef): int</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getLineInfo
|
||||
<li><a class="reference" href="#getLineInfo%2CLexer%2CToken" title="getLineInfo(L: Lexer; tok: Token): TLineInfo">getLineInfo(L: Lexer; tok: Token): TLineInfo</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">getPrecedence
|
||||
<li><a class="reference" href="#getPrecedence%2CPIdent" title="getPrecedence(ident: PIdent): int">getPrecedence(ident: PIdent): int</a></li>
|
||||
<li><a class="reference" href="#getPrecedence%2CToken" title="getPrecedence(tok: Token): int">getPrecedence(tok: Token): int</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initToken
|
||||
<li><a class="reference" href="#initToken%2CToken" title="initToken(L: var Token)">initToken(L: var Token)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isKeyword
|
||||
<li><a class="reference" href="#isKeyword%2CTokType" title="isKeyword(kind: TokType): bool">isKeyword(kind: TokType): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">isNimIdentifier
|
||||
<li><a class="reference" href="#isNimIdentifier%2Cstring" title="isNimIdentifier(s: string): bool">isNimIdentifier(s: string): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">lexMessage
|
||||
<li><a class="reference" href="#lexMessage%2CLexer%2CTMsgKind%2Cstring" title="lexMessage(L: Lexer; msg: TMsgKind; arg = "")">lexMessage(L: Lexer; msg: TMsgKind; arg = "")</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">lexMessageTok
|
||||
<li><a class="reference" href="#lexMessageTok%2CLexer%2CTMsgKind%2CToken%2Cstring" title="lexMessageTok(L: Lexer; msg: TMsgKind; tok: Token; arg = "")">lexMessageTok(L: Lexer; msg: TMsgKind; tok: Token; arg = "")</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">newlineFollows
|
||||
<li><a class="reference" href="#newlineFollows%2CLexer" title="newlineFollows(L: Lexer): bool">newlineFollows(L: Lexer): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">openLexer
|
||||
<li><a class="reference" href="#openLexer%2CLexer%2CFileIndex%2CPLLStream%2CIdentCache%2CConfigRef" title="openLexer(lex: var Lexer; fileIdx: FileIndex; inputstream: PLLStream;
|
||||
cache: IdentCache; config: ConfigRef)">openLexer(lex: var Lexer; fileIdx: FileIndex; inputstream: PLLStream;
|
||||
cache: IdentCache; config: ConfigRef)</a></li>
|
||||
<li><a class="reference" href="#openLexer%2CLexer%2CAbsoluteFile%2CPLLStream%2CIdentCache%2CConfigRef" title="openLexer(lex: var Lexer; filename: AbsoluteFile; inputstream: PLLStream;
|
||||
cache: IdentCache; config: ConfigRef)">openLexer(lex: var Lexer; filename: AbsoluteFile; inputstream: PLLStream;
|
||||
cache: IdentCache; config: ConfigRef)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">prettyTok
|
||||
<li><a class="reference" href="#prettyTok%2CToken" title="prettyTok(tok: Token): string">prettyTok(tok: Token): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">printTok
|
||||
<li><a class="reference" href="#printTok%2CConfigRef%2CToken" title="printTok(conf: ConfigRef; tok: Token)">printTok(conf: ConfigRef; tok: Token)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">rawGetTok
|
||||
<li><a class="reference" href="#rawGetTok%2CLexer%2CToken" title="rawGetTok(L: var Lexer; tok: var Token)">rawGetTok(L: var Lexer; tok: var Token)</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/lexer.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.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="msgs.html">msgs</a>, <a class="reference external" href="platform.html">platform</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="nimlexbase.html">nimlexbase</a>, <a class="reference external" href="llstream.html">llstream</a>, <a class="reference external" href="wordrecg.html">wordrecg</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="7">
|
||||
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
||||
<dl class="item">
|
||||
<div id="ErrorHandler">
|
||||
<dt><pre><a href="lexer.html#ErrorHandler"><span class="Identifier">ErrorHandler</span></a> <span class="Other">=</span> <span class="Keyword">proc</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">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span> <span class="Identifier">msg</span><span class="Other">:</span> <a href="lineinfos.html#TMsgKind"><span class="Identifier">TMsgKind</span></a><span class="Other">;</span>
|
||||
<span class="Identifier">arg</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/lexer.nim#L118" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L118" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="Lexer">
|
||||
<dt><pre><a href="lexer.html#Lexer"><span class="Identifier">Lexer</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="nimlexbase.html#TBaseLexer"><span class="Identifier">TBaseLexer</span></a>
|
||||
<span class="Identifier">fileIdx</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a>
|
||||
<span class="Identifier">indentAhead</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
||||
<span class="Identifier">currLineIndent</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
||||
<span class="Identifier">strongSpaces</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">allowTabs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
|
||||
<span class="Identifier">errorHandler</span><span class="Operator">*</span><span class="Other">:</span> <a href="lexer.html#ErrorHandler"><span class="Identifier">ErrorHandler</span></a>
|
||||
<span class="Identifier">cache</span><span class="Operator">*</span><span class="Other">:</span> <a href="idents.html#IdentCache"><span class="Identifier">IdentCache</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>
|
||||
</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L119" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L119" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="NumericalBase">
|
||||
<dt><pre><a href="lexer.html#NumericalBase"><span class="Identifier">NumericalBase</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">base10</span><span class="Other">,</span> <span class="Identifier">base2</span><span class="Other">,</span> <span class="Identifier">base8</span><span class="Other">,</span> <span class="Identifier">base16</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L91" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L91" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="Token">
|
||||
<dt><pre><a href="lexer.html#Token"><span class="Identifier">Token</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">tokType</span><span class="Operator">*</span><span class="Other">:</span> <a href="lexer.html#TokType"><span class="Identifier">TokType</span></a>
|
||||
<span class="Identifier">indent</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
||||
<span class="Identifier">ident</span><span class="Operator">*</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a>
|
||||
<span class="Identifier">iNumber</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span>
|
||||
<span class="Identifier">fNumber</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">BiggestFloat</span>
|
||||
<span class="Identifier">base</span><span class="Operator">*</span><span class="Other">:</span> <a href="lexer.html#NumericalBase"><span class="Identifier">NumericalBase</span></a>
|
||||
<span class="Identifier">strongSpaceA</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
|
||||
<span class="Identifier">strongSpaceB</span><span class="Operator">*</span><span class="Other">:</span> <a href="lexer.html#TokenSpacing"><span class="Identifier">TokenSpacing</span></a>
|
||||
<span class="Identifier">literal</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
||||
<span class="Identifier">line</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">col</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/lexer.nim#L99" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L99" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TokenSpacing">
|
||||
<dt><pre><a href="lexer.html#TokenSpacing"><span class="Identifier">TokenSpacing</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">tsNone</span><span class="Other">,</span> <span class="Identifier">tsTrailing</span><span class="Other">,</span> <span class="Identifier">tsEof</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L96" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L96" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TokType">
|
||||
<dt><pre><a href="lexer.html#TokType"><span class="Identifier">TokType</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">tkInvalid</span> <span class="Other">=</span> <span class="StringLit">"tkInvalid"</span><span class="Other">,</span> <span class="Identifier">tkEof</span> <span class="Other">=</span> <span class="StringLit">"[EOF]"</span><span class="Other">,</span> <span class="Identifier">tkSymbol</span> <span class="Other">=</span> <span class="StringLit">"tkSymbol"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkAddr</span> <span class="Other">=</span> <span class="StringLit">"addr"</span><span class="Other">,</span> <span class="Identifier">tkAnd</span> <span class="Other">=</span> <span class="StringLit">"and"</span><span class="Other">,</span> <span class="Identifier">tkAs</span> <span class="Other">=</span> <span class="StringLit">"as"</span><span class="Other">,</span> <span class="Identifier">tkAsm</span> <span class="Other">=</span> <span class="StringLit">"asm"</span><span class="Other">,</span> <span class="Identifier">tkBind</span> <span class="Other">=</span> <span class="StringLit">"bind"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkBlock</span> <span class="Other">=</span> <span class="StringLit">"block"</span><span class="Other">,</span> <span class="Identifier">tkBreak</span> <span class="Other">=</span> <span class="StringLit">"break"</span><span class="Other">,</span> <span class="Identifier">tkCase</span> <span class="Other">=</span> <span class="StringLit">"case"</span><span class="Other">,</span> <span class="Identifier">tkCast</span> <span class="Other">=</span> <span class="StringLit">"cast"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkConcept</span> <span class="Other">=</span> <span class="StringLit">"concept"</span><span class="Other">,</span> <span class="Identifier">tkConst</span> <span class="Other">=</span> <span class="StringLit">"const"</span><span class="Other">,</span> <span class="Identifier">tkContinue</span> <span class="Other">=</span> <span class="StringLit">"continue"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkConverter</span> <span class="Other">=</span> <span class="StringLit">"converter"</span><span class="Other">,</span> <span class="Identifier">tkDefer</span> <span class="Other">=</span> <span class="StringLit">"defer"</span><span class="Other">,</span> <span class="Identifier">tkDiscard</span> <span class="Other">=</span> <span class="StringLit">"discard"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkDistinct</span> <span class="Other">=</span> <span class="StringLit">"distinct"</span><span class="Other">,</span> <span class="Identifier">tkDiv</span> <span class="Other">=</span> <span class="StringLit">"div"</span><span class="Other">,</span> <span class="Identifier">tkDo</span> <span class="Other">=</span> <span class="StringLit">"do"</span><span class="Other">,</span> <span class="Identifier">tkElif</span> <span class="Other">=</span> <span class="StringLit">"elif"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkElse</span> <span class="Other">=</span> <span class="StringLit">"else"</span><span class="Other">,</span> <span class="Identifier">tkEnd</span> <span class="Other">=</span> <span class="StringLit">"end"</span><span class="Other">,</span> <span class="Identifier">tkEnum</span> <span class="Other">=</span> <span class="StringLit">"enum"</span><span class="Other">,</span> <span class="Identifier">tkExcept</span> <span class="Other">=</span> <span class="StringLit">"except"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkExport</span> <span class="Other">=</span> <span class="StringLit">"export"</span><span class="Other">,</span> <span class="Identifier">tkFinally</span> <span class="Other">=</span> <span class="StringLit">"finally"</span><span class="Other">,</span> <span class="Identifier">tkFor</span> <span class="Other">=</span> <span class="StringLit">"for"</span><span class="Other">,</span> <span class="Identifier">tkFrom</span> <span class="Other">=</span> <span class="StringLit">"from"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkFunc</span> <span class="Other">=</span> <span class="StringLit">"func"</span><span class="Other">,</span> <span class="Identifier">tkIf</span> <span class="Other">=</span> <span class="StringLit">"if"</span><span class="Other">,</span> <span class="Identifier">tkImport</span> <span class="Other">=</span> <span class="StringLit">"import"</span><span class="Other">,</span> <span class="Identifier">tkIn</span> <span class="Other">=</span> <span class="StringLit">"in"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkInclude</span> <span class="Other">=</span> <span class="StringLit">"include"</span><span class="Other">,</span> <span class="Identifier">tkInterface</span> <span class="Other">=</span> <span class="StringLit">"interface"</span><span class="Other">,</span> <span class="Identifier">tkIs</span> <span class="Other">=</span> <span class="StringLit">"is"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkIsnot</span> <span class="Other">=</span> <span class="StringLit">"isnot"</span><span class="Other">,</span> <span class="Identifier">tkIterator</span> <span class="Other">=</span> <span class="StringLit">"iterator"</span><span class="Other">,</span> <span class="Identifier">tkLet</span> <span class="Other">=</span> <span class="StringLit">"let"</span><span class="Other">,</span> <span class="Identifier">tkMacro</span> <span class="Other">=</span> <span class="StringLit">"macro"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkMethod</span> <span class="Other">=</span> <span class="StringLit">"method"</span><span class="Other">,</span> <span class="Identifier">tkMixin</span> <span class="Other">=</span> <span class="StringLit">"mixin"</span><span class="Other">,</span> <span class="Identifier">tkMod</span> <span class="Other">=</span> <span class="StringLit">"mod"</span><span class="Other">,</span> <span class="Identifier">tkNil</span> <span class="Other">=</span> <span class="StringLit">"nil"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkNot</span> <span class="Other">=</span> <span class="StringLit">"not"</span><span class="Other">,</span> <span class="Identifier">tkNotin</span> <span class="Other">=</span> <span class="StringLit">"notin"</span><span class="Other">,</span> <span class="Identifier">tkObject</span> <span class="Other">=</span> <span class="StringLit">"object"</span><span class="Other">,</span> <span class="Identifier">tkOf</span> <span class="Other">=</span> <span class="StringLit">"of"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkOr</span> <span class="Other">=</span> <span class="StringLit">"or"</span><span class="Other">,</span> <span class="Identifier">tkOut</span> <span class="Other">=</span> <span class="StringLit">"out"</span><span class="Other">,</span> <span class="Identifier">tkProc</span> <span class="Other">=</span> <span class="StringLit">"proc"</span><span class="Other">,</span> <span class="Identifier">tkPtr</span> <span class="Other">=</span> <span class="StringLit">"ptr"</span><span class="Other">,</span> <span class="Identifier">tkRaise</span> <span class="Other">=</span> <span class="StringLit">"raise"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkRef</span> <span class="Other">=</span> <span class="StringLit">"ref"</span><span class="Other">,</span> <span class="Identifier">tkReturn</span> <span class="Other">=</span> <span class="StringLit">"return"</span><span class="Other">,</span> <span class="Identifier">tkShl</span> <span class="Other">=</span> <span class="StringLit">"shl"</span><span class="Other">,</span> <span class="Identifier">tkShr</span> <span class="Other">=</span> <span class="StringLit">"shr"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkStatic</span> <span class="Other">=</span> <span class="StringLit">"static"</span><span class="Other">,</span> <span class="Identifier">tkTemplate</span> <span class="Other">=</span> <span class="StringLit">"template"</span><span class="Other">,</span> <span class="Identifier">tkTry</span> <span class="Other">=</span> <span class="StringLit">"try"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkTuple</span> <span class="Other">=</span> <span class="StringLit">"tuple"</span><span class="Other">,</span> <span class="Identifier">tkType</span> <span class="Other">=</span> <span class="StringLit">"type"</span><span class="Other">,</span> <span class="Identifier">tkUsing</span> <span class="Other">=</span> <span class="StringLit">"using"</span><span class="Other">,</span> <span class="Identifier">tkVar</span> <span class="Other">=</span> <span class="StringLit">"var"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkWhen</span> <span class="Other">=</span> <span class="StringLit">"when"</span><span class="Other">,</span> <span class="Identifier">tkWhile</span> <span class="Other">=</span> <span class="StringLit">"while"</span><span class="Other">,</span> <span class="Identifier">tkXor</span> <span class="Other">=</span> <span class="StringLit">"xor"</span><span class="Other">,</span> <span class="Identifier">tkYield</span> <span class="Other">=</span> <span class="StringLit">"yield"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkIntLit</span> <span class="Other">=</span> <span class="StringLit">"tkIntLit"</span><span class="Other">,</span> <span class="Identifier">tkInt8Lit</span> <span class="Other">=</span> <span class="StringLit">"tkInt8Lit"</span><span class="Other">,</span> <span class="Identifier">tkInt16Lit</span> <span class="Other">=</span> <span class="StringLit">"tkInt16Lit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkInt32Lit</span> <span class="Other">=</span> <span class="StringLit">"tkInt32Lit"</span><span class="Other">,</span> <span class="Identifier">tkInt64Lit</span> <span class="Other">=</span> <span class="StringLit">"tkInt64Lit"</span><span class="Other">,</span> <span class="Identifier">tkUIntLit</span> <span class="Other">=</span> <span class="StringLit">"tkUIntLit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkUInt8Lit</span> <span class="Other">=</span> <span class="StringLit">"tkUInt8Lit"</span><span class="Other">,</span> <span class="Identifier">tkUInt16Lit</span> <span class="Other">=</span> <span class="StringLit">"tkUInt16Lit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkUInt32Lit</span> <span class="Other">=</span> <span class="StringLit">"tkUInt32Lit"</span><span class="Other">,</span> <span class="Identifier">tkUInt64Lit</span> <span class="Other">=</span> <span class="StringLit">"tkUInt64Lit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkFloatLit</span> <span class="Other">=</span> <span class="StringLit">"tkFloatLit"</span><span class="Other">,</span> <span class="Identifier">tkFloat32Lit</span> <span class="Other">=</span> <span class="StringLit">"tkFloat32Lit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkFloat64Lit</span> <span class="Other">=</span> <span class="StringLit">"tkFloat64Lit"</span><span class="Other">,</span> <span class="Identifier">tkFloat128Lit</span> <span class="Other">=</span> <span class="StringLit">"tkFloat128Lit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkStrLit</span> <span class="Other">=</span> <span class="StringLit">"tkStrLit"</span><span class="Other">,</span> <span class="Identifier">tkRStrLit</span> <span class="Other">=</span> <span class="StringLit">"tkRStrLit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkTripleStrLit</span> <span class="Other">=</span> <span class="StringLit">"tkTripleStrLit"</span><span class="Other">,</span> <span class="Identifier">tkGStrLit</span> <span class="Other">=</span> <span class="StringLit">"tkGStrLit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkGTripleStrLit</span> <span class="Other">=</span> <span class="StringLit">"tkGTripleStrLit"</span><span class="Other">,</span> <span class="Identifier">tkCharLit</span> <span class="Other">=</span> <span class="StringLit">"tkCharLit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkCustomLit</span> <span class="Other">=</span> <span class="StringLit">"tkCustomLit"</span><span class="Other">,</span> <span class="Identifier">tkParLe</span> <span class="Other">=</span> <span class="StringLit">"("</span><span class="Other">,</span> <span class="Identifier">tkParRi</span> <span class="Other">=</span> <span class="StringLit">")"</span><span class="Other">,</span> <span class="Identifier">tkBracketLe</span> <span class="Other">=</span> <span class="StringLit">"["</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkBracketRi</span> <span class="Other">=</span> <span class="StringLit">"]"</span><span class="Other">,</span> <span class="Identifier">tkCurlyLe</span> <span class="Other">=</span> <span class="StringLit">"{"</span><span class="Other">,</span> <span class="Identifier">tkCurlyRi</span> <span class="Other">=</span> <span class="StringLit">"}"</span><span class="Other">,</span> <span class="Identifier">tkBracketDotLe</span> <span class="Other">=</span> <span class="StringLit">"[."</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkBracketDotRi</span> <span class="Other">=</span> <span class="StringLit">".]"</span><span class="Other">,</span> <span class="Identifier">tkCurlyDotLe</span> <span class="Other">=</span> <span class="StringLit">"{."</span><span class="Other">,</span> <span class="Identifier">tkCurlyDotRi</span> <span class="Other">=</span> <span class="StringLit">".}"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkParDotLe</span> <span class="Other">=</span> <span class="StringLit">"(."</span><span class="Other">,</span> <span class="Identifier">tkParDotRi</span> <span class="Other">=</span> <span class="StringLit">".)"</span><span class="Other">,</span> <span class="Identifier">tkComma</span> <span class="Other">=</span> <span class="StringLit">","</span><span class="Other">,</span> <span class="Identifier">tkSemiColon</span> <span class="Other">=</span> <span class="StringLit">";"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkColon</span> <span class="Other">=</span> <span class="StringLit">":"</span><span class="Other">,</span> <span class="Identifier">tkColonColon</span> <span class="Other">=</span> <span class="StringLit">"::"</span><span class="Other">,</span> <span class="Identifier">tkEquals</span> <span class="Other">=</span> <span class="StringLit">"="</span><span class="Other">,</span> <span class="Identifier">tkDot</span> <span class="Other">=</span> <span class="StringLit">"."</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkDotDot</span> <span class="Other">=</span> <span class="StringLit">".."</span><span class="Other">,</span> <span class="Identifier">tkBracketLeColon</span> <span class="Other">=</span> <span class="StringLit">"[:"</span><span class="Other">,</span> <span class="Identifier">tkOpr</span><span class="Other">,</span> <span class="Identifier">tkComment</span><span class="Other">,</span> <span class="Identifier">tkAccent</span> <span class="Other">=</span> <span class="StringLit">"`"</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkSpaces</span><span class="Other">,</span> <span class="Identifier">tkInfixOpr</span><span class="Other">,</span> <span class="Identifier">tkPrefixOpr</span><span class="Other">,</span> <span class="Identifier">tkPostfixOpr</span><span class="Other">,</span> <span class="Identifier">tkHideableStart</span><span class="Other">,</span>
|
||||
<span class="Identifier">tkHideableEnd</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L37" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L37" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TokTypes">
|
||||
<dt><pre><a href="lexer.html#TokTypes"><span class="Identifier">TokTypes</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="lexer.html#TokType"><span class="Identifier">TokType</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L80" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L80" 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="MaxLineLength">
|
||||
<dt><pre><a href="lexer.html#MaxLineLength"><span class="Identifier">MaxLineLength</span></a> <span class="Other">=</span> <span class="DecNumber">80</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L26" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L26" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="numChars">
|
||||
<dt><pre><a href="lexer.html#numChars"><span class="Identifier">numChars</span></a><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><span class="Identifier">char</span><span class="Other">]</span> <span class="Other">=</span> <span class="Other">{</span><span class="CharLit">'0'</span><span class="Other">..</span><span class="CharLit">'9'</span><span class="Other">,</span> <span class="CharLit">'a'</span><span class="Other">..</span><span class="CharLit">'z'</span><span class="Other">,</span> <span class="CharLit">'A'</span><span class="Other">..</span><span class="CharLit">'Z'</span><span class="Other">}</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L27" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L27" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="OpChars">
|
||||
<dt><pre><a href="lexer.html#OpChars"><span class="Identifier">OpChars</span></a><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><span class="Identifier">char</span><span class="Other">]</span> <span class="Other">=</span> <span class="Other">{</span><span class="CharLit">'+'</span><span class="Other">,</span> <span class="CharLit">'-'</span><span class="Other">,</span> <span class="CharLit">'*'</span><span class="Other">,</span> <span class="CharLit">'/'</span><span class="Other">,</span> <span class="CharLit">'\\'</span><span class="Other">,</span> <span class="CharLit">'<'</span><span class="Other">,</span> <span class="CharLit">'>'</span><span class="Other">,</span> <span class="CharLit">'!'</span><span class="Other">,</span> <span class="CharLit">'?'</span><span class="Other">,</span> <span class="CharLit">'^'</span><span class="Other">,</span> <span class="CharLit">'.'</span><span class="Other">,</span>
|
||||
<span class="CharLit">'|'</span><span class="Other">,</span> <span class="CharLit">'='</span><span class="Other">,</span> <span class="CharLit">'%'</span><span class="Other">,</span> <span class="CharLit">'&'</span><span class="Other">,</span> <span class="CharLit">'$'</span><span class="Other">,</span> <span class="CharLit">'@'</span><span class="Other">,</span> <span class="CharLit">'~'</span><span class="Other">,</span> <span class="CharLit">':'</span><span class="Other">}</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L30" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L30" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="SymChars">
|
||||
<dt><pre><a href="lexer.html#SymChars"><span class="Identifier">SymChars</span></a><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><span class="Identifier">char</span><span class="Other">]</span> <span class="Other">=</span> <span class="Other">{</span><span class="CharLit">'a'</span><span class="Other">..</span><span class="CharLit">'z'</span><span class="Other">,</span> <span class="CharLit">'A'</span><span class="Other">..</span><span class="CharLit">'Z'</span><span class="Other">,</span> <span class="CharLit">'0'</span><span class="Other">..</span><span class="CharLit">'9'</span><span class="Other">,</span> <span class="CharLit">'\x80'</span><span class="Other">..</span><span class="CharLit">'\xFF'</span><span class="Other">}</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L28" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L28" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="SymStartChars">
|
||||
<dt><pre><a href="lexer.html#SymStartChars"><span class="Identifier">SymStartChars</span></a><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><span class="Identifier">char</span><span class="Other">]</span> <span class="Other">=</span> <span class="Other">{</span><span class="CharLit">'a'</span><span class="Other">..</span><span class="CharLit">'z'</span><span class="Other">,</span> <span class="CharLit">'A'</span><span class="Other">..</span><span class="CharLit">'Z'</span><span class="Other">,</span> <span class="CharLit">'\x80'</span><span class="Other">..</span><span class="CharLit">'\xFF'</span><span class="Other">}</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L29" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L29" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="tokKeywordHigh">
|
||||
<dt><pre><a href="lexer.html#tokKeywordHigh"><span class="Identifier">tokKeywordHigh</span></a> <span class="Other">=</span> <span class="DecNumber">tkYield</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L88" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L88" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="tokKeywordLow">
|
||||
<dt><pre><a href="lexer.html#tokKeywordLow"><span class="Identifier">tokKeywordLow</span></a> <span class="Other">=</span> <span class="DecNumber">tkAddr</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L87" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L87" 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="$,Token">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%24%2CToken"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">tok</span><span class="Other">:</span> <a href="lexer.html#Token"><span class="Identifier">Token</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/lexer.nim#L157" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L157" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="closeLexer-procs-all">
|
||||
<div id="closeLexer,Lexer">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#closeLexer%2CLexer"><span class="Identifier">closeLexer</span></a><span class="Other">(</span><span class="Identifier">lex</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="lexer.html#Lexer"><span class="Identifier">Lexer</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/lexer.nim#L219" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L219" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getIndentWidth-procs-all">
|
||||
<div id="getIndentWidth,FileIndex,PLLStream,IdentCache,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getIndentWidth%2CFileIndex%2CPLLStream%2CIdentCache%2CConfigRef"><span class="Identifier">getIndentWidth</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="Identifier">inputstream</span><span class="Other">:</span> <a href="llstream.html#PLLStream"><span class="Identifier">PLLStream</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">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">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">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">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">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/lexer.nim#L1404" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L1404" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getLineInfo-procs-all">
|
||||
<div id="getLineInfo,Lexer,Token">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getLineInfo%2CLexer%2CToken"><span class="Identifier">getLineInfo</span></a><span class="Other">(</span><span class="Identifier">L</span><span class="Other">:</span> <a href="lexer.html#Lexer"><span class="Identifier">Lexer</span></a><span class="Other">;</span> <span class="Identifier">tok</span><span class="Other">:</span> <a href="lexer.html#Token"><span class="Identifier">Token</span></a><span class="Other">)</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</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/lexer.nim#L134" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L134" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="getPrecedence-procs-all">
|
||||
<div id="getPrecedence,PIdent">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getPrecedence%2CPIdent"><span class="Identifier">getPrecedence</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> <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>
|
||||
|
||||
assumes ident is binary operator already
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L1419" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L1419" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="getPrecedence,Token">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#getPrecedence%2CToken"><span class="Identifier">getPrecedence</span></a><span class="Other">(</span><span class="Identifier">tok</span><span class="Other">:</span> <a href="lexer.html#Token"><span class="Identifier">Token</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="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>
|
||||
|
||||
Calculates the precedence of the given token.
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L971" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L971" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initToken-procs-all">
|
||||
<div id="initToken,Token">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initToken%2CToken"><span class="Identifier">initToken</span></a><span class="Other">(</span><span class="Identifier">L</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="lexer.html#Token"><span class="Identifier">Token</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/lexer.nim#L177" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L177" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isKeyword-procs-all">
|
||||
<div id="isKeyword,TokType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isKeyword%2CTokType"><span class="Identifier">isKeyword</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="lexer.html#TokType"><span class="Identifier">TokType</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/lexer.nim#L142" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L142" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="isNimIdentifier-procs-all">
|
||||
<div id="isNimIdentifier,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#isNimIdentifier%2Cstring"><span class="Identifier">isNimIdentifier</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/lexer.nim#L147" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L147" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="lexMessage-procs-all">
|
||||
<div id="lexMessage,Lexer,TMsgKind,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#lexMessage%2CLexer%2CTMsgKind%2Cstring"><span class="Identifier">lexMessage</span></a><span class="Other">(</span><span class="Identifier">L</span><span class="Other">:</span> <a href="lexer.html#Lexer"><span class="Identifier">Lexer</span></a><span class="Other">;</span> <span class="Identifier">msg</span><span class="Other">:</span> <a href="lineinfos.html#TMsgKind"><span class="Identifier">TMsgKind</span></a><span class="Other">;</span> <span class="Identifier">arg</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="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="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L233" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L233" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="lexMessageTok-procs-all">
|
||||
<div id="lexMessageTok,Lexer,TMsgKind,Token,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#lexMessageTok%2CLexer%2CTMsgKind%2CToken%2Cstring"><span class="Identifier">lexMessageTok</span></a><span class="Other">(</span><span class="Identifier">L</span><span class="Other">:</span> <a href="lexer.html#Lexer"><span class="Identifier">Lexer</span></a><span class="Other">;</span> <span class="Identifier">msg</span><span class="Other">:</span> <a href="lineinfos.html#TMsgKind"><span class="Identifier">TMsgKind</span></a><span class="Other">;</span> <span class="Identifier">tok</span><span class="Other">:</span> <a href="lexer.html#Token"><span class="Identifier">Token</span></a><span class="Other">;</span> <span class="Identifier">arg</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="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="Other">,</span>
|
||||
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lexer.nim#L236" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L236" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="newlineFollows-procs-all">
|
||||
<div id="newlineFollows,Lexer">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#newlineFollows%2CLexer"><span class="Identifier">newlineFollows</span></a><span class="Other">(</span><span class="Identifier">L</span><span class="Other">:</span> <a href="lexer.html#Lexer"><span class="Identifier">Lexer</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/lexer.nim#L1013" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L1013" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="openLexer-procs-all">
|
||||
<div id="openLexer,Lexer,FileIndex,PLLStream,IdentCache,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#openLexer%2CLexer%2CFileIndex%2CPLLStream%2CIdentCache%2CConfigRef"><span class="Identifier">openLexer</span></a><span class="Other">(</span><span class="Identifier">lex</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="lexer.html#Lexer"><span class="Identifier">Lexer</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="Identifier">inputstream</span><span class="Other">:</span> <a href="llstream.html#PLLStream"><span class="Identifier">PLLStream</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">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">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">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/lexer.nim#L203" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L203" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="openLexer,Lexer,AbsoluteFile,PLLStream,IdentCache,ConfigRef">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#openLexer%2CLexer%2CAbsoluteFile%2CPLLStream%2CIdentCache%2CConfigRef"><span class="Identifier">openLexer</span></a><span class="Other">(</span><span class="Identifier">lex</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="lexer.html#Lexer"><span class="Identifier">Lexer</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">inputstream</span><span class="Other">:</span> <a href="llstream.html#PLLStream"><span class="Identifier">PLLStream</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">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">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="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">RootEffect</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/lexer.nim#L215" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L215" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="prettyTok-procs-all">
|
||||
<div id="prettyTok,Token">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#prettyTok%2CToken"><span class="Identifier">prettyTok</span></a><span class="Other">(</span><span class="Identifier">tok</span><span class="Other">:</span> <a href="lexer.html#Token"><span class="Identifier">Token</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/lexer.nim#L169" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L169" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="printTok-procs-all">
|
||||
<div id="printTok,ConfigRef,Token">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#printTok%2CConfigRef%2CToken"><span class="Identifier">printTok</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">tok</span><span class="Other">:</span> <a href="lexer.html#Token"><span class="Identifier">Token</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="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/lexer.nim#L173" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L173" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="rawGetTok-procs-all">
|
||||
<div id="rawGetTok,Lexer,Token">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#rawGetTok%2CLexer%2CToken"><span class="Identifier">rawGetTok</span></a><span class="Other">(</span><span class="Identifier">L</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="lexer.html#Lexer"><span class="Identifier">Lexer</span></a><span class="Other">;</span> <span class="Identifier">tok</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="lexer.html#Token"><span class="Identifier">Token</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">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/lexer.nim#L1226" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lexer.nim#L1226" 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: 2023-03-13 00:20:12 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
160
compiler/lexer.idx
Normal file
160
compiler/lexer.idx
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
nimTitle lexer lexer.html module compiler/lexer 0
|
||||
nim MaxLineLength lexer.html#MaxLineLength const MaxLineLength 26
|
||||
nim numChars lexer.html#numChars const numChars 27
|
||||
nim SymChars lexer.html#SymChars const SymChars 28
|
||||
nim SymStartChars lexer.html#SymStartChars const SymStartChars 29
|
||||
nim OpChars lexer.html#OpChars const OpChars 30
|
||||
nim tkInvalid lexer.html#tkInvalid TokType.tkInvalid 37
|
||||
nim tkEof lexer.html#tkEof TokType.tkEof 37
|
||||
nim tkSymbol lexer.html#tkSymbol TokType.tkSymbol 37
|
||||
nim tkAddr lexer.html#tkAddr TokType.tkAddr 37
|
||||
nim tkAnd lexer.html#tkAnd TokType.tkAnd 37
|
||||
nim tkAs lexer.html#tkAs TokType.tkAs 37
|
||||
nim tkAsm lexer.html#tkAsm TokType.tkAsm 37
|
||||
nim tkBind lexer.html#tkBind TokType.tkBind 37
|
||||
nim tkBlock lexer.html#tkBlock TokType.tkBlock 37
|
||||
nim tkBreak lexer.html#tkBreak TokType.tkBreak 37
|
||||
nim tkCase lexer.html#tkCase TokType.tkCase 37
|
||||
nim tkCast lexer.html#tkCast TokType.tkCast 37
|
||||
nim tkConcept lexer.html#tkConcept TokType.tkConcept 37
|
||||
nim tkConst lexer.html#tkConst TokType.tkConst 37
|
||||
nim tkContinue lexer.html#tkContinue TokType.tkContinue 37
|
||||
nim tkConverter lexer.html#tkConverter TokType.tkConverter 37
|
||||
nim tkDefer lexer.html#tkDefer TokType.tkDefer 37
|
||||
nim tkDiscard lexer.html#tkDiscard TokType.tkDiscard 37
|
||||
nim tkDistinct lexer.html#tkDistinct TokType.tkDistinct 37
|
||||
nim tkDiv lexer.html#tkDiv TokType.tkDiv 37
|
||||
nim tkDo lexer.html#tkDo TokType.tkDo 37
|
||||
nim tkElif lexer.html#tkElif TokType.tkElif 37
|
||||
nim tkElse lexer.html#tkElse TokType.tkElse 37
|
||||
nim tkEnd lexer.html#tkEnd TokType.tkEnd 37
|
||||
nim tkEnum lexer.html#tkEnum TokType.tkEnum 37
|
||||
nim tkExcept lexer.html#tkExcept TokType.tkExcept 37
|
||||
nim tkExport lexer.html#tkExport TokType.tkExport 37
|
||||
nim tkFinally lexer.html#tkFinally TokType.tkFinally 37
|
||||
nim tkFor lexer.html#tkFor TokType.tkFor 37
|
||||
nim tkFrom lexer.html#tkFrom TokType.tkFrom 37
|
||||
nim tkFunc lexer.html#tkFunc TokType.tkFunc 37
|
||||
nim tkIf lexer.html#tkIf TokType.tkIf 37
|
||||
nim tkImport lexer.html#tkImport TokType.tkImport 37
|
||||
nim tkIn lexer.html#tkIn TokType.tkIn 37
|
||||
nim tkInclude lexer.html#tkInclude TokType.tkInclude 37
|
||||
nim tkInterface lexer.html#tkInterface TokType.tkInterface 37
|
||||
nim tkIs lexer.html#tkIs TokType.tkIs 37
|
||||
nim tkIsnot lexer.html#tkIsnot TokType.tkIsnot 37
|
||||
nim tkIterator lexer.html#tkIterator TokType.tkIterator 37
|
||||
nim tkLet lexer.html#tkLet TokType.tkLet 37
|
||||
nim tkMacro lexer.html#tkMacro TokType.tkMacro 37
|
||||
nim tkMethod lexer.html#tkMethod TokType.tkMethod 37
|
||||
nim tkMixin lexer.html#tkMixin TokType.tkMixin 37
|
||||
nim tkMod lexer.html#tkMod TokType.tkMod 37
|
||||
nim tkNil lexer.html#tkNil TokType.tkNil 37
|
||||
nim tkNot lexer.html#tkNot TokType.tkNot 37
|
||||
nim tkNotin lexer.html#tkNotin TokType.tkNotin 37
|
||||
nim tkObject lexer.html#tkObject TokType.tkObject 37
|
||||
nim tkOf lexer.html#tkOf TokType.tkOf 37
|
||||
nim tkOr lexer.html#tkOr TokType.tkOr 37
|
||||
nim tkOut lexer.html#tkOut TokType.tkOut 37
|
||||
nim tkProc lexer.html#tkProc TokType.tkProc 37
|
||||
nim tkPtr lexer.html#tkPtr TokType.tkPtr 37
|
||||
nim tkRaise lexer.html#tkRaise TokType.tkRaise 37
|
||||
nim tkRef lexer.html#tkRef TokType.tkRef 37
|
||||
nim tkReturn lexer.html#tkReturn TokType.tkReturn 37
|
||||
nim tkShl lexer.html#tkShl TokType.tkShl 37
|
||||
nim tkShr lexer.html#tkShr TokType.tkShr 37
|
||||
nim tkStatic lexer.html#tkStatic TokType.tkStatic 37
|
||||
nim tkTemplate lexer.html#tkTemplate TokType.tkTemplate 37
|
||||
nim tkTry lexer.html#tkTry TokType.tkTry 37
|
||||
nim tkTuple lexer.html#tkTuple TokType.tkTuple 37
|
||||
nim tkType lexer.html#tkType TokType.tkType 37
|
||||
nim tkUsing lexer.html#tkUsing TokType.tkUsing 37
|
||||
nim tkVar lexer.html#tkVar TokType.tkVar 37
|
||||
nim tkWhen lexer.html#tkWhen TokType.tkWhen 37
|
||||
nim tkWhile lexer.html#tkWhile TokType.tkWhile 37
|
||||
nim tkXor lexer.html#tkXor TokType.tkXor 37
|
||||
nim tkYield lexer.html#tkYield TokType.tkYield 37
|
||||
nim tkIntLit lexer.html#tkIntLit TokType.tkIntLit 37
|
||||
nim tkInt8Lit lexer.html#tkInt8Lit TokType.tkInt8Lit 37
|
||||
nim tkInt16Lit lexer.html#tkInt16Lit TokType.tkInt16Lit 37
|
||||
nim tkInt32Lit lexer.html#tkInt32Lit TokType.tkInt32Lit 37
|
||||
nim tkInt64Lit lexer.html#tkInt64Lit TokType.tkInt64Lit 37
|
||||
nim tkUIntLit lexer.html#tkUIntLit TokType.tkUIntLit 37
|
||||
nim tkUInt8Lit lexer.html#tkUInt8Lit TokType.tkUInt8Lit 37
|
||||
nim tkUInt16Lit lexer.html#tkUInt16Lit TokType.tkUInt16Lit 37
|
||||
nim tkUInt32Lit lexer.html#tkUInt32Lit TokType.tkUInt32Lit 37
|
||||
nim tkUInt64Lit lexer.html#tkUInt64Lit TokType.tkUInt64Lit 37
|
||||
nim tkFloatLit lexer.html#tkFloatLit TokType.tkFloatLit 37
|
||||
nim tkFloat32Lit lexer.html#tkFloat32Lit TokType.tkFloat32Lit 37
|
||||
nim tkFloat64Lit lexer.html#tkFloat64Lit TokType.tkFloat64Lit 37
|
||||
nim tkFloat128Lit lexer.html#tkFloat128Lit TokType.tkFloat128Lit 37
|
||||
nim tkStrLit lexer.html#tkStrLit TokType.tkStrLit 37
|
||||
nim tkRStrLit lexer.html#tkRStrLit TokType.tkRStrLit 37
|
||||
nim tkTripleStrLit lexer.html#tkTripleStrLit TokType.tkTripleStrLit 37
|
||||
nim tkGStrLit lexer.html#tkGStrLit TokType.tkGStrLit 37
|
||||
nim tkGTripleStrLit lexer.html#tkGTripleStrLit TokType.tkGTripleStrLit 37
|
||||
nim tkCharLit lexer.html#tkCharLit TokType.tkCharLit 37
|
||||
nim tkCustomLit lexer.html#tkCustomLit TokType.tkCustomLit 37
|
||||
nim tkParLe lexer.html#tkParLe TokType.tkParLe 37
|
||||
nim tkParRi lexer.html#tkParRi TokType.tkParRi 37
|
||||
nim tkBracketLe lexer.html#tkBracketLe TokType.tkBracketLe 37
|
||||
nim tkBracketRi lexer.html#tkBracketRi TokType.tkBracketRi 37
|
||||
nim tkCurlyLe lexer.html#tkCurlyLe TokType.tkCurlyLe 37
|
||||
nim tkCurlyRi lexer.html#tkCurlyRi TokType.tkCurlyRi 37
|
||||
nim tkBracketDotLe lexer.html#tkBracketDotLe TokType.tkBracketDotLe 37
|
||||
nim tkBracketDotRi lexer.html#tkBracketDotRi TokType.tkBracketDotRi 37
|
||||
nim tkCurlyDotLe lexer.html#tkCurlyDotLe TokType.tkCurlyDotLe 37
|
||||
nim tkCurlyDotRi lexer.html#tkCurlyDotRi TokType.tkCurlyDotRi 37
|
||||
nim tkParDotLe lexer.html#tkParDotLe TokType.tkParDotLe 37
|
||||
nim tkParDotRi lexer.html#tkParDotRi TokType.tkParDotRi 37
|
||||
nim tkComma lexer.html#tkComma TokType.tkComma 37
|
||||
nim tkSemiColon lexer.html#tkSemiColon TokType.tkSemiColon 37
|
||||
nim tkColon lexer.html#tkColon TokType.tkColon 37
|
||||
nim tkColonColon lexer.html#tkColonColon TokType.tkColonColon 37
|
||||
nim tkEquals lexer.html#tkEquals TokType.tkEquals 37
|
||||
nim tkDot lexer.html#tkDot TokType.tkDot 37
|
||||
nim tkDotDot lexer.html#tkDotDot TokType.tkDotDot 37
|
||||
nim tkBracketLeColon lexer.html#tkBracketLeColon TokType.tkBracketLeColon 37
|
||||
nim tkOpr lexer.html#tkOpr TokType.tkOpr 37
|
||||
nim tkComment lexer.html#tkComment TokType.tkComment 37
|
||||
nim tkAccent lexer.html#tkAccent TokType.tkAccent 37
|
||||
nim tkSpaces lexer.html#tkSpaces TokType.tkSpaces 37
|
||||
nim tkInfixOpr lexer.html#tkInfixOpr TokType.tkInfixOpr 37
|
||||
nim tkPrefixOpr lexer.html#tkPrefixOpr TokType.tkPrefixOpr 37
|
||||
nim tkPostfixOpr lexer.html#tkPostfixOpr TokType.tkPostfixOpr 37
|
||||
nim tkHideableStart lexer.html#tkHideableStart TokType.tkHideableStart 37
|
||||
nim tkHideableEnd lexer.html#tkHideableEnd TokType.tkHideableEnd 37
|
||||
nim TokType lexer.html#TokType enum TokType 37
|
||||
nim TokTypes lexer.html#TokTypes type TokTypes 80
|
||||
nim tokKeywordLow lexer.html#tokKeywordLow const tokKeywordLow 87
|
||||
nim tokKeywordHigh lexer.html#tokKeywordHigh const tokKeywordHigh 88
|
||||
nim base10 lexer.html#base10 NumericalBase.base10 91
|
||||
nim base2 lexer.html#base2 NumericalBase.base2 91
|
||||
nim base8 lexer.html#base8 NumericalBase.base8 91
|
||||
nim base16 lexer.html#base16 NumericalBase.base16 91
|
||||
nim NumericalBase lexer.html#NumericalBase enum NumericalBase 91
|
||||
nim tsNone lexer.html#tsNone TokenSpacing.tsNone 96
|
||||
nim tsTrailing lexer.html#tsTrailing TokenSpacing.tsTrailing 96
|
||||
nim tsEof lexer.html#tsEof TokenSpacing.tsEof 96
|
||||
nim TokenSpacing lexer.html#TokenSpacing enum TokenSpacing 96
|
||||
nim Token lexer.html#Token object Token 99
|
||||
nim ErrorHandler lexer.html#ErrorHandler type ErrorHandler 118
|
||||
nim Lexer lexer.html#Lexer object Lexer 119
|
||||
nim getLineInfo lexer.html#getLineInfo,Lexer,Token proc getLineInfo(L: Lexer; tok: Token): TLineInfo 134
|
||||
nim isKeyword lexer.html#isKeyword,TokType proc isKeyword(kind: TokType): bool 142
|
||||
nim isNimIdentifier lexer.html#isNimIdentifier,string proc isNimIdentifier(s: string): bool 147
|
||||
nim `$` lexer.html#$,Token proc `$`(tok: Token): string 157
|
||||
nim prettyTok lexer.html#prettyTok,Token proc prettyTok(tok: Token): string 169
|
||||
nim printTok lexer.html#printTok,ConfigRef,Token proc printTok(conf: ConfigRef; tok: Token) 173
|
||||
nim initToken lexer.html#initToken,Token proc initToken(L: var Token) 177
|
||||
nim openLexer lexer.html#openLexer,Lexer,FileIndex,PLLStream,IdentCache,ConfigRef proc openLexer(lex: var Lexer; fileIdx: FileIndex; inputstream: PLLStream;\n cache: IdentCache; config: ConfigRef) 203
|
||||
nim openLexer lexer.html#openLexer,Lexer,AbsoluteFile,PLLStream,IdentCache,ConfigRef proc openLexer(lex: var Lexer; filename: AbsoluteFile; inputstream: PLLStream;\n cache: IdentCache; config: ConfigRef) 215
|
||||
nim closeLexer lexer.html#closeLexer,Lexer proc closeLexer(lex: var Lexer) 219
|
||||
nim lexMessage lexer.html#lexMessage,Lexer,TMsgKind,string proc lexMessage(L: Lexer; msg: TMsgKind; arg = "") 233
|
||||
nim lexMessageTok lexer.html#lexMessageTok,Lexer,TMsgKind,Token,string proc lexMessageTok(L: Lexer; msg: TMsgKind; tok: Token; arg = "") 236
|
||||
nim getPrecedence lexer.html#getPrecedence,Token proc getPrecedence(tok: Token): int 971
|
||||
nim newlineFollows lexer.html#newlineFollows,Lexer proc newlineFollows(L: Lexer): bool 1013
|
||||
nim rawGetTok lexer.html#rawGetTok,Lexer,Token proc rawGetTok(L: var Lexer; tok: var Token) 1226
|
||||
nim getIndentWidth lexer.html#getIndentWidth,FileIndex,PLLStream,IdentCache,ConfigRef proc getIndentWidth(fileIdx: FileIndex; inputstream: PLLStream; cache: IdentCache;\n config: ConfigRef): int 1404
|
||||
nim getPrecedence lexer.html#getPrecedence,PIdent proc getPrecedence(ident: PIdent): int 1419
|
||||
nimgrp openlexer lexer.html#openLexer-procs-all proc 203
|
||||
nimgrp getprecedence lexer.html#getPrecedence-procs-all proc 971
|
||||
287
compiler/liftdestructors.html
Normal file
287
compiler/liftdestructors.html
Normal file
|
|
@ -0,0 +1,287 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/liftdestructors</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/liftdestructors</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" onkeyup="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">boolLit
|
||||
<li><a class="reference" href="#boolLit%2CModuleGraph%2CTLineInfo%2Cbool" title="boolLit(g: ModuleGraph; info: TLineInfo; value: bool): PNode">boolLit(g: ModuleGraph; info: TLineInfo; value: bool): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">createTypeBoundOps
|
||||
<li><a class="reference" href="#createTypeBoundOps%2CModuleGraph%2CPContext%2CPType%2CTLineInfo%2CIdGenerator" title="createTypeBoundOps(g: ModuleGraph; c: PContext; orig: PType; info: TLineInfo;
|
||||
idgen: IdGenerator)">createTypeBoundOps(g: ModuleGraph; c: PContext; orig: PType; info: TLineInfo;
|
||||
idgen: IdGenerator)</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">cyclicType
|
||||
<li><a class="reference" href="#cyclicType%2CPType" title="cyclicType(t: PType): bool">cyclicType(t: PType): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">genBuiltin
|
||||
<li><a class="reference" href="#genBuiltin%2CModuleGraph%2CIdGenerator%2CTMagic%2Cstring%2CPNode" title="genBuiltin(g: ModuleGraph; idgen: IdGenerator; magic: TMagic; name: string;
|
||||
i: PNode): PNode">genBuiltin(g: ModuleGraph; idgen: IdGenerator; magic: TMagic; name: string;
|
||||
i: PNode): PNode</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">produceDestructorForDiscriminator
|
||||
<li><a class="reference" href="#produceDestructorForDiscriminator%2CModuleGraph%2CPType%2CPSym%2CTLineInfo%2CIdGenerator" title="produceDestructorForDiscriminator(g: ModuleGraph; typ: PType; field: PSym;
|
||||
info: TLineInfo; idgen: IdGenerator): PSym">produceDestructorForDiscriminator(g: ModuleGraph; typ: PType; field: PSym;
|
||||
info: TLineInfo; idgen: IdGenerator): 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">asink
|
||||
<li><a class="reference" href="#asink.t%2CPType" title="asink(t: PType): PSym">asink(t: PType): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">assignment
|
||||
<li><a class="reference" href="#assignment.t%2CPType" title="assignment(t: PType): PSym">assignment(t: PType): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">destructor
|
||||
<li><a class="reference" href="#destructor.t%2CPType" title="destructor(t: PType): PSym">destructor(t: PType): PSym</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">liftTypeBoundOps
|
||||
<li><a class="reference" href="#liftTypeBoundOps.t%2CPContext%2CPType%2CTLineInfo" title="liftTypeBoundOps(c: PContext; typ: PType; info: TLineInfo)">liftTypeBoundOps(c: PContext; typ: PType; info: TLineInfo)</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/liftdestructors.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module implements lifting for type-bound operations (<tt class="docutils literal"><span class="pre">=sink</span></tt>, <tt class="docutils literal"><span class="pre">=copy</span></tt>, <tt class="docutils literal"><span class="pre">=destroy</span></tt>, <tt class="docutils literal"><span class="pre">=deepCopy</span></tt>).</p>
|
||||
<div class="section" id="6">
|
||||
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
||||
<dl class="item">
|
||||
<a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="idents.html">idents</a>, <a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="semdata.html">semdata</a>, <a class="reference external" href="sighashes.html">sighashes</a>, <a class="reference external" href="lowerings.html">lowerings</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="magicsys.html">magicsys</a>, <a class="reference external" href="ccgutils.html">ccgutils</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="boolLit-procs-all">
|
||||
<div id="boolLit,ModuleGraph,TLineInfo,bool">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#boolLit%2CModuleGraph%2CTLineInfo%2Cbool"><span class="Identifier">boolLit</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">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span><span class="Other">:</span> <a href="ast.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">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">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/liftdestructors.nim#L281" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L281" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="createTypeBoundOps-procs-all">
|
||||
<div id="createTypeBoundOps,ModuleGraph,PContext,PType,TLineInfo,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#createTypeBoundOps%2CModuleGraph%2CPContext%2CPType%2CTLineInfo%2CIdGenerator"><span class="Identifier">createTypeBoundOps</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">c</span><span class="Other">:</span> <a href="semdata.html#PContext"><span class="Identifier">PContext</span></a><span class="Other">;</span> <span class="Identifier">orig</span><span class="Other">:</span> <a href="ast.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">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">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="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/liftdestructors.nim#L43" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L43" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="cyclicType-procs-all">
|
||||
<div id="cyclicType,PType">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#cyclicType%2CPType"><span class="Identifier">cyclicType</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.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="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>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/liftdestructors.nim#L604" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L604" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="genBuiltin-procs-all">
|
||||
<div id="genBuiltin,ModuleGraph,IdGenerator,TMagic,string,PNode">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#genBuiltin%2CModuleGraph%2CIdGenerator%2CTMagic%2Cstring%2CPNode"><span class="Identifier">genBuiltin</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">magic</span><span class="Other">:</span> <a href="ast.html#TMagic"><span class="Identifier">TMagic</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">i</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.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/liftdestructors.nim#L76" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L76" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="produceDestructorForDiscriminator-procs-all">
|
||||
<div id="produceDestructorForDiscriminator,ModuleGraph,PType,PSym,TLineInfo,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#produceDestructorForDiscriminator%2CModuleGraph%2CPType%2CPSym%2CTLineInfo%2CIdGenerator"><span class="Identifier">produceDestructorForDiscriminator</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">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">field</span><span class="Other">:</span> <a href="ast.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">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="ast.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">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="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/liftdestructors.nim#L1041" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L1041" 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="asink-templates-all">
|
||||
<div id="asink.t,PType">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#asink.t%2CPType"><span class="Identifier">asink</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/liftdestructors.nim#L37" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L37" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="assignment-templates-all">
|
||||
<div id="assignment.t,PType">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#assignment.t%2CPType"><span class="Identifier">assignment</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/liftdestructors.nim#L36" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L36" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="destructor-templates-all">
|
||||
<div id="destructor.t,PType">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#destructor.t%2CPType"><span class="Identifier">destructor</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/liftdestructors.nim#L35" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L35" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="liftTypeBoundOps-templates-all">
|
||||
<div id="liftTypeBoundOps.t,PContext,PType,TLineInfo">
|
||||
<dt><pre><span class="Keyword">template</span> <a href="#liftTypeBoundOps.t%2CPContext%2CPType%2CTLineInfo"><span class="Identifier">liftTypeBoundOps</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">typ</span><span class="Other">:</span> <a href="ast.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></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/liftdestructors.nim#L1064" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftdestructors.nim#L1064" 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: 2023-03-13 00:20:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
10
compiler/liftdestructors.idx
Normal file
10
compiler/liftdestructors.idx
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
nimTitle liftdestructors liftdestructors.html module compiler/liftdestructors 0
|
||||
nim destructor liftdestructors.html#destructor.t,PType template destructor(t: PType): PSym 35
|
||||
nim assignment liftdestructors.html#assignment.t,PType template assignment(t: PType): PSym 36
|
||||
nim asink liftdestructors.html#asink.t,PType template asink(t: PType): PSym 37
|
||||
nim createTypeBoundOps liftdestructors.html#createTypeBoundOps,ModuleGraph,PContext,PType,TLineInfo,IdGenerator proc createTypeBoundOps(g: ModuleGraph; c: PContext; orig: PType; info: TLineInfo;\n idgen: IdGenerator) 43
|
||||
nim genBuiltin liftdestructors.html#genBuiltin,ModuleGraph,IdGenerator,TMagic,string,PNode proc genBuiltin(g: ModuleGraph; idgen: IdGenerator; magic: TMagic; name: string;\n i: PNode): PNode 76
|
||||
nim boolLit liftdestructors.html#boolLit,ModuleGraph,TLineInfo,bool proc boolLit(g: ModuleGraph; info: TLineInfo; value: bool): PNode 281
|
||||
nim cyclicType liftdestructors.html#cyclicType,PType proc cyclicType(t: PType): bool 604
|
||||
nim produceDestructorForDiscriminator liftdestructors.html#produceDestructorForDiscriminator,ModuleGraph,PType,PSym,TLineInfo,IdGenerator proc produceDestructorForDiscriminator(g: ModuleGraph; typ: PType; field: PSym;\n info: TLineInfo; idgen: IdGenerator): PSym 1041
|
||||
nim liftTypeBoundOps liftdestructors.html#liftTypeBoundOps.t,PContext,PType,TLineInfo template liftTypeBoundOps(c: PContext; typ: PType; info: TLineInfo) 1064
|
||||
124
compiler/liftlocals.html
Normal file
124
compiler/liftlocals.html
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/liftlocals</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/liftlocals</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" onkeyup="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">liftLocalsIfRequested
|
||||
<li><a class="reference" href="#liftLocalsIfRequested%2CPSym%2CPNode%2CIdentCache%2CConfigRef%2CIdGenerator" title="liftLocalsIfRequested(prc: PSym; n: PNode; cache: IdentCache; conf: ConfigRef;
|
||||
idgen: IdGenerator): PNode">liftLocalsIfRequested(prc: PSym; n: PNode; cache: IdentCache; conf: ConfigRef;
|
||||
idgen: IdGenerator): 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/liftlocals.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftlocals.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module implements the '.liftLocals' pragma.</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="lowerings.html">lowerings</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="pragmas.html">pragmas</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="liftLocalsIfRequested-procs-all">
|
||||
<div id="liftLocalsIfRequested,PSym,PNode,IdentCache,ConfigRef,IdGenerator">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#liftLocalsIfRequested%2CPSym%2CPNode%2CIdentCache%2CConfigRef%2CIdGenerator"><span class="Identifier">liftLocalsIfRequested</span></a><span class="Other">(</span><span class="Identifier">prc</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</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">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="ast.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">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/liftlocals.nim#L57" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/liftlocals.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: 2023-03-13 00:20:14 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
2
compiler/liftlocals.idx
Normal file
2
compiler/liftlocals.idx
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
nimTitle liftlocals liftlocals.html module compiler/liftlocals 0
|
||||
nim liftLocalsIfRequested liftlocals.html#liftLocalsIfRequested,PSym,PNode,IdentCache,ConfigRef,IdGenerator proc liftLocalsIfRequested(prc: PSym; n: PNode; cache: IdentCache; conf: ConfigRef;\n idgen: IdGenerator): PNode 57
|
||||
826
compiler/lineinfos.html
Normal file
826
compiler/lineinfos.html
Normal file
|
|
@ -0,0 +1,826 @@
|
|||
<?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">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>compiler/lineinfos</title>
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<div class="container">
|
||||
<h1 class="title">compiler/lineinfos</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" onkeyup="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="#ERecoverableError" title="ERecoverableError = object of ValueError">ERecoverableError</a></li>
|
||||
<li><a class="reference" href="#ESuggestDone" title="ESuggestDone = object of ValueError">ESuggestDone</a></li>
|
||||
<li><a class="reference" href="#FileIndex" title="FileIndex = distinct int32">FileIndex</a></li>
|
||||
<li><a class="reference" href="#MsgConfig" title="MsgConfig = object
|
||||
trackPos*: TLineInfo
|
||||
trackPosAttached*: bool ## whether the tracking position was attached to
|
||||
## some close token.
|
||||
errorOutputs*: TErrorOutputs
|
||||
msgContext*: seq[tuple[info: TLineInfo, detail: string]]
|
||||
lastError*: TLineInfo
|
||||
filenameToIndexTbl*: Table[string, FileIndex]
|
||||
fileInfos*: seq[TFileInfo]
|
||||
systemFileIdx*: FileIndex">MsgConfig</a></li>
|
||||
<li><a class="reference" href="#Severity" title="Severity {.pure.} = enum
|
||||
Hint, Warning, Error">Severity</a></li>
|
||||
<li><a class="reference" href="#TErrorOutput" title="TErrorOutput = enum
|
||||
eStdOut, eStdErr">TErrorOutput</a></li>
|
||||
<li><a class="reference" href="#TErrorOutputs" title="TErrorOutputs = set[TErrorOutput]">TErrorOutputs</a></li>
|
||||
<li><a class="reference" href="#TFileInfo" title="TFileInfo = object
|
||||
fullPath*: AbsoluteFile
|
||||
projPath*: RelativeFile
|
||||
shortName*: string
|
||||
quotedName*: Rope
|
||||
quotedFullName*: Rope
|
||||
lines*: seq[string]
|
||||
dirtyFile*: AbsoluteFile
|
||||
hash*: string
|
||||
dirty*: bool">TFileInfo</a></li>
|
||||
<li><a class="reference" href="#TLineInfo" title="TLineInfo = object
|
||||
line*: uint16
|
||||
col*: int16
|
||||
fileIndex*: FileIndex">TLineInfo</a></li>
|
||||
<li><a class="reference" href="#TMsgKind" title="TMsgKind = enum
|
||||
errUnknown, errFatal, errInternal, errIllFormedAstX, errCannotOpenFile,
|
||||
errXExpected, errRstMissingClosing, errRstGridTableNotImplemented,
|
||||
errRstMarkdownIllformedTable, errRstIllformedTable, errRstNewSectionExpected,
|
||||
errRstGeneralParseError, errRstInvalidDirectiveX, errRstInvalidField,
|
||||
errRstFootnoteMismatch, errRstSandboxedDirective, errProveInit, errGenerated,
|
||||
errUser, warnCannotOpenFile = "CannotOpenFile",
|
||||
warnOctalEscape = "OctalEscape", warnXIsNeverRead = "XIsNeverRead",
|
||||
warnXmightNotBeenInit = "XmightNotBeenInit", warnDeprecated = "Deprecated",
|
||||
warnConfigDeprecated = "ConfigDeprecated", warnDotLikeOps = "DotLikeOps",
|
||||
warnSmallLshouldNotBeUsed = "SmallLshouldNotBeUsed",
|
||||
warnUnknownMagic = "UnknownMagic",
|
||||
warnRstRedefinitionOfLabel = "RedefinitionOfLabel",
|
||||
warnRstUnknownSubstitutionX = "UnknownSubstitutionX",
|
||||
warnRstAmbiguousLink = "AmbiguousLink", warnRstBrokenLink = "BrokenLink",
|
||||
warnRstLanguageXNotSupported = "LanguageXNotSupported",
|
||||
warnRstFieldXNotSupported = "FieldXNotSupported",
|
||||
warnRstUnusedImportdoc = "UnusedImportdoc", warnRstStyle = "warnRstStyle",
|
||||
warnCommentXIgnored = "CommentXIgnored", warnTypelessParam = "TypelessParam",
|
||||
warnUseBase = "UseBase", warnWriteToForeignHeap = "WriteToForeignHeap",
|
||||
warnUnsafeCode = "UnsafeCode", warnUnusedImportX = "UnusedImport",
|
||||
warnInheritFromException = "InheritFromException",
|
||||
warnEachIdentIsTuple = "EachIdentIsTuple", warnUnsafeSetLen = "UnsafeSetLen",
|
||||
warnUnsafeDefault = "UnsafeDefault", warnProveInit = "ProveInit",
|
||||
warnProveField = "ProveField", warnProveIndex = "ProveIndex",
|
||||
warnUnreachableElse = "UnreachableElse",
|
||||
warnUnreachableCode = "UnreachableCode", warnStaticIndexCheck = "IndexCheck",
|
||||
warnGcUnsafe = "GcUnsafe", warnGcUnsafe2 = "GcUnsafe2", warnUninit = "Uninit",
|
||||
warnGcMem = "GcMem", warnDestructor = "Destructor",
|
||||
warnLockLevel = "LockLevel", warnResultShadowed = "ResultShadowed",
|
||||
warnInconsistentSpacing = "Spacing", warnCaseTransition = "CaseTransition",
|
||||
warnCycleCreated = "CycleCreated", warnObservableStores = "ObservableStores",
|
||||
warnStrictNotNil = "StrictNotNil", warnResultUsed = "ResultUsed",
|
||||
warnCannotOpen = "CannotOpen", warnFileChanged = "FileChanged",
|
||||
warnSuspiciousEnumConv = "EnumConv", warnAnyEnumConv = "AnyEnumConv",
|
||||
warnHoleEnumConv = "HoleEnumConv", warnCstringConv = "CStringConv",
|
||||
warnPtrToCstringConv = "PtrToCstringConv", warnEffect = "Effect",
|
||||
warnCastSizes = "CastSizes",
|
||||
warnImplicitTemplateRedefinition = "ImplicitTemplateRedefinition",
|
||||
warnUnnamedBreak = "UnnamedBreak", warnStmtListLambda = "StmtListLambda",
|
||||
warnBareExcept = "BareExcept", warnUser = "User", hintSuccess = "Success",
|
||||
hintSuccessX = "SuccessX", hintCC = "CC", hintLineTooLong = "LineTooLong",
|
||||
hintXDeclaredButNotUsed = "XDeclaredButNotUsed",
|
||||
hintDuplicateModuleImport = "DuplicateModuleImport",
|
||||
hintXCannotRaiseY = "XCannotRaiseY",
|
||||
hintConvToBaseNotNeeded = "ConvToBaseNotNeeded",
|
||||
hintConvFromXtoItselfNotNeeded = "ConvFromXtoItselfNotNeeded",
|
||||
hintExprAlwaysX = "ExprAlwaysX", hintQuitCalled = "QuitCalled",
|
||||
hintProcessing = "Processing", hintProcessingStmt = "ProcessingStmt",
|
||||
hintCodeBegin = "CodeBegin", hintCodeEnd = "CodeEnd", hintConf = "Conf",
|
||||
hintPath = "Path", hintConditionAlwaysTrue = "CondTrue",
|
||||
hintConditionAlwaysFalse = "CondFalse", hintName = "Name",
|
||||
hintPattern = "Pattern", hintExecuting = "Exec", hintLinking = "Link",
|
||||
hintDependency = "Dependency", hintSource = "Source",
|
||||
hintPerformance = "Performance", hintStackTrace = "StackTrace",
|
||||
hintGCStats = "GCStats", hintGlobalVar = "GlobalVar",
|
||||
hintExpandMacro = "ExpandMacro", hintAmbiguousEnum = "AmbiguousEnum",
|
||||
hintUser = "User", hintUserRaw = "UserRaw",
|
||||
hintExtendedContext = "ExtendedContext", hintMsgOrigin = "MsgOrigin",
|
||||
hintDeclaredLoc = "DeclaredLoc"">TMsgKind</a></li>
|
||||
<li><a class="reference" href="#TNoteKind" title="TNoteKind = range[warnMin .. hintMax]">TNoteKind</a></li>
|
||||
<li><a class="reference" href="#TNoteKinds" title="TNoteKinds = set[TNoteKind]">TNoteKinds</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="#commandLineIdx" title="commandLineIdx = -3'i32">commandLineIdx</a></li>
|
||||
<li><a class="reference" href="#errArgsNeedRunOption" title="errArgsNeedRunOption = "arguments can only be given if the \'--run\' option is selected"">errArgsNeedRunOption</a></li>
|
||||
<li><a class="reference" href="#errMax" title="errMax = errUser">errMax</a></li>
|
||||
<li><a class="reference" href="#errMin" title="errMin = errUnknown">errMin</a></li>
|
||||
<li><a class="reference" href="#errXMustBeCompileTime" title="errXMustBeCompileTime = "\'$1\' can only be used in compile-time context"">errXMustBeCompileTime</a></li>
|
||||
<li><a class="reference" href="#explanationsBaseUrl" title="explanationsBaseUrl = "https://nim-lang.github.io/Nim"">explanationsBaseUrl</a></li>
|
||||
<li><a class="reference" href="#fatalMsgs" title="fatalMsgs = {errUnknown..errInternal}">fatalMsgs</a></li>
|
||||
<li><a class="reference" href="#hintMax" title="hintMax = hintDeclaredLoc">hintMax</a></li>
|
||||
<li><a class="reference" href="#hintMin" title="hintMin = hintSuccess">hintMin</a></li>
|
||||
<li><a class="reference" href="#InvalidFileIdx" title="InvalidFileIdx = -1'i32">InvalidFileIdx</a></li>
|
||||
<li><a class="reference" href="#MsgKindToStr" title="MsgKindToStr: array[TMsgKind, string] = ["unknown error", "fatal error: $1",
|
||||
"internal error: $1", "illformed AST: $1", "cannot open \'$1\'",
|
||||
"\'$1\' expected", "$1", "grid table is not implemented",
|
||||
"illformed delimiter row of a markdown table", "Illformed table: $1",
|
||||
"new section expected $1", "general parse error",
|
||||
"invalid directive: \'$1\'", "invalid field: $1",
|
||||
"number of footnotes and their references don\'t match: $1",
|
||||
"disabled directive: \'$1\'", "Cannot prove that \'$1\' is initialized.",
|
||||
"$1", "$1", "cannot open \'$1\'",
|
||||
"octal escape sequences do not exist; leading zero is ignored",
|
||||
"\'$1\' is never read", "\'$1\' might not have been initialized", "$1",
|
||||
"config file \'$1\' is deprecated", "$1",
|
||||
"\'l\' should not be used as an identifier; may look like \'1\' (one)",
|
||||
"unknown magic \'$1\' might crash the compiler",
|
||||
"redefinition of label \'$1\'", "unknown substitution \'$1\'",
|
||||
"ambiguous doc link $1", "broken link \'$1\'",
|
||||
"language \'$1\' not supported", "field \'$1\' not supported",
|
||||
"importdoc for \'$1\' is not used", "RST style: $1",
|
||||
"comment \'$1\' ignored", "",
|
||||
"use {.base.} for base methods; baseless methods are deprecated",
|
||||
"write to foreign heap", "unsafe code: \'$1\'",
|
||||
"imported and not used: \'$1\'", "inherit from a more precise exception type like ValueError, IOError or OSError. If these don\'t suit, inherit from CatchableError or Defect.",
|
||||
"each identifier is a tuple", "setLen can potentially expand the sequence, but the element type \'$1\' doesn\'t have a valid default value",
|
||||
"The \'$1\' type doesn\'t have a valid default value", "Cannot prove that \'$1\' is initialized. This will become a compile time error in the future.",
|
||||
"cannot prove that field \'$1\' is accessible",
|
||||
"cannot prove index \'$1\' is valid",
|
||||
"unreachable else, all cases are already covered",
|
||||
"unreachable code after \'return\' statement or \'{.noReturn.}\' proc",
|
||||
"$1", "not GC-safe: \'$1\'", "$1",
|
||||
"use explicit initialization of \'$1\' for clarity",
|
||||
"\'$1\' uses GC\'ed memory", "usage of a type with a destructor in a non destructible context. This will become a compile time error in the future.",
|
||||
"$1", "Special variable \'result\' is shadowed.",
|
||||
"Number of spaces around \'$#\' is not consistent",
|
||||
"Potential object case transition, instantiate new object instead", "$1",
|
||||
"observable stores to \'$1\'", "$1", "used \'result\' variable",
|
||||
"cannot open: $1", "file changed: $1", "$1", "$1", "$1", "$1", "unsafe conversion to \'cstring\' from \'$1\'; this will become a compile time error in the future",
|
||||
"$1", "$1", "template \'$1\' is implicitly redefined; this is deprecated, add an explicit .redefine pragma", "Using an unnamed break in a block is deprecated; Use a named block with a named break instead", "statement list expression assumed to be anonymous proc; this is deprecated, use `do (): ...` or `proc () = ...` instead",
|
||||
"$1", "$1", "operation successful: $#",
|
||||
"$build\n$loc lines; ${sec}s; $mem; proj: $project; out: $output", "CC: $1",
|
||||
"line too long", "\'$1\' is declared but not used", "$1", "$1",
|
||||
"conversion to base object is not needed",
|
||||
"conversion from $1 to itself is pointless",
|
||||
"expression evaluates always to \'$1\'", "quit() called", "$1", "$1",
|
||||
"generated code listing:", "end of listing", "used config file \'$1\'",
|
||||
"added path: \'$1\'", "condition is always true: \'$1\'",
|
||||
"condition is always false: \'$1\'", "$1", "$1", "$1", "$1", "$1", "$1",
|
||||
"$1", "$1", "$1", "global variable declared here", "expanded macro: $1",
|
||||
"$1", "$1", "$1", "$1", "$1", "$1"]">MsgKindToStr</a></li>
|
||||
<li><a class="reference" href="#NotesVerbosity" title="NotesVerbosity = [{warnCannotOpenFile..warnProveInit,
|
||||
warnUnreachableElse..warnStaticIndexCheck,
|
||||
warnGcUnsafe2..warnCycleCreated, warnStrictNotNil,
|
||||
warnCannotOpen..warnSuspiciousEnumConv,
|
||||
warnHoleEnumConv..warnUser, hintLineTooLong..hintQuitCalled,
|
||||
hintConditionAlwaysTrue..hintName,
|
||||
hintExpandMacro..hintUserRaw}, {
|
||||
warnCannotOpenFile..warnProveInit,
|
||||
warnUnreachableElse..warnStaticIndexCheck, warnGcUnsafe2..warnCycleCreated,
|
||||
warnStrictNotNil, warnCannotOpen..warnSuspiciousEnumConv,
|
||||
warnHoleEnumConv..hintProcessing, hintConf,
|
||||
hintConditionAlwaysTrue..hintLinking, hintExpandMacro..hintUserRaw}, {
|
||||
warnCannotOpenFile..warnCycleCreated, warnStrictNotNil,
|
||||
warnCannotOpen..warnSuspiciousEnumConv, warnHoleEnumConv..hintProcessing,
|
||||
hintCodeBegin..hintPerformance, hintGCStats..hintUserRaw, hintMsgOrigin},
|
||||
{19..61, warnStrictNotNil, 65..67, 69..114}]">NotesVerbosity</a></li>
|
||||
<li><a class="reference" href="#rstWarnings" title="rstWarnings = {warnRstRedefinitionOfLabel..warnRstStyle}">rstWarnings</a></li>
|
||||
<li><a class="reference" href="#trackPosInvalidFileIdx" title="trackPosInvalidFileIdx = -2'i32">trackPosInvalidFileIdx</a></li>
|
||||
<li><a class="reference" href="#unknownLineInfo" title="unknownLineInfo = (line: 0'u, col: -1, fileIndex: -1)">unknownLineInfo</a></li>
|
||||
<li><a class="reference" href="#warnMax" title="warnMax = warnUser">warnMax</a></li>
|
||||
<li><a class="reference" href="#warnMin" title="warnMin = warnCannotOpenFile">warnMin</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%2CFileIndex%2CFileIndex" title="`==`(a, b: FileIndex): bool">`==`(a, b: FileIndex): bool</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">createDocLink
|
||||
<li><a class="reference" href="#createDocLink%2Cstring" title="createDocLink(urlSuffix: string): string">createDocLink(urlSuffix: string): string</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">hash
|
||||
<li><a class="reference" href="#hash%2CTLineInfo" title="hash(i: TLineInfo): Hash">hash(i: TLineInfo): Hash</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">initMsgConfig
|
||||
<li><a class="reference" href="#initMsgConfig" title="initMsgConfig(): MsgConfig">initMsgConfig(): MsgConfig</a></li>
|
||||
|
||||
</ul>
|
||||
<ul class="simple nested-toc-section">raiseRecoverableError
|
||||
<li><a class="reference" href="#raiseRecoverableError%2Cstring" title="raiseRecoverableError(msg: string)">raiseRecoverableError(msg: 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/lineinfos.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc">This module contains the <tt class="docutils literal"><span class="pre">TMsgKind</span></tt> enum as well as the <tt class="docutils literal"><span class="pre">TLineInfo</span></tt> object.</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="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="ERecoverableError">
|
||||
<dt><pre><a href="lineinfos.html#ERecoverableError"><span class="Identifier">ERecoverableError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <span class="Identifier">ValueError</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L301" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L301" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="ESuggestDone">
|
||||
<dt><pre><a href="lineinfos.html#ESuggestDone"><span class="Identifier">ESuggestDone</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <span class="Identifier">ValueError</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L302" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L302" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="FileIndex">
|
||||
<dt><pre><a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">int32</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L281" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L281" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="MsgConfig">
|
||||
<dt><pre><a href="lineinfos.html#MsgConfig"><span class="Identifier">MsgConfig</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">trackPos</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a>
|
||||
<span class="Identifier">trackPosAttached</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span> <span class="Comment">## whether the tracking position was attached to</span>
|
||||
<span class="Comment">## some close token.</span>
|
||||
<span class="Identifier">errorOutputs</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TErrorOutputs"><span class="Identifier">TErrorOutputs</span></a>
|
||||
<span class="Identifier">msgContext</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">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">,</span> <span class="Identifier">detail</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">]</span><span class="Other">]</span>
|
||||
<span class="Identifier">lastError</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a>
|
||||
<span class="Identifier">filenameToIndexTbl</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> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">]</span>
|
||||
<span class="Identifier">fileInfos</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="lineinfos.html#TFileInfo"><span class="Identifier">TFileInfo</span></a><span class="Other">]</span>
|
||||
<span class="Identifier">systemFileIdx</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a>
|
||||
</pre></dt>
|
||||
<dd>
|
||||
|
||||
does not need to be stored in the incremental cache
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L326" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L326" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="Severity">
|
||||
<dt><pre><a href="lineinfos.html#Severity"><span class="Identifier">Severity</span></a> {.<span class="Identifier">pure</span>.} <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">Hint</span><span class="Other">,</span> <span class="Identifier">Warning</span><span class="Other">,</span> <span class="Identifier">Error</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
VS Code only supports these three
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L317" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L317" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TErrorOutput">
|
||||
<dt><pre><a href="lineinfos.html#TErrorOutput"><span class="Identifier">TErrorOutput</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">eStdOut</span><span class="Other">,</span> <span class="Identifier">eStdErr</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L295" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L295" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TErrorOutputs">
|
||||
<dt><pre><a href="lineinfos.html#TErrorOutputs"><span class="Identifier">TErrorOutputs</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="lineinfos.html#TErrorOutput"><span class="Identifier">TErrorOutput</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L299" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L299" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TFileInfo">
|
||||
<dt><pre><a href="lineinfos.html#TFileInfo"><span class="Identifier">TFileInfo</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">fullPath</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a>
|
||||
<span class="Identifier">projPath</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#RelativeFile"><span class="Identifier">RelativeFile</span></a>
|
||||
<span class="Identifier">shortName</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
||||
<span class="Identifier">quotedName</span><span class="Operator">*</span><span class="Other">:</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a>
|
||||
<span class="Identifier">quotedFullName</span><span class="Operator">*</span><span class="Other">:</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a>
|
||||
<span class="Identifier">lines</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="Identifier">dirtyFile</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a>
|
||||
<span class="Identifier">hash</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
||||
<span class="Identifier">dirty</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/lineinfos.nim#L261" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L261" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TLineInfo">
|
||||
<dt><pre><a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
||||
<span class="Identifier">line</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">uint16</span>
|
||||
<span class="Identifier">col</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int16</span>
|
||||
<span class="Identifier">fileIndex</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a>
|
||||
</pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L282" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L282" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TMsgKind">
|
||||
<dt><pre><a href="lineinfos.html#TMsgKind"><span class="Identifier">TMsgKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
||||
<span class="Identifier">errUnknown</span><span class="Other">,</span> <span class="Identifier">errFatal</span><span class="Other">,</span> <span class="Identifier">errInternal</span><span class="Other">,</span> <span class="Identifier">errIllFormedAstX</span><span class="Other">,</span> <span class="Identifier">errCannotOpenFile</span><span class="Other">,</span>
|
||||
<span class="Identifier">errXExpected</span><span class="Other">,</span> <span class="Identifier">errRstMissingClosing</span><span class="Other">,</span> <span class="Identifier">errRstGridTableNotImplemented</span><span class="Other">,</span>
|
||||
<span class="Identifier">errRstMarkdownIllformedTable</span><span class="Other">,</span> <span class="Identifier">errRstIllformedTable</span><span class="Other">,</span> <span class="Identifier">errRstNewSectionExpected</span><span class="Other">,</span>
|
||||
<span class="Identifier">errRstGeneralParseError</span><span class="Other">,</span> <span class="Identifier">errRstInvalidDirectiveX</span><span class="Other">,</span> <span class="Identifier">errRstInvalidField</span><span class="Other">,</span>
|
||||
<span class="Identifier">errRstFootnoteMismatch</span><span class="Other">,</span> <span class="Identifier">errRstSandboxedDirective</span><span class="Other">,</span> <span class="Identifier">errProveInit</span><span class="Other">,</span> <span class="Identifier">errGenerated</span><span class="Other">,</span>
|
||||
<span class="Identifier">errUser</span><span class="Other">,</span> <span class="Identifier">warnCannotOpenFile</span> <span class="Other">=</span> <span class="StringLit">"CannotOpenFile"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnOctalEscape</span> <span class="Other">=</span> <span class="StringLit">"OctalEscape"</span><span class="Other">,</span> <span class="Identifier">warnXIsNeverRead</span> <span class="Other">=</span> <span class="StringLit">"XIsNeverRead"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnXmightNotBeenInit</span> <span class="Other">=</span> <span class="StringLit">"XmightNotBeenInit"</span><span class="Other">,</span> <span class="Identifier">warnDeprecated</span> <span class="Other">=</span> <span class="StringLit">"Deprecated"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnConfigDeprecated</span> <span class="Other">=</span> <span class="StringLit">"ConfigDeprecated"</span><span class="Other">,</span> <span class="Identifier">warnDotLikeOps</span> <span class="Other">=</span> <span class="StringLit">"DotLikeOps"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnSmallLshouldNotBeUsed</span> <span class="Other">=</span> <span class="StringLit">"SmallLshouldNotBeUsed"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnUnknownMagic</span> <span class="Other">=</span> <span class="StringLit">"UnknownMagic"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnRstRedefinitionOfLabel</span> <span class="Other">=</span> <span class="StringLit">"RedefinitionOfLabel"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnRstUnknownSubstitutionX</span> <span class="Other">=</span> <span class="StringLit">"UnknownSubstitutionX"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnRstAmbiguousLink</span> <span class="Other">=</span> <span class="StringLit">"AmbiguousLink"</span><span class="Other">,</span> <span class="Identifier">warnRstBrokenLink</span> <span class="Other">=</span> <span class="StringLit">"BrokenLink"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnRstLanguageXNotSupported</span> <span class="Other">=</span> <span class="StringLit">"LanguageXNotSupported"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnRstFieldXNotSupported</span> <span class="Other">=</span> <span class="StringLit">"FieldXNotSupported"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnRstUnusedImportdoc</span> <span class="Other">=</span> <span class="StringLit">"UnusedImportdoc"</span><span class="Other">,</span> <span class="Identifier">warnRstStyle</span> <span class="Other">=</span> <span class="StringLit">"warnRstStyle"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnCommentXIgnored</span> <span class="Other">=</span> <span class="StringLit">"CommentXIgnored"</span><span class="Other">,</span> <span class="Identifier">warnTypelessParam</span> <span class="Other">=</span> <span class="StringLit">"TypelessParam"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnUseBase</span> <span class="Other">=</span> <span class="StringLit">"UseBase"</span><span class="Other">,</span> <span class="Identifier">warnWriteToForeignHeap</span> <span class="Other">=</span> <span class="StringLit">"WriteToForeignHeap"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnUnsafeCode</span> <span class="Other">=</span> <span class="StringLit">"UnsafeCode"</span><span class="Other">,</span> <span class="Identifier">warnUnusedImportX</span> <span class="Other">=</span> <span class="StringLit">"UnusedImport"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnInheritFromException</span> <span class="Other">=</span> <span class="StringLit">"InheritFromException"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnEachIdentIsTuple</span> <span class="Other">=</span> <span class="StringLit">"EachIdentIsTuple"</span><span class="Other">,</span> <span class="Identifier">warnUnsafeSetLen</span> <span class="Other">=</span> <span class="StringLit">"UnsafeSetLen"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnUnsafeDefault</span> <span class="Other">=</span> <span class="StringLit">"UnsafeDefault"</span><span class="Other">,</span> <span class="Identifier">warnProveInit</span> <span class="Other">=</span> <span class="StringLit">"ProveInit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnProveField</span> <span class="Other">=</span> <span class="StringLit">"ProveField"</span><span class="Other">,</span> <span class="Identifier">warnProveIndex</span> <span class="Other">=</span> <span class="StringLit">"ProveIndex"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnUnreachableElse</span> <span class="Other">=</span> <span class="StringLit">"UnreachableElse"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnUnreachableCode</span> <span class="Other">=</span> <span class="StringLit">"UnreachableCode"</span><span class="Other">,</span> <span class="Identifier">warnStaticIndexCheck</span> <span class="Other">=</span> <span class="StringLit">"IndexCheck"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnGcUnsafe</span> <span class="Other">=</span> <span class="StringLit">"GcUnsafe"</span><span class="Other">,</span> <span class="Identifier">warnGcUnsafe2</span> <span class="Other">=</span> <span class="StringLit">"GcUnsafe2"</span><span class="Other">,</span> <span class="Identifier">warnUninit</span> <span class="Other">=</span> <span class="StringLit">"Uninit"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnGcMem</span> <span class="Other">=</span> <span class="StringLit">"GcMem"</span><span class="Other">,</span> <span class="Identifier">warnDestructor</span> <span class="Other">=</span> <span class="StringLit">"Destructor"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnLockLevel</span> <span class="Other">=</span> <span class="StringLit">"LockLevel"</span><span class="Other">,</span> <span class="Identifier">warnResultShadowed</span> <span class="Other">=</span> <span class="StringLit">"ResultShadowed"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnInconsistentSpacing</span> <span class="Other">=</span> <span class="StringLit">"Spacing"</span><span class="Other">,</span> <span class="Identifier">warnCaseTransition</span> <span class="Other">=</span> <span class="StringLit">"CaseTransition"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnCycleCreated</span> <span class="Other">=</span> <span class="StringLit">"CycleCreated"</span><span class="Other">,</span> <span class="Identifier">warnObservableStores</span> <span class="Other">=</span> <span class="StringLit">"ObservableStores"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnStrictNotNil</span> <span class="Other">=</span> <span class="StringLit">"StrictNotNil"</span><span class="Other">,</span> <span class="Identifier">warnResultUsed</span> <span class="Other">=</span> <span class="StringLit">"ResultUsed"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnCannotOpen</span> <span class="Other">=</span> <span class="StringLit">"CannotOpen"</span><span class="Other">,</span> <span class="Identifier">warnFileChanged</span> <span class="Other">=</span> <span class="StringLit">"FileChanged"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnSuspiciousEnumConv</span> <span class="Other">=</span> <span class="StringLit">"EnumConv"</span><span class="Other">,</span> <span class="Identifier">warnAnyEnumConv</span> <span class="Other">=</span> <span class="StringLit">"AnyEnumConv"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnHoleEnumConv</span> <span class="Other">=</span> <span class="StringLit">"HoleEnumConv"</span><span class="Other">,</span> <span class="Identifier">warnCstringConv</span> <span class="Other">=</span> <span class="StringLit">"CStringConv"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnPtrToCstringConv</span> <span class="Other">=</span> <span class="StringLit">"PtrToCstringConv"</span><span class="Other">,</span> <span class="Identifier">warnEffect</span> <span class="Other">=</span> <span class="StringLit">"Effect"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnCastSizes</span> <span class="Other">=</span> <span class="StringLit">"CastSizes"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnImplicitTemplateRedefinition</span> <span class="Other">=</span> <span class="StringLit">"ImplicitTemplateRedefinition"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnUnnamedBreak</span> <span class="Other">=</span> <span class="StringLit">"UnnamedBreak"</span><span class="Other">,</span> <span class="Identifier">warnStmtListLambda</span> <span class="Other">=</span> <span class="StringLit">"StmtListLambda"</span><span class="Other">,</span>
|
||||
<span class="Identifier">warnBareExcept</span> <span class="Other">=</span> <span class="StringLit">"BareExcept"</span><span class="Other">,</span> <span class="Identifier">warnUser</span> <span class="Other">=</span> <span class="StringLit">"User"</span><span class="Other">,</span> <span class="Identifier">hintSuccess</span> <span class="Other">=</span> <span class="StringLit">"Success"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintSuccessX</span> <span class="Other">=</span> <span class="StringLit">"SuccessX"</span><span class="Other">,</span> <span class="Identifier">hintCC</span> <span class="Other">=</span> <span class="StringLit">"CC"</span><span class="Other">,</span> <span class="Identifier">hintLineTooLong</span> <span class="Other">=</span> <span class="StringLit">"LineTooLong"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintXDeclaredButNotUsed</span> <span class="Other">=</span> <span class="StringLit">"XDeclaredButNotUsed"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintDuplicateModuleImport</span> <span class="Other">=</span> <span class="StringLit">"DuplicateModuleImport"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintXCannotRaiseY</span> <span class="Other">=</span> <span class="StringLit">"XCannotRaiseY"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintConvToBaseNotNeeded</span> <span class="Other">=</span> <span class="StringLit">"ConvToBaseNotNeeded"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintConvFromXtoItselfNotNeeded</span> <span class="Other">=</span> <span class="StringLit">"ConvFromXtoItselfNotNeeded"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintExprAlwaysX</span> <span class="Other">=</span> <span class="StringLit">"ExprAlwaysX"</span><span class="Other">,</span> <span class="Identifier">hintQuitCalled</span> <span class="Other">=</span> <span class="StringLit">"QuitCalled"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintProcessing</span> <span class="Other">=</span> <span class="StringLit">"Processing"</span><span class="Other">,</span> <span class="Identifier">hintProcessingStmt</span> <span class="Other">=</span> <span class="StringLit">"ProcessingStmt"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintCodeBegin</span> <span class="Other">=</span> <span class="StringLit">"CodeBegin"</span><span class="Other">,</span> <span class="Identifier">hintCodeEnd</span> <span class="Other">=</span> <span class="StringLit">"CodeEnd"</span><span class="Other">,</span> <span class="Identifier">hintConf</span> <span class="Other">=</span> <span class="StringLit">"Conf"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintPath</span> <span class="Other">=</span> <span class="StringLit">"Path"</span><span class="Other">,</span> <span class="Identifier">hintConditionAlwaysTrue</span> <span class="Other">=</span> <span class="StringLit">"CondTrue"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintConditionAlwaysFalse</span> <span class="Other">=</span> <span class="StringLit">"CondFalse"</span><span class="Other">,</span> <span class="Identifier">hintName</span> <span class="Other">=</span> <span class="StringLit">"Name"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintPattern</span> <span class="Other">=</span> <span class="StringLit">"Pattern"</span><span class="Other">,</span> <span class="Identifier">hintExecuting</span> <span class="Other">=</span> <span class="StringLit">"Exec"</span><span class="Other">,</span> <span class="Identifier">hintLinking</span> <span class="Other">=</span> <span class="StringLit">"Link"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintDependency</span> <span class="Other">=</span> <span class="StringLit">"Dependency"</span><span class="Other">,</span> <span class="Identifier">hintSource</span> <span class="Other">=</span> <span class="StringLit">"Source"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintPerformance</span> <span class="Other">=</span> <span class="StringLit">"Performance"</span><span class="Other">,</span> <span class="Identifier">hintStackTrace</span> <span class="Other">=</span> <span class="StringLit">"StackTrace"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintGCStats</span> <span class="Other">=</span> <span class="StringLit">"GCStats"</span><span class="Other">,</span> <span class="Identifier">hintGlobalVar</span> <span class="Other">=</span> <span class="StringLit">"GlobalVar"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintExpandMacro</span> <span class="Other">=</span> <span class="StringLit">"ExpandMacro"</span><span class="Other">,</span> <span class="Identifier">hintAmbiguousEnum</span> <span class="Other">=</span> <span class="StringLit">"AmbiguousEnum"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintUser</span> <span class="Other">=</span> <span class="StringLit">"User"</span><span class="Other">,</span> <span class="Identifier">hintUserRaw</span> <span class="Other">=</span> <span class="StringLit">"UserRaw"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintExtendedContext</span> <span class="Other">=</span> <span class="StringLit">"ExtendedContext"</span><span class="Other">,</span> <span class="Identifier">hintMsgOrigin</span> <span class="Other">=</span> <span class="StringLit">"MsgOrigin"</span><span class="Other">,</span>
|
||||
<span class="Identifier">hintDeclaredLoc</span> <span class="Other">=</span> <span class="StringLit">"DeclaredLoc"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L29" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L29" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TNoteKind">
|
||||
<dt><pre><a href="lineinfos.html#TNoteKind"><span class="Identifier">TNoteKind</span></a> <span class="Other">=</span> <span class="Identifier">range</span><span class="Other">[</span><span class="Identifier">warnMin</span> <span class="Operator">..</span> <span class="Identifier">hintMax</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L243" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L243" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="TNoteKinds">
|
||||
<dt><pre><a href="lineinfos.html#TNoteKinds"><span class="Identifier">TNoteKinds</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="lineinfos.html#TNoteKind"><span class="Identifier">TNoteKind</span></a><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L244" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L244" 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="commandLineIdx">
|
||||
<dt><pre><a href="lineinfos.html#commandLineIdx"><span class="Identifier">commandLineIdx</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/lineinfos.nim#L323" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L323" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="errArgsNeedRunOption">
|
||||
<dt><pre><a href="lineinfos.html#errArgsNeedRunOption"><span class="Identifier">errArgsNeedRunOption</span></a> <span class="Other">=</span> <span class="StringLit">"arguments can only be given if the \'--run\' option is selected"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L258" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L258" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="errMax">
|
||||
<dt><pre><a href="lineinfos.html#errMax"><span class="Identifier">errMax</span></a> <span class="Other">=</span> <span class="DecNumber">errUser</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L235" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L235" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="errMin">
|
||||
<dt><pre><a href="lineinfos.html#errMin"><span class="Identifier">errMin</span></a> <span class="Other">=</span> <span class="DecNumber">errUnknown</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L234" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L234" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="errXMustBeCompileTime">
|
||||
<dt><pre><a href="lineinfos.html#errXMustBeCompileTime"><span class="Identifier">errXMustBeCompileTime</span></a> <span class="Other">=</span> <span class="StringLit">"\'$1\' can only be used in compile-time context"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L257" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L257" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="explanationsBaseUrl">
|
||||
<dt><pre><a href="lineinfos.html#explanationsBaseUrl"><span class="Identifier">explanationsBaseUrl</span></a> <span class="Other">=</span> <span class="StringLit">"https://nim-lang.github.io/Nim"</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L16" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L16" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="fatalMsgs">
|
||||
<dt><pre><a href="lineinfos.html#fatalMsgs"><span class="Identifier">fatalMsgs</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">errUnknown</span><span class="Other">..</span><span class="DecNumber">errInternal</span><span class="Other">}</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L233" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L233" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="hintMax">
|
||||
<dt><pre><a href="lineinfos.html#hintMax"><span class="Identifier">hintMax</span></a> <span class="Other">=</span> <span class="DecNumber">hintDeclaredLoc</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L239" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L239" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="hintMin">
|
||||
<dt><pre><a href="lineinfos.html#hintMin"><span class="Identifier">hintMin</span></a> <span class="Other">=</span> <span class="DecNumber">hintSuccess</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L238" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L238" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="InvalidFileIdx">
|
||||
<dt><pre><a href="lineinfos.html#InvalidFileIdx"><span class="Identifier">InvalidFileIdx</span></a> <span class="Other">=</span> <span class="DecNumber">-1'i32</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L313" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L313" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="MsgKindToStr">
|
||||
<dt><pre><a href="lineinfos.html#MsgKindToStr"><span class="Identifier">MsgKindToStr</span></a><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="Identifier">TMsgKind</span><span class="Other">,</span> <span class="Identifier">string</span><span class="Other">]</span> <span class="Other">=</span> <span class="Other">[</span><span class="StringLit">"unknown error"</span><span class="Other">,</span> <span class="StringLit">"fatal error: $1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"internal error: $1"</span><span class="Other">,</span> <span class="StringLit">"illformed AST: $1"</span><span class="Other">,</span> <span class="StringLit">"cannot open \'$1\'"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"\'$1\' expected"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"grid table is not implemented"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"illformed delimiter row of a markdown table"</span><span class="Other">,</span> <span class="StringLit">"Illformed table: $1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"new section expected $1"</span><span class="Other">,</span> <span class="StringLit">"general parse error"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"invalid directive: \'$1\'"</span><span class="Other">,</span> <span class="StringLit">"invalid field: $1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"number of footnotes and their references don\'t match: $1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"disabled directive: \'$1\'"</span><span class="Other">,</span> <span class="StringLit">"Cannot prove that \'$1\' is initialized."</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"cannot open \'$1\'"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"octal escape sequences do not exist; leading zero is ignored"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"\'$1\' is never read"</span><span class="Other">,</span> <span class="StringLit">"\'$1\' might not have been initialized"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"config file \'$1\' is deprecated"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"\'l\' should not be used as an identifier; may look like \'1\' (one)"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"unknown magic \'$1\' might crash the compiler"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"redefinition of label \'$1\'"</span><span class="Other">,</span> <span class="StringLit">"unknown substitution \'$1\'"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"ambiguous doc link $1"</span><span class="Other">,</span> <span class="StringLit">"broken link \'$1\'"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"language \'$1\' not supported"</span><span class="Other">,</span> <span class="StringLit">"field \'$1\' not supported"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"importdoc for \'$1\' is not used"</span><span class="Other">,</span> <span class="StringLit">"RST style: $1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"comment \'$1\' ignored"</span><span class="Other">,</span> <span class="StringLit">""</span><span class="Other">,</span>
|
||||
<span class="StringLit">"use {.base.} for base methods; baseless methods are deprecated"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"write to foreign heap"</span><span class="Other">,</span> <span class="StringLit">"unsafe code: \'$1\'"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"imported and not used: \'$1\'"</span><span class="Other">,</span> <span class="StringLit">"inherit from a more precise exception type like ValueError, IOError or OSError. If these don\'t suit, inherit from CatchableError or Defect."</span><span class="Other">,</span>
|
||||
<span class="StringLit">"each identifier is a tuple"</span><span class="Other">,</span> <span class="StringLit">"setLen can potentially expand the sequence, but the element type \'$1\' doesn\'t have a valid default value"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"The \'$1\' type doesn\'t have a valid default value"</span><span class="Other">,</span> <span class="StringLit">"Cannot prove that \'$1\' is initialized. This will become a compile time error in the future."</span><span class="Other">,</span>
|
||||
<span class="StringLit">"cannot prove that field \'$1\' is accessible"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"cannot prove index \'$1\' is valid"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"unreachable else, all cases are already covered"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"unreachable code after \'return\' statement or \'{.noReturn.}\' proc"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"not GC-safe: \'$1\'"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"use explicit initialization of \'$1\' for clarity"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"\'$1\' uses GC\'ed memory"</span><span class="Other">,</span> <span class="StringLit">"usage of a type with a destructor in a non destructible context. This will become a compile time error in the future."</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"Special variable \'result\' is shadowed."</span><span class="Other">,</span>
|
||||
<span class="StringLit">"Number of spaces around \'$#\' is not consistent"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"Potential object case transition, instantiate new object instead"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"observable stores to \'$1\'"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"used \'result\' variable"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"cannot open: $1"</span><span class="Other">,</span> <span class="StringLit">"file changed: $1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"unsafe conversion to \'cstring\' from \'$1\'; this will become a compile time error in the future"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"template \'$1\' is implicitly redefined; this is deprecated, add an explicit .redefine pragma"</span><span class="Other">,</span> <span class="StringLit">"Using an unnamed break in a block is deprecated; Use a named block with a named break instead"</span><span class="Other">,</span> <span class="StringLit">"statement list expression assumed to be anonymous proc; this is deprecated, use `do (): ...` or `proc () = ...` instead"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"operation successful: $#"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$build\n$loc lines; ${sec}s; $mem; proj: $project; out: $output"</span><span class="Other">,</span> <span class="StringLit">"CC: $1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"line too long"</span><span class="Other">,</span> <span class="StringLit">"\'$1\' is declared but not used"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"conversion to base object is not needed"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"conversion from $1 to itself is pointless"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"expression evaluates always to \'$1\'"</span><span class="Other">,</span> <span class="StringLit">"quit() called"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"generated code listing:"</span><span class="Other">,</span> <span class="StringLit">"end of listing"</span><span class="Other">,</span> <span class="StringLit">"used config file \'$1\'"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"added path: \'$1\'"</span><span class="Other">,</span> <span class="StringLit">"condition is always true: \'$1\'"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"condition is always false: \'$1\'"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"global variable declared here"</span><span class="Other">,</span> <span class="StringLit">"expanded macro: $1"</span><span class="Other">,</span>
|
||||
<span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">,</span> <span class="StringLit">"$1"</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L111" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L111" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="NotesVerbosity">
|
||||
<dt><pre><a href="lineinfos.html#NotesVerbosity"><span class="Identifier">NotesVerbosity</span></a> <span class="Other">=</span> <span class="Other">[</span><span class="Other">{</span><span class="DecNumber">warnCannotOpenFile</span><span class="Other">..</span><span class="DecNumber">warnProveInit</span><span class="Other">,</span>
|
||||
<span class="DecNumber">warnUnreachableElse</span><span class="Other">..</span><span class="DecNumber">warnStaticIndexCheck</span><span class="Other">,</span>
|
||||
<span class="DecNumber">warnGcUnsafe2</span><span class="Other">..</span><span class="DecNumber">warnCycleCreated</span><span class="Other">,</span> <span class="DecNumber">warnStrictNotNil</span><span class="Other">,</span>
|
||||
<span class="DecNumber">warnCannotOpen</span><span class="Other">..</span><span class="DecNumber">warnSuspiciousEnumConv</span><span class="Other">,</span>
|
||||
<span class="DecNumber">warnHoleEnumConv</span><span class="Other">..</span><span class="DecNumber">warnUser</span><span class="Other">,</span> <span class="DecNumber">hintLineTooLong</span><span class="Other">..</span><span class="DecNumber">hintQuitCalled</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hintConditionAlwaysTrue</span><span class="Other">..</span><span class="DecNumber">hintName</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hintExpandMacro</span><span class="Other">..</span><span class="DecNumber">hintUserRaw</span><span class="Other">}</span><span class="Other">,</span> <span class="Other">{</span>
|
||||
<span class="DecNumber">warnCannotOpenFile</span><span class="Other">..</span><span class="DecNumber">warnProveInit</span><span class="Other">,</span>
|
||||
<span class="DecNumber">warnUnreachableElse</span><span class="Other">..</span><span class="DecNumber">warnStaticIndexCheck</span><span class="Other">,</span> <span class="DecNumber">warnGcUnsafe2</span><span class="Other">..</span><span class="DecNumber">warnCycleCreated</span><span class="Other">,</span>
|
||||
<span class="DecNumber">warnStrictNotNil</span><span class="Other">,</span> <span class="DecNumber">warnCannotOpen</span><span class="Other">..</span><span class="DecNumber">warnSuspiciousEnumConv</span><span class="Other">,</span>
|
||||
<span class="DecNumber">warnHoleEnumConv</span><span class="Other">..</span><span class="DecNumber">hintProcessing</span><span class="Other">,</span> <span class="DecNumber">hintConf</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hintConditionAlwaysTrue</span><span class="Other">..</span><span class="DecNumber">hintLinking</span><span class="Other">,</span> <span class="DecNumber">hintExpandMacro</span><span class="Other">..</span><span class="DecNumber">hintUserRaw</span><span class="Other">}</span><span class="Other">,</span> <span class="Other">{</span>
|
||||
<span class="DecNumber">warnCannotOpenFile</span><span class="Other">..</span><span class="DecNumber">warnCycleCreated</span><span class="Other">,</span> <span class="DecNumber">warnStrictNotNil</span><span class="Other">,</span>
|
||||
<span class="DecNumber">warnCannotOpen</span><span class="Other">..</span><span class="DecNumber">warnSuspiciousEnumConv</span><span class="Other">,</span> <span class="DecNumber">warnHoleEnumConv</span><span class="Other">..</span><span class="DecNumber">hintProcessing</span><span class="Other">,</span>
|
||||
<span class="DecNumber">hintCodeBegin</span><span class="Other">..</span><span class="DecNumber">hintPerformance</span><span class="Other">,</span> <span class="DecNumber">hintGCStats</span><span class="Other">..</span><span class="DecNumber">hintUserRaw</span><span class="Other">,</span> <span class="DecNumber">hintMsgOrigin</span><span class="Other">}</span><span class="Other">,</span>
|
||||
<span class="Other">{</span><span class="DecNumber">19</span><span class="Other">..</span><span class="DecNumber">61</span><span class="Other">,</span> <span class="DecNumber">warnStrictNotNil</span><span class="Other">,</span> <span class="DecNumber">65</span><span class="Other">..</span><span class="DecNumber">67</span><span class="Other">,</span> <span class="DecNumber">69</span><span class="Other">..</span><span class="DecNumber">114</span><span class="Other">}</span><span class="Other">]</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L256" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L256" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="rstWarnings">
|
||||
<dt><pre><a href="lineinfos.html#rstWarnings"><span class="Identifier">rstWarnings</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">warnRstRedefinitionOfLabel</span><span class="Other">..</span><span class="DecNumber">warnRstStyle</span><span class="Other">}</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L240" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L240" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="trackPosInvalidFileIdx">
|
||||
<dt><pre><a href="lineinfos.html#trackPosInvalidFileIdx"><span class="Identifier">trackPosInvalidFileIdx</span></a> <span class="Other">=</span> <span class="DecNumber">-2'i32</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L321" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L321" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="unknownLineInfo">
|
||||
<dt><pre><a href="lineinfos.html#unknownLineInfo"><span class="Identifier">unknownLineInfo</span></a> <span class="Other">=</span> <span class="Other">(</span><span class="Identifier">line</span><span class="Other">:</span> <span class="DecNumber">0'u</span><span class="Other">,</span> <span class="Identifier">col</span><span class="Other">:</span> <span class="DecNumber">-1</span><span class="Other">,</span> <span class="Identifier">fileIndex</span><span class="Other">:</span> <span class="DecNumber">-1</span><span class="Other">)</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L314" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L314" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="warnMax">
|
||||
<dt><pre><a href="lineinfos.html#warnMax"><span class="Identifier">warnMax</span></a> <span class="Other">=</span> <span class="DecNumber">warnUser</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L237" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L237" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
<div id="warnMin">
|
||||
<dt><pre><a href="lineinfos.html#warnMin"><span class="Identifier">warnMin</span></a> <span class="Other">=</span> <span class="DecNumber">warnCannotOpenFile</span></pre></dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/lineinfos.nim#L236" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L236" 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="==,FileIndex,FileIndex">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CFileIndex%2CFileIndex"><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="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">borrow</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/lineinfos.nim#L304" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L304" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="createDocLink-procs-all">
|
||||
<div id="createDocLink,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#createDocLink%2Cstring"><span class="Identifier">createDocLink</span></a><span class="Other">(</span><span class="Identifier">urlSuffix</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/lineinfos.nim#L20" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L20" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="hash-procs-all">
|
||||
<div id="hash,TLineInfo">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#hash%2CTLineInfo"><span class="Identifier">hash</span></a><span class="Other">(</span><span class="Identifier">i</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">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/lineinfos.nim#L306" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L306" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="initMsgConfig-procs-all">
|
||||
<div id="initMsgConfig">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#initMsgConfig"><span class="Identifier">initMsgConfig</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="lineinfos.html#MsgConfig"><span class="Identifier">MsgConfig</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/lineinfos.nim#L339" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L339" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="raiseRecoverableError-procs-all">
|
||||
<div id="raiseRecoverableError,string">
|
||||
<dt><pre><span class="Keyword">proc</span> <a href="#raiseRecoverableError%2Cstring"><span class="Identifier">raiseRecoverableError</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="Identifier">noinline</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">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/lineinfos.nim#L309" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/lineinfos.nim#L309" 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: 2023-03-13 00:20:12 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
<!-- 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'/>
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue