Nim/compiler/ast.html
github-actions[bot] 2ef2c469d1 Deploy to GitHub pages
2023-03-13 00:20:19 +00:00

4747 lines
426 KiB
HTML

<?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/ast</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/ast</h1>
<div class="row">
<div class="three columns">
<div class="theme-select-wrapper">
<label for="theme-select">Theme:&nbsp;</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="#CompilesId" title="CompilesId = int">CompilesId</a></li>
<li><a class="reference" href="#IdGenerator" title="IdGenerator = ref object
module*: int32
symId*: int32
typeId*: int32
sealed*: bool">IdGenerator</a></li>
<li><a class="reference" href="#ItemId" title="ItemId = object
module*: int32
item*: int32">ItemId</a></li>
<li><a class="reference" href="#PIdObj" title="PIdObj = ref TIdObj">PIdObj</a></li>
<li><a class="reference" href="#PInstantiation" title="PInstantiation = ref TInstantiation">PInstantiation</a></li>
<li><a class="reference" href="#PLib" title="PLib = ref TLib">PLib</a></li>
<li><a class="reference" href="#PNode" title="PNode = ref TNode">PNode</a></li>
<li><a class="reference" href="#PScope" title="PScope = ref TScope">PScope</a></li>
<li><a class="reference" href="#PSym" title="PSym = ref TSym">PSym</a></li>
<li><a class="reference" href="#PType" title="PType = ref TType">PType</a></li>
<li><a class="reference" href="#TCallingConvention" title="TCallingConvention = enum
ccNimCall = &quot;nimcall&quot;, ccStdCall = &quot;stdcall&quot;, ccCDecl = &quot;cdecl&quot;,
ccSafeCall = &quot;safecall&quot;, ccSysCall = &quot;syscall&quot;, ccInline = &quot;inline&quot;,
ccNoInline = &quot;noinline&quot;, ccFastCall = &quot;fastcall&quot;, ccThisCall = &quot;thiscall&quot;,
ccClosure = &quot;closure&quot;, ccNoConvention = &quot;noconv&quot;">TCallingConvention</a></li>
<li><a class="reference" href="#TIdNodePair" title="TIdNodePair = object
key*: PIdObj
val*: PNode">TIdNodePair</a></li>
<li><a class="reference" href="#TIdNodePairSeq" title="TIdNodePairSeq = seq[TIdNodePair]">TIdNodePairSeq</a></li>
<li><a class="reference" href="#TIdNodeTable" title="TIdNodeTable = object
counter*: int
data*: TIdNodePairSeq">TIdNodeTable</a></li>
<li><a class="reference" href="#TIdObj" title="TIdObj {.acyclic.} = object of RootObj
itemId*: ItemId">TIdObj</a></li>
<li><a class="reference" href="#TIdPair" title="TIdPair = object
key*: PIdObj
val*: RootRef">TIdPair</a></li>
<li><a class="reference" href="#TIdPairSeq" title="TIdPairSeq = seq[TIdPair]">TIdPairSeq</a></li>
<li><a class="reference" href="#TIdTable" title="TIdTable = object
counter*: int
data*: TIdPairSeq">TIdTable</a></li>
<li><a class="reference" href="#TImplication" title="TImplication = enum
impUnknown, impNo, impYes">TImplication</a></li>
<li><a class="reference" href="#TInstantiation" title="TInstantiation = object
sym*: PSym
concreteTypes*: seq[PType]
compilesId*: CompilesId">TInstantiation</a></li>
<li><a class="reference" href="#TLib" title="TLib = object
kind*: TLibKind
generated*: bool
isOverriden*: bool
name*: Rope
path*: PNode">TLib</a></li>
<li><a class="reference" href="#TLibKind" title="TLibKind = enum
libHeader, libDynamic">TLibKind</a></li>
<li><a class="reference" href="#TLoc" title="TLoc = object
k*: TLocKind
storage*: TStorageLoc
flags*: TLocFlags
lode*: PNode
r*: Rope">TLoc</a></li>
<li><a class="reference" href="#TLocFlag" title="TLocFlag = enum
lfIndirect, lfFullExternalName, lfNoDeepCopy, lfNoDecl, lfDynamicLib,
lfExportLib, lfHeader, lfImportCompilerProc, lfSingleUse, lfEnforceDeref,
lfPrepareForMutation">TLocFlag</a></li>
<li><a class="reference" href="#TLocFlags" title="TLocFlags = set[TLocFlag]">TLocFlags</a></li>
<li><a class="reference" href="#TLocKind" title="TLocKind = enum
locNone, locTemp, locLocalVar, locGlobalVar, locParam, locField, locExpr,
locProc, locData, locCall, locOther">TLocKind</a></li>
<li><a class="reference" href="#TMagic" title="TMagic = enum
mNone, mDefined, mDeclared, mDeclaredInScope, mCompiles, mArrGet, mArrPut,
mAsgn, mLow, mHigh, mSizeOf, mAlignOf, mOffsetOf, mTypeTrait, mIs, mOf, mAddr,
mType, mTypeOf, mPlugin, mEcho, mShallowCopy, mSlurp, mStaticExec, mStatic,
mParseExprToAst, mParseStmtToAst, mExpandToAst, mQuoteAst, mInc, mDec, mOrd,
mNew, mNewFinalize, mNewSeq, mNewSeqOfCap, mLengthOpenArray, mLengthStr,
mLengthArray, mLengthSeq, mIncl, mExcl, mCard, mChr, mGCref, mGCunref, mAddI,
mSubI, mMulI, mDivI, mModI, mSucc, mPred, mAddF64, mSubF64, mMulF64, mDivF64,
mShrI, mShlI, mAshrI, mBitandI, mBitorI, mBitxorI, mMinI, mMaxI, mAddU, mSubU,
mMulU, mDivU, mModU, mEqI, mLeI, mLtI, mEqF64, mLeF64, mLtF64, mLeU, mLtU,
mEqEnum, mLeEnum, mLtEnum, mEqCh, mLeCh, mLtCh, mEqB, mLeB, mLtB, mEqRef,
mLePtr, mLtPtr, mXor, mEqCString, mEqProc, mUnaryMinusI, mUnaryMinusI64,
mAbsI, mNot, mUnaryPlusI, mBitnotI, mUnaryPlusF64, mUnaryMinusF64, mCharToStr,
mBoolToStr, mIntToStr, mInt64ToStr, mFloatToStr, mCStrToStr, mStrToStr,
mEnumToStr, mAnd, mOr, mImplies, mIff, mExists, mForall, mOld, mEqStr, mLeStr,
mLtStr, mEqSet, mLeSet, mLtSet, mMulSet, mPlusSet, mMinusSet, mConStrStr,
mSlice, mDotDot, mFields, mFieldPairs, mOmpParFor, mAppendStrCh,
mAppendStrStr, mAppendSeqElem, mInSet, mRepr, mExit, mSetLengthStr,
mSetLengthSeq, mIsPartOf, mAstToStr, mParallel, mSwap, mIsNil, mArrToSeq,
mOpenArrayToSeq, mNewString, mNewStringOfCap, mParseBiggestFloat, mMove,
mWasMoved, mDestroy, mTrace, mDefault, mUnown, mFinished, mIsolate,
mAccessEnv, mAccessTypeField, mReset, mArray, mOpenArray, mRange, mSet, mSeq,
mVarargs, mRef, mPtr, mVar, mDistinct, mVoid, mTuple, mOrdinal, mIterableType,
mInt, mInt8, mInt16, mInt32, mInt64, mUInt, mUInt8, mUInt16, mUInt32, mUInt64,
mFloat, mFloat32, mFloat64, mFloat128, mBool, mChar, mString, mCstring,
mPointer, mNil, mExpr, mStmt, mTypeDesc, mVoidType, mPNimrodNode, mSpawn,
mDeepCopy, mIsMainModule, mCompileDate, mCompileTime, mProcCall, mCpuEndian,
mHostOS, mHostCPU, mBuildOS, mBuildCPU, mAppType, mCompileOption,
mCompileOptionArg, mNLen, mNChild, mNSetChild, mNAdd, mNAddMultiple, mNDel,
mNKind, mNSymKind, mNccValue, mNccInc, mNcsAdd, mNcsIncl, mNcsLen, mNcsAt,
mNctPut, mNctLen, mNctGet, mNctHasNext, mNctNext, mNIntVal, mNFloatVal,
mNSymbol, mNIdent, mNGetType, mNStrVal, mNSetIntVal, mNSetFloatVal,
mNSetSymbol, mNSetIdent, mNSetStrVal, mNLineInfo, mNNewNimNode, mNCopyNimNode,
mNCopyNimTree, mStrToIdent, mNSigHash, mNSizeOf, mNBindSym, mNCallSite,
mEqIdent, mEqNimrodNode, mSameNodeType, mGetImpl, mNGenSym, mNHint, mNWarning,
mNError, mInstantiationInfo, mGetTypeInfo, mGetTypeInfoV2, mNimvm, mIntDefine,
mStrDefine, mBoolDefine, mGenericDefine, mRunnableExamples, mException,
mBuiltinType, mSymOwner, mUncheckedArray, mGetImplTransf,
mSymIsInstantiationOf, mNodeId, mPrivateAccess, mZeroDefault">TMagic</a></li>
<li><a class="reference" href="#TNode" title="TNode {.final, acyclic.} = object
typ*: PType
info*: TLineInfo
flags*: TNodeFlags">TNode</a></li>
<li><a class="reference" href="#TNodeFlag" title="TNodeFlag = enum
nfNone, nfBase2, nfBase8, nfBase16, nfAllConst, nfTransf, nfNoRewrite, nfSem,
nfLL, nfDotField, nfDotSetter, nfExplicitCall, nfExprCall, nfIsRef, nfIsPtr,
nfPreventCg, nfBlockArg, nfFromTemplate, nfDefaultParam, nfDefaultRefsParam,
nfExecuteOnReload, nfLastRead, nfFirstWrite, nfHasComment, nfUseDefaultField">TNodeFlag</a></li>
<li><a class="reference" href="#TNodeFlags" title="TNodeFlags = set[TNodeFlag]">TNodeFlags</a></li>
<li><a class="reference" href="#TNodeKind" title="TNodeKind = enum
nkNone, nkEmpty, nkIdent, nkSym, nkType, nkCharLit, nkIntLit, nkInt8Lit,
nkInt16Lit, nkInt32Lit, nkInt64Lit, nkUIntLit, nkUInt8Lit, nkUInt16Lit,
nkUInt32Lit, nkUInt64Lit, nkFloatLit, nkFloat32Lit, nkFloat64Lit,
nkFloat128Lit, nkStrLit, nkRStrLit, nkTripleStrLit, nkNilLit, nkComesFrom,
nkDotCall, nkCommand, nkCall, nkCallStrLit, nkInfix, nkPrefix, nkPostfix,
nkHiddenCallConv, nkExprEqExpr, nkExprColonExpr, nkIdentDefs, nkVarTuple,
nkPar, nkObjConstr, nkCurly, nkCurlyExpr, nkBracket, nkBracketExpr,
nkPragmaExpr, nkRange, nkDotExpr, nkCheckedFieldExpr, nkDerefExpr, nkIfExpr,
nkElifExpr, nkElseExpr, nkLambda, nkDo, nkAccQuoted, nkTableConstr, nkBind,
nkClosedSymChoice, nkOpenSymChoice, nkHiddenStdConv, nkHiddenSubConv, nkConv,
nkCast, nkStaticExpr, nkAddr, nkHiddenAddr, nkHiddenDeref, nkObjDownConv,
nkObjUpConv, nkChckRangeF, nkChckRange64, nkChckRange, nkStringToCString,
nkCStringToString, nkAsgn, nkFastAsgn, nkGenericParams, nkFormalParams,
nkOfInherit, nkImportAs, nkProcDef, nkMethodDef, nkConverterDef, nkMacroDef,
nkTemplateDef, nkIteratorDef, nkOfBranch, nkElifBranch, nkExceptBranch,
nkElse, nkAsmStmt, nkPragma, nkPragmaBlock, nkIfStmt, nkWhenStmt, nkForStmt,
nkParForStmt, nkWhileStmt, nkCaseStmt, nkTypeSection, nkVarSection,
nkLetSection, nkConstSection, nkConstDef, nkTypeDef, nkYieldStmt, nkDefer,
nkTryStmt, nkFinally, nkRaiseStmt, nkReturnStmt, nkBreakStmt, nkContinueStmt,
nkBlockStmt, nkStaticStmt, nkDiscardStmt, nkStmtList, nkImportStmt,
nkImportExceptStmt, nkExportStmt, nkExportExceptStmt, nkFromStmt,
nkIncludeStmt, nkBindStmt, nkMixinStmt, nkUsingStmt, nkCommentStmt,
nkStmtListExpr, nkBlockExpr, nkStmtListType, nkBlockType, nkWith, nkWithout,
nkTypeOfExpr, nkObjectTy, nkTupleTy, nkTupleClassTy, nkTypeClassTy,
nkStaticTy, nkRecList, nkRecCase, nkRecWhen, nkRefTy, nkPtrTy, nkVarTy,
nkConstTy, nkOutTy, nkDistinctTy, nkProcTy, nkIteratorTy, nkSinkAsgn,
nkEnumTy, nkEnumFieldDef, nkArgList, nkPattern, nkHiddenTryStmt, nkClosure,
nkGotoState, nkState, nkBreakState, nkFuncDef, nkTupleConstr, nkError,
nkModuleRef, nkReplayAction, nkNilRodNode">TNodeKind</a></li>
<li><a class="reference" href="#TNodeKinds" title="TNodeKinds = set[TNodeKind]">TNodeKinds</a></li>
<li><a class="reference" href="#TNodePair" title="TNodePair = object
h*: Hash
key*: PNode
val*: int">TNodePair</a></li>
<li><a class="reference" href="#TNodePairSeq" title="TNodePairSeq = seq[TNodePair]">TNodePairSeq</a></li>
<li><a class="reference" href="#TNodeSeq" title="TNodeSeq = seq[PNode]">TNodeSeq</a></li>
<li><a class="reference" href="#TNodeTable" title="TNodeTable = object
counter*: int
data*: TNodePairSeq">TNodeTable</a></li>
<li><a class="reference" href="#TObjectSeq" title="TObjectSeq = seq[RootRef]">TObjectSeq</a></li>
<li><a class="reference" href="#TObjectSet" title="TObjectSet = object
counter*: int
data*: TObjectSeq">TObjectSet</a></li>
<li><a class="reference" href="#TPair" title="TPair = object
key*, val*: RootRef">TPair</a></li>
<li><a class="reference" href="#TPairSeq" title="TPairSeq = seq[TPair]">TPairSeq</a></li>
<li><a class="reference" href="#TScope" title="TScope {.acyclic.} = object
depthLevel*: int
symbols*: TStrTable
parent*: PScope
allowPrivateAccess*: seq[PSym]">TScope</a></li>
<li><a class="reference" href="#TStorageLoc" title="TStorageLoc = enum
OnUnknown, OnStatic, OnStack, OnHeap">TStorageLoc</a></li>
<li><a class="reference" href="#TStrTable" title="TStrTable = object
counter*: int
data*: seq[PSym]">TStrTable</a></li>
<li><a class="reference" href="#TSym" title="TSym {.acyclic.} = object of TIdObj
magic*: TMagic
typ*: PType
name*: PIdent
info*: TLineInfo
owner*: PSym
flags*: TSymFlags
ast*: PNode
options*: TOptions
position*: int
offset*: int
loc*: TLoc
annex*: PLib
constraint*: PNode">TSym</a></li>
<li><a class="reference" href="#TSymFlag" title="TSymFlag = enum
sfUsed, sfExported, sfFromGeneric, sfGlobal, sfForward, sfWasForwarded,
sfImportc, sfExportc, sfMangleCpp, sfVolatile, sfRegister, sfPure,
sfNoSideEffect, sfSideEffect, sfMainModule, sfSystemModule, sfNoReturn,
sfAddrTaken, sfCompilerProc, sfEscapes, sfDiscriminant, sfRequiresInit,
sfDeprecated, sfExplain, sfError, sfShadowed, sfThread, sfCppNonPod,
sfCompileTime, sfConstructor, sfDispatcher, sfBorrow, sfInfixCall,
sfNamedParamCall, sfDiscardable, sfOverriden, sfCallsite, sfGenSym,
sfNonReloadable, sfGeneratedOp, sfTemplateParam, sfCursor,
sfInjectDestructors, sfNeverRaises, sfSystemRaisesDefect,
sfUsedInFinallyOrExcept, sfSingleUsedTemp, sfNoalias, sfEffectsDelayed,
sfGeneratedType">TSymFlag</a></li>
<li><a class="reference" href="#TSymFlags" title="TSymFlags = set[TSymFlag]">TSymFlags</a></li>
<li><a class="reference" href="#TSymKind" title="TSymKind = enum
skUnknown, skConditional, skDynLib, skParam, skGenericParam, skTemp, skModule,
skType, skVar, skLet, skConst, skResult, skProc, skFunc, skMethod, skIterator,
skConverter, skMacro, skTemplate, skField, skEnumField, skForVar, skLabel,
skStub, skPackage, skAlias">TSymKind</a></li>
<li><a class="reference" href="#TSymKinds" title="TSymKinds = set[TSymKind]">TSymKinds</a></li>
<li><a class="reference" href="#TType" title="TType {.acyclic.} = object of TIdObj
kind*: TTypeKind
callConv*: TCallingConvention
flags*: TTypeFlags
sons*: TTypeSeq
n*: PNode
owner*: PSym
sym*: PSym
size*: BiggestInt
align*: int16
paddingAtEnd*: int16
loc*: TLoc
typeInst*: PType
uniqueId*: ItemId">TType</a></li>
<li><a class="reference" href="#TTypeAttachedOp" title="TTypeAttachedOp = enum
attachedWasMoved, attachedDestructor, attachedAsgn, attachedSink,
attachedTrace, attachedDeepCopy">TTypeAttachedOp</a></li>
<li><a class="reference" href="#TTypeFlag" title="TTypeFlag = enum
tfVarargs, tfNoSideEffect, tfFinal, tfInheritable, tfHasOwned, tfEnumHasHoles,
tfShallow, tfThread, tfFromGeneric, tfUnresolved, tfResolved, tfRetType,
tfCapturesEnv, tfByCopy, tfByRef, tfIterator, tfPartial, tfNotNil,
tfRequiresInit, tfNeedsFullInit, tfVarIsPtr, tfHasMeta, tfHasGCedMem,
tfPacked, tfHasStatic, tfGenericTypeParam, tfImplicitTypeParam,
tfInferrableStatic, tfConceptMatchedTypeSym, tfExplicit, tfWildcard,
tfHasAsgn, tfBorrowDot, tfTriggersCompileTime, tfRefsAnonObj, tfCovariant,
tfWeakCovariant, tfContravariant, tfCheckedForDestructor, tfAcyclic,
tfIncompleteStruct, tfCompleteStruct, tfExplicitCallConv, tfIsConstructor,
tfEffectSystemWorkaround, tfIsOutParam">TTypeFlag</a></li>
<li><a class="reference" href="#TTypeFlags" title="TTypeFlags = set[TTypeFlag]">TTypeFlags</a></li>
<li><a class="reference" href="#TTypeKind" title="TTypeKind = enum
tyNone, tyBool, tyChar, tyEmpty, tyAlias, tyNil, tyUntyped, tyTyped,
tyTypeDesc, tyGenericInvocation, tyGenericBody, tyGenericInst, tyGenericParam,
tyDistinct, tyEnum, tyOrdinal, tyArray, tyObject, tyTuple, tySet, tyRange,
tyPtr, tyRef, tyVar, tySequence, tyProc, tyPointer, tyOpenArray, tyString,
tyCstring, tyForward, tyInt, tyInt8, tyInt16, tyInt32, tyInt64, tyFloat,
tyFloat32, tyFloat64, tyFloat128, tyUInt, tyUInt8, tyUInt16, tyUInt32,
tyUInt64, tyOwned, tySink, tyLent, tyVarargs, tyUncheckedArray, tyProxy,
tyBuiltInTypeClass, tyUserTypeClass, tyUserTypeClassInst,
tyCompositeTypeClass, tyInferred, tyAnd, tyOr, tyNot, tyAnything, tyStatic,
tyFromExpr, tyConcept, tyVoid, tyIterable">TTypeKind</a></li>
<li><a class="reference" href="#TTypeKinds" title="TTypeKinds = set[TTypeKind]">TTypeKinds</a></li>
<li><a class="reference" href="#TTypeSeq" title="TTypeSeq = seq[PType]">TTypeSeq</a></li>
</ul>
</details>
</li>
<li>
<details open>
<summary><a class="reference reference-toplevel" href="#8" id="58">Vars</a></summary>
<ul class="simple simple-toc-section">
<li><a class="reference" href="#eqTypeFlags" title="eqTypeFlags = {tfIterator, tfNotNil, tfVarIsPtr, tfGcSafe, tfNoSideEffect,
tfIsOutParam}">eqTypeFlags</a></li>
<li><a class="reference" href="#ggDebug" title="ggDebug {.deprecated.}: bool">ggDebug</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="#abstractInst" title="abstractInst = {tyGenericInst, tyDistinct, tyOrdinal, tyTypeDesc, tyAlias,
tyInferred, tySink, tyOwned}">abstractInst</a></li>
<li><a class="reference" href="#abstractVarRange" title="abstractVarRange = {tyGenericInst, tyRange, tyVar, tyDistinct, tyOrdinal,
tyTypeDesc, tyAlias, tyInferred, tySink, tyOwned}">abstractVarRange</a></li>
<li><a class="reference" href="#AttachedOpToStr" title="AttachedOpToStr: array[TTypeAttachedOp, string] = [&quot;=wasMoved&quot;, &quot;=destroy&quot;,
&quot;=copy&quot;, &quot;=sink&quot;, &quot;=trace&quot;, &quot;=deepcopy&quot;]">AttachedOpToStr</a></li>
<li><a class="reference" href="#bodyPos" title="bodyPos = 6">bodyPos</a></li>
<li><a class="reference" href="#callableDefs" title="callableDefs = {nkLambda..nkDo, nkProcDef..nkIteratorDef, nkFuncDef}">callableDefs</a></li>
<li><a class="reference" href="#ConcreteTypes" title="ConcreteTypes: TTypeKinds = {tyBool, tyChar, tyEnum, tyArray, tyObject, tySet,
tyTuple, tyRange, tyPtr, tyRef, tyVar, tyLent,
tySequence, tyProc, tyPointer, tyOpenArray,
tyString, tyCstring, tyInt..tyInt64,
tyFloat..tyFloat128, tyUInt..tyUInt64}">ConcreteTypes</a></li>
<li><a class="reference" href="#ConstantDataTypes" title="ConstantDataTypes: TTypeKinds = {tyArray, tySet, tyTuple, tySequence}">ConstantDataTypes</a></li>
<li><a class="reference" href="#ctfeWhitelist" title="ctfeWhitelist = {mNone, mSucc, mPred, mInc, mDec, mOrd, mLengthOpenArray,
mLengthStr, mLengthArray, mLengthSeq, mArrGet, mArrPut, mAsgn,
mDestroy, mIncl, mExcl, mCard, mChr, mAddI, mSubI, mMulI,
mDivI, mModI, mAddF64, mSubF64, mMulF64, mDivF64, mShrI, mShlI,
mBitandI, mBitorI, mBitxorI, mMinI, mMaxI, mAddU, mSubU, mMulU,
mDivU, mModU, mEqI, mLeI, mLtI, mEqF64, mLeF64, mLtF64, mLeU,
mLtU, mEqEnum, mLeEnum, mLtEnum, mEqCh, mLeCh, mLtCh, mEqB,
mLeB, mLtB, mEqRef, mEqProc, mLePtr, mLtPtr, mEqCString, mXor,
mUnaryMinusI, mUnaryMinusI64, mAbsI, mNot, mUnaryPlusI,
mBitnotI, mUnaryPlusF64, mUnaryMinusF64, mCharToStr,
mBoolToStr, mIntToStr, mInt64ToStr, mFloatToStr, mCStrToStr,
mStrToStr, mEnumToStr, mAnd, mOr, mEqStr, mLeStr, mLtStr,
mEqSet, mLeSet, mLtSet, mMulSet, mPlusSet, mMinusSet,
mConStrStr, mAppendStrCh, mAppendStrStr, mAppendSeqElem,
mInSet, mRepr, mOpenArrayToSeq}">ctfeWhitelist</a></li>
<li><a class="reference" href="#declarativeDefs" title="declarativeDefs = {nkProcDef, nkFuncDef, nkMethodDef, nkIteratorDef,
nkConverterDef}">declarativeDefs</a></li>
<li><a class="reference" href="#defaultOffset" title="defaultOffset = -1">defaultOffset</a></li>
<li><a class="reference" href="#dispatcherPos" title="dispatcherPos = 8">dispatcherPos</a></li>
<li><a class="reference" href="#effectListLen" title="effectListLen = 6">effectListLen</a></li>
<li><a class="reference" href="#ensuresEffects" title="ensuresEffects = 2">ensuresEffects</a></li>
<li><a class="reference" href="#exceptionEffects" title="exceptionEffects = 0">exceptionEffects</a></li>
<li><a class="reference" href="#ExportableSymKinds" title="ExportableSymKinds = {skType..skConst, skProc..skTemplate, skEnumField, skStub,
skAlias}">ExportableSymKinds</a></li>
<li><a class="reference" href="#forbiddenEffects" title="forbiddenEffects = 5">forbiddenEffects</a></li>
<li><a class="reference" href="#GcTypeKinds" title="GcTypeKinds = {tyRef, tySequence, tyString}">GcTypeKinds</a></li>
<li><a class="reference" href="#generatedMagics" title="generatedMagics = {mNone, mIsolate, mFinished, mOpenArrayToSeq}">generatedMagics</a></li>
<li><a class="reference" href="#genericParamsPos" title="genericParamsPos = 2">genericParamsPos</a></li>
<li><a class="reference" href="#GenericTypes" title="GenericTypes: TTypeKinds = {tyGenericInvocation, tyGenericBody, tyGenericParam}">GenericTypes</a></li>
<li><a class="reference" href="#GrowthFactor" title="GrowthFactor = 2">GrowthFactor</a></li>
<li><a class="reference" href="#IntegralTypes" title="IntegralTypes = {tyBool, tyChar, tyEnum, tyInt..tyInt64, tyFloat..tyFloat128,
tyUInt..tyUInt64}">IntegralTypes</a></li>
<li><a class="reference" href="#miscPos" title="miscPos = 5">miscPos</a></li>
<li><a class="reference" href="#namePos" title="namePos = 0">namePos</a></li>
<li><a class="reference" href="#nfAllFieldsSet" title="nfAllFieldsSet = nfBase2">nfAllFieldsSet</a></li>
<li><a class="reference" href="#NilableTypes" title="NilableTypes: TTypeKinds = {tyPointer, tyCstring, tyRef, tyPtr, tyProc, tyProxy}">NilableTypes</a></li>
<li><a class="reference" href="#nkCallKinds" title="nkCallKinds = {nkCall, nkInfix, nkPrefix, nkPostfix, nkCommand, nkCallStrLit,
nkHiddenCallConv}">nkCallKinds</a></li>
<li><a class="reference" href="#nkEffectList" title="nkEffectList = nkArgList">nkEffectList</a></li>
<li><a class="reference" href="#nkFloatLiterals" title="nkFloatLiterals = {nkFloatLit..nkFloat128Lit}">nkFloatLiterals</a></li>
<li><a class="reference" href="#nkIdentKinds" title="nkIdentKinds = {nkIdent, nkSym, nkAccQuoted, nkOpenSymChoice, nkClosedSymChoice}">nkIdentKinds</a></li>
<li><a class="reference" href="#nkLambdaKinds" title="nkLambdaKinds = {nkLambda, nkDo}">nkLambdaKinds</a></li>
<li><a class="reference" href="#nkLastBlockStmts" title="nkLastBlockStmts = {nkRaiseStmt, nkReturnStmt, nkBreakStmt, nkContinueStmt}">nkLastBlockStmts</a></li>
<li><a class="reference" href="#nkLiterals" title="nkLiterals = {nkCharLit..nkTripleStrLit}">nkLiterals</a></li>
<li><a class="reference" href="#nkPragmaCallKinds" title="nkPragmaCallKinds = {nkExprColonExpr, nkCall, nkCallStrLit}">nkPragmaCallKinds</a></li>
<li><a class="reference" href="#nkStrKinds" title="nkStrKinds = {nkStrLit..nkTripleStrLit}">nkStrKinds</a></li>
<li><a class="reference" href="#nkSymChoices" title="nkSymChoices = {nkClosedSymChoice, nkOpenSymChoice}">nkSymChoices</a></li>
<li><a class="reference" href="#nkWhen" title="nkWhen = nkWhenStmt">nkWhen</a></li>
<li><a class="reference" href="#nkWhenExpr" title="nkWhenExpr = nkWhenStmt">nkWhenExpr</a></li>
<li><a class="reference" href="#nodesToIgnoreSet" title="nodesToIgnoreSet = {nkNone..nkIdent, nkType..nkNilLit, nkTypeSection, nkProcDef,
nkConverterDef, nkMethodDef, nkIteratorDef, nkMacroDef,
nkTemplateDef, nkLambda, nkDo, nkFuncDef, nkConstSection,
nkConstDef, nkIncludeStmt, nkImportStmt, nkExportStmt,
nkPragma, nkCommentStmt, nkBreakState, nkTypeOfExpr,
nkMixinStmt, nkBindStmt}">nodesToIgnoreSet</a></li>
<li><a class="reference" href="#OverloadableSyms" title="OverloadableSyms = {skProc, skFunc, skMethod, skIterator, skConverter, skModule,
skTemplate, skMacro, skEnumField}">OverloadableSyms</a></li>
<li><a class="reference" href="#PackageModuleId" title="PackageModuleId = -3'i32">PackageModuleId</a></li>
<li><a class="reference" href="#paramsPos" title="paramsPos = 3">paramsPos</a></li>
<li><a class="reference" href="#patternPos" title="patternPos = 1">patternPos</a></li>
<li><a class="reference" href="#PersistentNodeFlags" title="PersistentNodeFlags: TNodeFlags = {nfBase2, nfBase8, nfBase16, nfDotSetter,
nfDotField, nfIsRef, nfIsPtr, nfPreventCg,
nfLL, nfFromTemplate, nfDefaultRefsParam,
nfExecuteOnReload, nfLastRead, nfFirstWrite,
nfUseDefaultField}">PersistentNodeFlags</a></li>
<li><a class="reference" href="#pragmasEffects" title="pragmasEffects = 4">pragmasEffects</a></li>
<li><a class="reference" href="#pragmasPos" title="pragmasPos = 4">pragmasPos</a></li>
<li><a class="reference" href="#procDefs" title="procDefs = {nkLambda..nkDo, nkProcDef..nkConverterDef, nkIteratorDef, nkFuncDef}">procDefs</a></li>
<li><a class="reference" href="#PtrLikeKinds" title="PtrLikeKinds: TTypeKinds = {tyPointer, tyPtr}">PtrLikeKinds</a></li>
<li><a class="reference" href="#requiresEffects" title="requiresEffects = 1">requiresEffects</a></li>
<li><a class="reference" href="#resultPos" title="resultPos = 7">resultPos</a></li>
<li><a class="reference" href="#routineDefs" title="routineDefs = {nkProcDef..nkIteratorDef, nkFuncDef}">routineDefs</a></li>
<li><a class="reference" href="#routineKinds" title="routineKinds = {skProc, skFunc, skMethod, skIterator, skConverter, skMacro,
skTemplate}">routineKinds</a></li>
<li><a class="reference" href="#sfAllUntyped" title="sfAllUntyped = sfVolatile">sfAllUntyped</a></li>
<li><a class="reference" href="#sfAnon" title="sfAnon = sfDiscardable">sfAnon</a></li>
<li><a class="reference" href="#sfBase" title="sfBase = sfDiscriminant">sfBase</a></li>
<li><a class="reference" href="#sfCompileToCpp" title="sfCompileToCpp = sfInfixCall">sfCompileToCpp</a></li>
<li><a class="reference" href="#sfCompileToObjc" title="sfCompileToObjc = sfNamedParamCall">sfCompileToObjc</a></li>
<li><a class="reference" href="#sfCustomPragma" title="sfCustomPragma = sfRegister">sfCustomPragma</a></li>
<li><a class="reference" href="#sfDirty" title="sfDirty = sfPure">sfDirty</a></li>
<li><a class="reference" href="#sfExperimental" title="sfExperimental = sfOverriden">sfExperimental</a></li>
<li><a class="reference" href="#sfGoto" title="sfGoto = sfOverriden">sfGoto</a></li>
<li><a class="reference" href="#sfNoForward" title="sfNoForward = sfRegister">sfNoForward</a></li>
<li><a class="reference" href="#sfNoInit" title="sfNoInit = sfMainModule">sfNoInit</a></li>
<li><a class="reference" href="#sfReorder" title="sfReorder = sfForward">sfReorder</a></li>
<li><a class="reference" href="#sfTemplateRedefinition" title="sfTemplateRedefinition = sfExportc">sfTemplateRedefinition</a></li>
<li><a class="reference" href="#sfWrittenTo" title="sfWrittenTo = sfBorrow">sfWrittenTo</a></li>
<li><a class="reference" href="#skError" title="skError = skUnknown">skError</a></li>
<li><a class="reference" href="#skLocalVars" title="skLocalVars = {skVar, skLet, skForVar, skParam, skResult}">skLocalVars</a></li>
<li><a class="reference" href="#skProcKinds" title="skProcKinds = {skProc, skFunc, skTemplate, skMacro, skIterator, skMethod,
skConverter}">skProcKinds</a></li>
<li><a class="reference" href="#StartSize" title="StartSize = 8">StartSize</a></li>
<li><a class="reference" href="#StructuralEquivTypes" title="StructuralEquivTypes: TTypeKinds = {tyNil, tyTuple, tyArray, tySet, tyRange,
tyPtr, tyRef, tyVar, tyLent, tySequence,
tyProc, tyOpenArray, tyVarargs}">StructuralEquivTypes</a></li>
<li><a class="reference" href="#tagEffects" title="tagEffects = 3">tagEffects</a></li>
<li><a class="reference" href="#tfGcSafe" title="tfGcSafe = tfThread">tfGcSafe</a></li>
<li><a class="reference" href="#tfObjHasKids" title="tfObjHasKids = tfEnumHasHoles">tfObjHasKids</a></li>
<li><a class="reference" href="#tfReturnsNew" title="tfReturnsNew = tfInheritable">tfReturnsNew</a></li>
<li><a class="reference" href="#tfUnion" title="tfUnion = tfNoSideEffect">tfUnion</a></li>
<li><a class="reference" href="#tyError" title="tyError = tyProxy">tyError</a></li>
<li><a class="reference" href="#tyMetaTypes" title="tyMetaTypes = {tyUntyped, tyTypeDesc, tyGenericParam,
tyBuiltInTypeClass..tyCompositeTypeClass, tyAnd..tyAnything}">tyMetaTypes</a></li>
<li><a class="reference" href="#tyPureObject" title="tyPureObject = tyTuple">tyPureObject</a></li>
<li><a class="reference" href="#tyTypeClasses" title="tyTypeClasses = {tyBuiltInTypeClass, tyCompositeTypeClass, tyUserTypeClass,
tyUserTypeClassInst, tyAnd, tyOr, tyNot, tyAnything}">tyTypeClasses</a></li>
<li><a class="reference" href="#tyUnknown" title="tyUnknown = tyFromExpr">tyUnknown</a></li>
<li><a class="reference" href="#tyUnknownTypes" title="tyUnknownTypes = {tyProxy, tyFromExpr}">tyUnknownTypes</a></li>
<li><a class="reference" href="#tyUserTypeClasses" title="tyUserTypeClasses = {tyUserTypeClass, tyUserTypeClassInst}">tyUserTypeClasses</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%2CPSym" title="`$`(s: PSym): string">`$`(s: PSym): string</a></li>
<li><a class="reference" href="#%24%2CItemId" title="`$`(x: ItemId): string">`$`(x: ItemId): string</a></li>
</ul>
<ul class="simple nested-toc-section">==
<li><a class="reference" href="#%3D%3D%2CItemId%2CItemId" title="`==`(a, b: ItemId): bool">`==`(a, b: ItemId): bool</a></li>
</ul>
<ul class="simple nested-toc-section">add
<li><a class="reference" href="#add%2CIndexable%2CIndexable" title="add(father, son: Indexable)">add(father, son: Indexable)</a></li>
</ul>
<ul class="simple nested-toc-section">addAllowNil
<li><a class="reference" href="#addAllowNil%2CIndexable%2CIndexable" title="addAllowNil(father, son: Indexable)">addAllowNil(father, son: Indexable)</a></li>
</ul>
<ul class="simple nested-toc-section">addParam
<li><a class="reference" href="#addParam%2CPType%2CPSym" title="addParam(procType: PType; param: PSym)">addParam(procType: PType; param: PSym)</a></li>
</ul>
<ul class="simple nested-toc-section">addSonNilAllowed
<li><a class="reference" href="#addSonNilAllowed%2CPNode%2CPNode" title="addSonNilAllowed(father, son: PNode)">addSonNilAllowed(father, son: PNode)</a></li>
</ul>
<ul class="simple nested-toc-section">appendToModule
<li><a class="reference" href="#appendToModule%2CPSym%2CPNode" title="appendToModule(m: PSym; n: PNode)">appendToModule(m: PSym; n: PNode)</a></li>
</ul>
<ul class="simple nested-toc-section">assignType
<li><a class="reference" href="#assignType%2CPType%2CPType" title="assignType(dest, src: PType)">assignType(dest, src: PType)</a></li>
</ul>
<ul class="simple nested-toc-section">astdef
<li><a class="reference" href="#astdef%2CPSym" title="astdef(s: PSym): PNode">astdef(s: PSym): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">canRaise
<li><a class="reference" href="#canRaise%2CPNode" title="canRaise(fn: PNode): bool">canRaise(fn: PNode): bool</a></li>
</ul>
<ul class="simple nested-toc-section">canRaiseConservative
<li><a class="reference" href="#canRaiseConservative%2CPNode" title="canRaiseConservative(fn: PNode): bool">canRaiseConservative(fn: PNode): bool</a></li>
</ul>
<ul class="simple nested-toc-section">comment
<li><a class="reference" href="#comment%2CPNode" title="comment(n: PNode): string">comment(n: PNode): string</a></li>
</ul>
<ul class="simple nested-toc-section">comment=
<li><a class="reference" href="#comment%3D%2CPNode%2Cstring" title="comment=(n: PNode; a: string)">comment=(n: PNode; a: string)</a></li>
</ul>
<ul class="simple nested-toc-section">containsNode
<li><a class="reference" href="#containsNode%2CPNode%2CTNodeKinds" title="containsNode(n: PNode; kinds: TNodeKinds): bool">containsNode(n: PNode; kinds: TNodeKinds): bool</a></li>
</ul>
<ul class="simple nested-toc-section">copyIdTable
<li><a class="reference" href="#copyIdTable%2CTIdTable%2CTIdTable" title="copyIdTable(dest: var TIdTable; src: TIdTable)">copyIdTable(dest: var TIdTable; src: TIdTable)</a></li>
</ul>
<ul class="simple nested-toc-section">copyNode
<li><a class="reference" href="#copyNode%2CPNode" title="copyNode(src: PNode): PNode">copyNode(src: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">copyObjectSet
<li><a class="reference" href="#copyObjectSet%2CTObjectSet%2CTObjectSet" title="copyObjectSet(dest: var TObjectSet; src: TObjectSet)">copyObjectSet(dest: var TObjectSet; src: TObjectSet)</a></li>
</ul>
<ul class="simple nested-toc-section">copyStrTable
<li><a class="reference" href="#copyStrTable%2CTStrTable%2CTStrTable" title="copyStrTable(dest: var TStrTable; src: TStrTable)">copyStrTable(dest: var TStrTable; src: TStrTable)</a></li>
</ul>
<ul class="simple nested-toc-section">copySym
<li><a class="reference" href="#copySym%2CPSym%2CItemId" title="copySym(s: PSym; id: ItemId): PSym">copySym(s: PSym; id: ItemId): PSym</a></li>
</ul>
<ul class="simple nested-toc-section">copyTree
<li><a class="reference" href="#copyTree%2CPNode" title="copyTree(src: PNode): PNode">copyTree(src: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">copyTreeWithoutNode
<li><a class="reference" href="#copyTreeWithoutNode%2CPNode%2CPNode" title="copyTreeWithoutNode(src, skippedNode: PNode): PNode">copyTreeWithoutNode(src, skippedNode: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">copyType
<li><a class="reference" href="#copyType%2CPType%2CItemId%2CPSym" title="copyType(t: PType; id: ItemId; owner: PSym): PType">copyType(t: PType; id: ItemId; owner: PSym): PType</a></li>
</ul>
<ul class="simple nested-toc-section">createModuleAlias
<li><a class="reference" href="#createModuleAlias%2CPSym%2CItemId%2CPIdent%2CTLineInfo%2CTOptions" title="createModuleAlias(s: PSym; id: ItemId; newIdent: PIdent; info: TLineInfo;
options: TOptions): PSym">createModuleAlias(s: PSym; id: ItemId; newIdent: PIdent; info: TLineInfo;
options: TOptions): PSym</a></li>
</ul>
<ul class="simple nested-toc-section">delSon
<li><a class="reference" href="#delSon%2CPNode%2Cint" title="delSon(father: PNode; idx: int)">delSon(father: PNode; idx: int)</a></li>
</ul>
<ul class="simple nested-toc-section">discardSons
<li><a class="reference" href="#discardSons%2CPNode" title="discardSons(father: PNode)">discardSons(father: PNode)</a></li>
</ul>
<ul class="simple nested-toc-section">exactReplica
<li><a class="reference" href="#exactReplica%2CPType" title="exactReplica(t: PType): PType">exactReplica(t: PType): PType</a></li>
</ul>
<ul class="simple nested-toc-section">extractPragma
<li><a class="reference" href="#extractPragma%2CPSym" title="extractPragma(s: PSym): PNode">extractPragma(s: PSym): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">findUnresolvedStatic
<li><a class="reference" href="#findUnresolvedStatic%2CPNode" title="findUnresolvedStatic(n: PNode): PNode">findUnresolvedStatic(n: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">getDeclPragma
<li><a class="reference" href="#getDeclPragma%2CPNode" title="getDeclPragma(n: PNode): PNode">getDeclPragma(n: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">getFloat
<li><a class="reference" href="#getFloat%2CPNode" title="getFloat(a: PNode): BiggestFloat">getFloat(a: PNode): BiggestFloat</a></li>
</ul>
<ul class="simple nested-toc-section">getInt
<li><a class="reference" href="#getInt%2CPNode" title="getInt(a: PNode): Int128">getInt(a: PNode): Int128</a></li>
</ul>
<ul class="simple nested-toc-section">getInt64
<li><a class="reference" href="#getInt64%2CPNode" title="getInt64(a: PNode): int64">getInt64(a: PNode): int64</a></li>
</ul>
<ul class="simple nested-toc-section">getPIdent
<li><a class="reference" href="#getPIdent%2CPNode" title="getPIdent(a: PNode): PIdent">getPIdent(a: PNode): PIdent</a></li>
</ul>
<ul class="simple nested-toc-section">getStr
<li><a class="reference" href="#getStr%2CPNode" title="getStr(a: PNode): string">getStr(a: PNode): string</a></li>
</ul>
<ul class="simple nested-toc-section">getStrOrChar
<li><a class="reference" href="#getStrOrChar%2CPNode" title="getStrOrChar(a: PNode): string">getStrOrChar(a: PNode): string</a></li>
</ul>
<ul class="simple nested-toc-section">hash
<li><a class="reference" href="#hash%2CItemId" title="hash(x: ItemId): Hash">hash(x: ItemId): Hash</a></li>
</ul>
<ul class="simple nested-toc-section">hasNilSon
<li><a class="reference" href="#hasNilSon%2CPNode" title="hasNilSon(n: PNode): bool">hasNilSon(n: PNode): bool</a></li>
</ul>
<ul class="simple nested-toc-section">hasPattern
<li><a class="reference" href="#hasPattern%2CPSym" title="hasPattern(s: PSym): bool">hasPattern(s: PSym): bool</a></li>
</ul>
<ul class="simple nested-toc-section">hasSonWith
<li><a class="reference" href="#hasSonWith%2CPNode%2CTNodeKind" title="hasSonWith(n: PNode; kind: TNodeKind): bool">hasSonWith(n: PNode; kind: TNodeKind): bool</a></li>
</ul>
<ul class="simple nested-toc-section">hasSubnodeWith
<li><a class="reference" href="#hasSubnodeWith%2CPNode%2CTNodeKind" title="hasSubnodeWith(n: PNode; kind: TNodeKind): bool">hasSubnodeWith(n: PNode; kind: TNodeKind): bool</a></li>
</ul>
<ul class="simple nested-toc-section">idGeneratorFromModule
<li><a class="reference" href="#idGeneratorFromModule%2CPSym" title="idGeneratorFromModule(m: PSym): IdGenerator">idGeneratorFromModule(m: PSym): IdGenerator</a></li>
</ul>
<ul class="simple nested-toc-section">initIdNodeTable
<li><a class="reference" href="#initIdNodeTable%2CTIdNodeTable" title="initIdNodeTable(x: var TIdNodeTable)">initIdNodeTable(x: var TIdNodeTable)</a></li>
</ul>
<ul class="simple nested-toc-section">initIdTable
<li><a class="reference" href="#initIdTable%2CTIdTable" title="initIdTable(x: var TIdTable)">initIdTable(x: var TIdTable)</a></li>
</ul>
<ul class="simple nested-toc-section">initNodeTable
<li><a class="reference" href="#initNodeTable%2CTNodeTable" title="initNodeTable(x: var TNodeTable)">initNodeTable(x: var TNodeTable)</a></li>
</ul>
<ul class="simple nested-toc-section">initObjectSet
<li><a class="reference" href="#initObjectSet%2CTObjectSet" title="initObjectSet(x: var TObjectSet)">initObjectSet(x: var TObjectSet)</a></li>
</ul>
<ul class="simple nested-toc-section">initStrTable
<li><a class="reference" href="#initStrTable%2CTStrTable" title="initStrTable(x: var TStrTable)">initStrTable(x: var TStrTable)</a></li>
</ul>
<ul class="simple nested-toc-section">isAtom
<li><a class="reference" href="#isAtom%2CPNode" title="isAtom(n: PNode): bool">isAtom(n: PNode): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isCallExpr
<li><a class="reference" href="#isCallExpr%2CPNode" title="isCallExpr(n: PNode): bool">isCallExpr(n: PNode): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isClosure
<li><a class="reference" href="#isClosure%2CPType" title="isClosure(typ: PType): bool">isClosure(typ: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isClosureIterator
<li><a class="reference" href="#isClosureIterator%2CPType" title="isClosureIterator(typ: PType): bool">isClosureIterator(typ: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isCompileTimeProc
<li><a class="reference" href="#isCompileTimeProc%2CPSym" title="isCompileTimeProc(s: PSym): bool">isCompileTimeProc(s: PSym): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isEmptyType
<li><a class="reference" href="#isEmptyType%2CPType" title="isEmptyType(t: PType): bool">isEmptyType(t: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isGCedMem
<li><a class="reference" href="#isGCedMem%2CPType" title="isGCedMem(t: PType): bool">isGCedMem(t: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isGenericParams
<li><a class="reference" href="#isGenericParams%2CPNode" title="isGenericParams(n: PNode): bool">isGenericParams(n: PNode): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isGenericRoutine
<li><a class="reference" href="#isGenericRoutine%2CPNode" title="isGenericRoutine(n: PNode): bool">isGenericRoutine(n: PNode): bool</a></li>
<li><a class="reference" href="#isGenericRoutine%2CPSym" title="isGenericRoutine(s: PSym): bool">isGenericRoutine(s: PSym): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isGenericRoutineStrict
<li><a class="reference" href="#isGenericRoutineStrict%2CPSym" title="isGenericRoutineStrict(s: PSym): bool">isGenericRoutineStrict(s: PSym): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isImportedException
<li><a class="reference" href="#isImportedException%2CPType%2CConfigRef" title="isImportedException(t: PType; conf: ConfigRef): bool">isImportedException(t: PType; conf: ConfigRef): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isInfixAs
<li><a class="reference" href="#isInfixAs%2CPNode" title="isInfixAs(n: PNode): bool">isInfixAs(n: PNode): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isInlineIterator
<li><a class="reference" href="#isInlineIterator%2CPType" title="isInlineIterator(typ: PType): bool">isInlineIterator(typ: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isIterator
<li><a class="reference" href="#isIterator%2CPType" title="isIterator(typ: PType): bool">isIterator(typ: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isMetaType
<li><a class="reference" href="#isMetaType%2CPType" title="isMetaType(t: PType): bool">isMetaType(t: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isNewStyleConcept
<li><a class="reference" href="#isNewStyleConcept%2CPNode" title="isNewStyleConcept(n: PNode): bool">isNewStyleConcept(n: PNode): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isOutParam
<li><a class="reference" href="#isOutParam%2CPType" title="isOutParam(t: PType): bool">isOutParam(t: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isRoutine
<li><a class="reference" href="#isRoutine%2CPSym" title="isRoutine(s: PSym): bool">isRoutine(s: PSym): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isRunnableExamples
<li><a class="reference" href="#isRunnableExamples%2CPNode" title="isRunnableExamples(n: PNode): bool">isRunnableExamples(n: PNode): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isSinkParam
<li><a class="reference" href="#isSinkParam%2CPSym" title="isSinkParam(s: PSym): bool">isSinkParam(s: PSym): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isSinkType
<li><a class="reference" href="#isSinkType%2CPType" title="isSinkType(t: PType): bool">isSinkType(t: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isUnresolvedStatic
<li><a class="reference" href="#isUnresolvedStatic%2CPType" title="isUnresolvedStatic(t: PType): bool">isUnresolvedStatic(t: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">lastSon
<li><a class="reference" href="#lastSon%2CIndexable" title="lastSon(n: Indexable): Indexable">lastSon(n: Indexable): Indexable</a></li>
</ul>
<ul class="simple nested-toc-section">len
<li><a class="reference" href="#len%2CIndexable" title="len(n: Indexable): int">len(n: Indexable): int</a></li>
</ul>
<ul class="simple nested-toc-section">linkTo
<li><a class="reference" href="#linkTo%2CPSym%2CPType" title="linkTo(s: PSym; t: PType): PSym">linkTo(s: PSym; t: PType): PSym</a></li>
<li><a class="reference" href="#linkTo%2CPType%2CPSym" title="linkTo(t: PType; s: PSym): PType">linkTo(t: PType; s: PSym): PType</a></li>
</ul>
<ul class="simple nested-toc-section">makeStmtList
<li><a class="reference" href="#makeStmtList%2CPNode" title="makeStmtList(n: PNode): PNode">makeStmtList(n: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newFloatNode
<li><a class="reference" href="#newFloatNode%2CTNodeKind%2CBiggestFloat" title="newFloatNode(kind: TNodeKind; floatVal: BiggestFloat): PNode">newFloatNode(kind: TNodeKind; floatVal: BiggestFloat): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newIdentNode
<li><a class="reference" href="#newIdentNode%2CPIdent%2CTLineInfo" title="newIdentNode(ident: PIdent; info: TLineInfo): PNode">newIdentNode(ident: PIdent; info: TLineInfo): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newIdTable
<li><a class="reference" href="#newIdTable" title="newIdTable(): TIdTable">newIdTable(): TIdTable</a></li>
</ul>
<ul class="simple nested-toc-section">newIntNode
<li><a class="reference" href="#newIntNode%2CTNodeKind%2CBiggestInt" title="newIntNode(kind: TNodeKind; intVal: BiggestInt): PNode">newIntNode(kind: TNodeKind; intVal: BiggestInt): PNode</a></li>
<li><a class="reference" href="#newIntNode%2CTNodeKind%2CInt128" title="newIntNode(kind: TNodeKind; intVal: Int128): PNode">newIntNode(kind: TNodeKind; intVal: Int128): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newIntTypeNode
<li><a class="reference" href="#newIntTypeNode%2CBiggestInt%2CPType" title="newIntTypeNode(intVal: BiggestInt; typ: PType): PNode">newIntTypeNode(intVal: BiggestInt; typ: PType): PNode</a></li>
<li><a class="reference" href="#newIntTypeNode%2CInt128%2CPType" title="newIntTypeNode(intVal: Int128; typ: PType): PNode">newIntTypeNode(intVal: Int128; typ: PType): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newNode
<li><a class="reference" href="#newNode%2CTNodeKind" title="newNode(kind: TNodeKind): PNode">newNode(kind: TNodeKind): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newNodeI
<li><a class="reference" href="#newNodeI%2CTNodeKind%2CTLineInfo" title="newNodeI(kind: TNodeKind; info: TLineInfo): PNode">newNodeI(kind: TNodeKind; info: TLineInfo): PNode</a></li>
<li><a class="reference" href="#newNodeI%2CTNodeKind%2CTLineInfo%2Cint" title="newNodeI(kind: TNodeKind; info: TLineInfo; children: int): PNode">newNodeI(kind: TNodeKind; info: TLineInfo; children: int): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newNodeIT
<li><a class="reference" href="#newNodeIT%2CTNodeKind%2CTLineInfo%2CPType" title="newNodeIT(kind: TNodeKind; info: TLineInfo; typ: PType): PNode">newNodeIT(kind: TNodeKind; info: TLineInfo; typ: PType): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newProcNode
<li><a class="reference" href="#newProcNode%2CTNodeKind%2CTLineInfo%2CPNode%2CPNode%2CPNode%2CPNode%2CPNode%2CPNode%2CPNode" title="newProcNode(kind: TNodeKind; info: TLineInfo; body: PNode;
params, name, pattern, genericParams, pragmas, exceptions: PNode): PNode">newProcNode(kind: TNodeKind; info: TLineInfo; body: PNode;
params, name, pattern, genericParams, pragmas, exceptions: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newProcType
<li><a class="reference" href="#newProcType%2CTLineInfo%2CItemId%2CPSym" title="newProcType(info: TLineInfo; id: ItemId; owner: PSym): PType">newProcType(info: TLineInfo; id: ItemId; owner: PSym): PType</a></li>
</ul>
<ul class="simple nested-toc-section">newSons
<li><a class="reference" href="#newSons%2CIndexable%2Cint" title="newSons(father: Indexable; length: int)">newSons(father: Indexable; length: int)</a></li>
</ul>
<ul class="simple nested-toc-section">newStrNode
<li><a class="reference" href="#newStrNode%2CTNodeKind%2Cstring" title="newStrNode(kind: TNodeKind; strVal: string): PNode">newStrNode(kind: TNodeKind; strVal: string): PNode</a></li>
<li><a class="reference" href="#newStrNode%2Cstring%2CTLineInfo" title="newStrNode(strVal: string; info: TLineInfo): PNode">newStrNode(strVal: string; info: TLineInfo): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newStrTable
<li><a class="reference" href="#newStrTable" title="newStrTable(): TStrTable">newStrTable(): TStrTable</a></li>
</ul>
<ul class="simple nested-toc-section">newSym
<li><a class="reference" href="#newSym%2CTSymKind%2CPIdent%2CItemId%2CPSym%2CTLineInfo%2CTOptions" title="newSym(symKind: TSymKind; name: PIdent; id: ItemId; owner: PSym;
info: TLineInfo; options: TOptions = {}): PSym">newSym(symKind: TSymKind; name: PIdent; id: ItemId; owner: PSym;
info: TLineInfo; options: TOptions = {}): PSym</a></li>
</ul>
<ul class="simple nested-toc-section">newSymNode
<li><a class="reference" href="#newSymNode%2CPSym" title="newSymNode(sym: PSym): PNode">newSymNode(sym: PSym): PNode</a></li>
<li><a class="reference" href="#newSymNode%2CPSym%2CTLineInfo" title="newSymNode(sym: PSym; info: TLineInfo): PNode">newSymNode(sym: PSym; info: TLineInfo): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newTree
<li><a class="reference" href="#newTree%2CTNodeKind%2Cvarargs%5BPNode%5D" title="newTree(kind: TNodeKind; children: varargs[PNode]): PNode">newTree(kind: TNodeKind; children: varargs[PNode]): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newTreeI
<li><a class="reference" href="#newTreeI%2CTNodeKind%2CTLineInfo%2Cvarargs%5BPNode%5D" title="newTreeI(kind: TNodeKind; info: TLineInfo; children: varargs[PNode]): PNode">newTreeI(kind: TNodeKind; info: TLineInfo; children: varargs[PNode]): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newTreeIT
<li><a class="reference" href="#newTreeIT%2CTNodeKind%2CTLineInfo%2CPType%2Cvarargs%5BPNode%5D" title="newTreeIT(kind: TNodeKind; info: TLineInfo; typ: PType; children: varargs[PNode]): PNode">newTreeIT(kind: TNodeKind; info: TLineInfo; typ: PType; children: varargs[PNode]): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">newType
<li><a class="reference" href="#newType%2CTTypeKind%2CItemId%2CPSym" title="newType(kind: TTypeKind; id: ItemId; owner: PSym): PType">newType(kind: TTypeKind; id: ItemId; owner: PSym): PType</a></li>
</ul>
<ul class="simple nested-toc-section">nextSymId
<li><a class="reference" href="#nextSymId%2CIdGenerator" title="nextSymId(x: IdGenerator): ItemId">nextSymId(x: IdGenerator): ItemId</a></li>
</ul>
<ul class="simple nested-toc-section">nextTypeId
<li><a class="reference" href="#nextTypeId%2CIdGenerator" title="nextTypeId(x: IdGenerator): ItemId">nextTypeId(x: IdGenerator): ItemId</a></li>
</ul>
<ul class="simple nested-toc-section">originatingModule
<li><a class="reference" href="#originatingModule%2CPSym" title="originatingModule(s: PSym): PSym">originatingModule(s: PSym): PSym</a></li>
</ul>
<ul class="simple nested-toc-section">propagateToOwner
<li><a class="reference" href="#propagateToOwner%2CPType%2CPType" title="propagateToOwner(owner, elem: PType; propagateHasAsgn = true)">propagateToOwner(owner, elem: PType; propagateHasAsgn = true)</a></li>
</ul>
<ul class="simple nested-toc-section">rawAddSon
<li><a class="reference" href="#rawAddSon%2CPType%2CPType" title="rawAddSon(father, son: PType; propagateHasAsgn = true)">rawAddSon(father, son: PType; propagateHasAsgn = true)</a></li>
</ul>
<ul class="simple nested-toc-section">rawAddSonNoPropagationOfTypeFlags
<li><a class="reference" href="#rawAddSonNoPropagationOfTypeFlags%2CPType%2CPType" title="rawAddSonNoPropagationOfTypeFlags(father, son: PType)">rawAddSonNoPropagationOfTypeFlags(father, son: PType)</a></li>
</ul>
<ul class="simple nested-toc-section">requiredParams
<li><a class="reference" href="#requiredParams%2CPSym" title="requiredParams(s: PSym): int">requiredParams(s: PSym): int</a></li>
</ul>
<ul class="simple nested-toc-section">resetIdTable
<li><a class="reference" href="#resetIdTable%2CTIdTable" title="resetIdTable(x: var TIdTable)">resetIdTable(x: var TIdTable)</a></li>
</ul>
<ul class="simple nested-toc-section">safeArrLen
<li><a class="reference" href="#safeArrLen%2CPNode" title="safeArrLen(n: PNode): int">safeArrLen(n: PNode): int</a></li>
</ul>
<ul class="simple nested-toc-section">safeLen
<li><a class="reference" href="#safeLen%2CPNode" title="safeLen(n: PNode): int">safeLen(n: PNode): int</a></li>
</ul>
<ul class="simple nested-toc-section">setInfoRecursive
<li><a class="reference" href="#setInfoRecursive%2CPNode%2CTLineInfo" title="setInfoRecursive(n: PNode; info: TLineInfo)">setInfoRecursive(n: PNode; info: TLineInfo)</a></li>
</ul>
<ul class="simple nested-toc-section">setUseIc
<li><a class="reference" href="#setUseIc%2Cbool" title="setUseIc(useIc: bool)">setUseIc(useIc: bool)</a></li>
</ul>
<ul class="simple nested-toc-section">shallowCopy
<li><a class="reference" href="#shallowCopy%2CPNode" title="shallowCopy(src: PNode): PNode">shallowCopy(src: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">skipAddr
<li><a class="reference" href="#skipAddr%2CPNode" title="skipAddr(n: PNode): PNode">skipAddr(n: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">skipColon
<li><a class="reference" href="#skipColon%2CPNode" title="skipColon(n: PNode): PNode">skipColon(n: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">skipGenericOwner
<li><a class="reference" href="#skipGenericOwner%2CPSym" title="skipGenericOwner(s: PSym): PSym">skipGenericOwner(s: PSym): PSym</a></li>
</ul>
<ul class="simple nested-toc-section">skipPragmaExpr
<li><a class="reference" href="#skipPragmaExpr%2CPNode" title="skipPragmaExpr(n: PNode): PNode">skipPragmaExpr(n: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">skipStmtList
<li><a class="reference" href="#skipStmtList%2CPNode" title="skipStmtList(n: PNode): PNode">skipStmtList(n: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">skipTypes
<li><a class="reference" href="#skipTypes%2CPType%2CTTypeKinds" title="skipTypes(t: PType; kinds: TTypeKinds): PType">skipTypes(t: PType; kinds: TTypeKinds): PType</a></li>
<li><a class="reference" href="#skipTypes%2CPType%2CTTypeKinds%2Cint" title="skipTypes(t: PType; kinds: TTypeKinds; maxIters: int): PType">skipTypes(t: PType; kinds: TTypeKinds; maxIters: int): PType</a></li>
</ul>
<ul class="simple nested-toc-section">skipTypesOrNil
<li><a class="reference" href="#skipTypesOrNil%2CPType%2CTTypeKinds" title="skipTypesOrNil(t: PType; kinds: TTypeKinds): PType">skipTypesOrNil(t: PType; kinds: TTypeKinds): PType</a></li>
</ul>
<ul class="simple nested-toc-section">toHumanStr
<li><a class="reference" href="#toHumanStr%2CTSymKind" title="toHumanStr(kind: TSymKind): string">toHumanStr(kind: TSymKind): string</a></li>
<li><a class="reference" href="#toHumanStr%2CTTypeKind" title="toHumanStr(kind: TTypeKind): string">toHumanStr(kind: TTypeKind): string</a></li>
</ul>
<ul class="simple nested-toc-section">toObject
<li><a class="reference" href="#toObject%2CPType" title="toObject(typ: PType): PType">toObject(typ: PType): PType</a></li>
</ul>
<ul class="simple nested-toc-section">toObjectFromRefPtrGeneric
<li><a class="reference" href="#toObjectFromRefPtrGeneric%2CPType" title="toObjectFromRefPtrGeneric(typ: PType): PType">toObjectFromRefPtrGeneric(typ: PType): PType</a></li>
</ul>
<ul class="simple nested-toc-section">toRef
<li><a class="reference" href="#toRef%2CPType%2CIdGenerator" title="toRef(typ: PType; idgen: IdGenerator): PType">toRef(typ: PType; idgen: IdGenerator): PType</a></li>
</ul>
<ul class="simple nested-toc-section">toVar
<li><a class="reference" href="#toVar%2CPType%2CTTypeKind%2CIdGenerator" title="toVar(typ: PType; kind: TTypeKind; idgen: IdGenerator): PType">toVar(typ: PType; kind: TTypeKind; idgen: IdGenerator): PType</a></li>
</ul>
<ul class="simple nested-toc-section">transitionGenericParamToType
<li><a class="reference" href="#transitionGenericParamToType%2CPSym" title="transitionGenericParamToType(s: PSym)">transitionGenericParamToType(s: PSym)</a></li>
</ul>
<ul class="simple nested-toc-section">transitionIntKind
<li><a class="reference" href="#transitionIntKind%2CPNode%2Crange%5B%5D" title="transitionIntKind(n: PNode; kind: range[nkCharLit .. nkUInt64Lit])">transitionIntKind(n: PNode; kind: range[nkCharLit .. nkUInt64Lit])</a></li>
</ul>
<ul class="simple nested-toc-section">transitionIntToFloatKind
<li><a class="reference" href="#transitionIntToFloatKind%2CPNode%2Crange%5B%5D" title="transitionIntToFloatKind(n: PNode; kind: range[nkFloatLit .. nkFloat128Lit])">transitionIntToFloatKind(n: PNode; kind: range[nkFloatLit .. nkFloat128Lit])</a></li>
</ul>
<ul class="simple nested-toc-section">transitionNoneToSym
<li><a class="reference" href="#transitionNoneToSym%2CPNode" title="transitionNoneToSym(n: PNode)">transitionNoneToSym(n: PNode)</a></li>
</ul>
<ul class="simple nested-toc-section">transitionRoutineSymKind
<li><a class="reference" href="#transitionRoutineSymKind%2CPSym%2Crange%5B%5D" title="transitionRoutineSymKind(s: PSym; kind: range[skProc .. skTemplate])">transitionRoutineSymKind(s: PSym; kind: range[skProc .. skTemplate])</a></li>
</ul>
<ul class="simple nested-toc-section">transitionSonsKind
<li><a class="reference" href="#transitionSonsKind%2CPNode%2Crange%5B%5D" title="transitionSonsKind(n: PNode; kind: range[nkComesFrom .. nkTupleConstr])">transitionSonsKind(n: PNode; kind: range[nkComesFrom .. nkTupleConstr])</a></li>
</ul>
<ul class="simple nested-toc-section">transitionToLet
<li><a class="reference" href="#transitionToLet%2CPSym" title="transitionToLet(s: PSym)">transitionToLet(s: PSym)</a></li>
</ul>
<ul class="simple nested-toc-section">withInfo
<li><a class="reference" href="#withInfo%2CPNode%2CTLineInfo" title="withInfo(n: PNode; info: TLineInfo): PNode">withInfo(n: PNode; info: TLineInfo): PNode</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">items
<li><a class="reference" href="#items.i%2CPNode" title="items(n: PNode): PNode">items(n: PNode): PNode</a></li>
</ul>
<ul class="simple nested-toc-section">pairs
<li><a class="reference" href="#pairs.i%2CPNode" title="pairs(n: PNode): tuple[i: int, n: PNode]">pairs(n: PNode): tuple[i: int, n: PNode]</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">[]
<li><a class="reference" href="#%5B%5D.t%2CIndexable%2CBackwardsIndex" title="`[]`(n: Indexable; i: BackwardsIndex): Indexable">`[]`(n: Indexable; i: BackwardsIndex): Indexable</a></li>
<li><a class="reference" href="#%5B%5D.t%2CIndexable%2Cint" title="`[]`(n: Indexable; i: int): Indexable">`[]`(n: Indexable; i: int): Indexable</a></li>
</ul>
<ul class="simple nested-toc-section">[]=
<li><a class="reference" href="#%5B%5D%3D.t%2CIndexable%2CBackwardsIndex%2CIndexable" title="`[]=`(n: Indexable; i: BackwardsIndex; x: Indexable)">`[]=`(n: Indexable; i: BackwardsIndex; x: Indexable)</a></li>
<li><a class="reference" href="#%5B%5D%3D.t%2CIndexable%2Cint%2CIndexable" title="`[]=`(n: Indexable; i: int; x: Indexable)">`[]=`(n: Indexable; i: int; x: Indexable)</a></li>
</ul>
<ul class="simple nested-toc-section">detailedInfo
<li><a class="reference" href="#detailedInfo.t%2CPSym" title="detailedInfo(sym: PSym): string">detailedInfo(sym: PSym): string</a></li>
</ul>
<ul class="simple nested-toc-section">fileIdx
<li><a class="reference" href="#fileIdx.t%2CPSym" title="fileIdx(c: PSym): FileIndex">fileIdx(c: PSym): FileIndex</a></li>
</ul>
<ul class="simple nested-toc-section">filename
<li><a class="reference" href="#filename.t%2CPSym" title="filename(c: PSym): string">filename(c: PSym): string</a></li>
</ul>
<ul class="simple nested-toc-section">hasDestructor
<li><a class="reference" href="#hasDestructor.t%2CPType" title="hasDestructor(t: PType): bool">hasDestructor(t: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">id
<li><a class="reference" href="#id.t%2CPIdObj" title="id(a: PIdObj): int">id(a: PIdObj): int</a></li>
</ul>
<ul class="simple nested-toc-section">incompleteType
<li><a class="reference" href="#incompleteType.t%2CPType" title="incompleteType(t: PType): bool">incompleteType(t: PType): bool</a></li>
</ul>
<ul class="simple nested-toc-section">previouslyInferred
<li><a class="reference" href="#previouslyInferred.t%2CPType" title="previouslyInferred(t: PType): PType">previouslyInferred(t: PType): PType</a></li>
</ul>
<ul class="simple nested-toc-section">transitionSymKindCommon
<li><a class="reference" href="#transitionSymKindCommon.t%2CTSymKind" title="transitionSymKindCommon(k: TSymKind)">transitionSymKindCommon(k: TSymKind)</a></li>
</ul>
<ul class="simple nested-toc-section">typeCompleted
<li><a class="reference" href="#typeCompleted.t%2CPSym" title="typeCompleted(s: PSym)">typeCompleted(s: PSym)</a></li>
</ul>
</ul>
</details>
</li>
<li>
<a class="reference reference-toplevel" href="#19" id="69">Exports</a>
</li>
</ul>
</div>
<div class="nine columns" id="content">
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
<div id="tocRoot"></div>
<p class="module-desc"></p>
<div class="section" id="6">
<h1><a class="toc-backref" href="#6">Imports</a></h1>
<dl class="item">
<a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="ropes.html">ropes</a>, <a class="reference external" href="idents.html">idents</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="CompilesId">
<dt><pre><a href="ast.html#CompilesId"><span class="Identifier">CompilesId</span></a> <span class="Other">=</span> <span class="Identifier">int</span></pre></dt>
<dd>
id that is used for the caching logic within <tt class="docutils literal"><span class="pre">system.compiles</span></tt>. See the seminst module.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L863" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L863" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="IdGenerator">
<dt><pre><a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span>
<span class="Identifier">module</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int32</span>
<span class="Identifier">symId</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int32</span>
<span class="Identifier">typeId</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int32</span>
<span class="Identifier">sealed</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/ast.nim#L1139" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1139" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ItemId">
<dt><pre><a href="ast.html#ItemId"><span class="Identifier">ItemId</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">module</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int32</span>
<span class="Identifier">item</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int32</span>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L755" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L755" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PIdObj">
<dt><pre><a href="ast.html#PIdObj"><span class="Identifier">PIdObj</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="ast.html#TIdObj"><span class="Identifier">TIdObj</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L774" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L774" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PInstantiation">
<dt><pre><a href="ast.html#PInstantiation"><span class="Identifier">PInstantiation</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="ast.html#TInstantiation"><span class="Identifier">TInstantiation</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L870" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L870" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PLib">
<dt><pre><a href="ast.html#PLib"><span class="Identifier">PLib</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="ast.html#TLib"><span class="Identifier">TLib</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L880" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L880" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PNode">
<dt><pre><a href="ast.html#PNode"><span class="Identifier">PNode</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="ast.html#TNode"><span class="Identifier">TNode</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L776" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L776" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PScope">
<dt><pre><a href="ast.html#PScope"><span class="Identifier">PScope</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="ast.html#TScope"><span class="Identifier">TScope</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L878" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L878" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PSym">
<dt><pre><a href="ast.html#PSym"><span class="Identifier">PSym</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="ast.html#TSym"><span class="Identifier">TSym</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L779" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L779" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PType">
<dt><pre><a href="ast.html#PType"><span class="Identifier">PType</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="ast.html#TType"><span class="Identifier">TType</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L778" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L778" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TCallingConvention">
<dt><pre><a href="ast.html#TCallingConvention"><span class="Identifier">TCallingConvention</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">ccNimCall</span> <span class="Other">=</span> <span class="StringLit">&quot;nimcall&quot;</span><span class="Other">,</span> <span class="Identifier">ccStdCall</span> <span class="Other">=</span> <span class="StringLit">&quot;stdcall&quot;</span><span class="Other">,</span> <span class="Identifier">ccCDecl</span> <span class="Other">=</span> <span class="StringLit">&quot;cdecl&quot;</span><span class="Other">,</span>
<span class="Identifier">ccSafeCall</span> <span class="Other">=</span> <span class="StringLit">&quot;safecall&quot;</span><span class="Other">,</span> <span class="Identifier">ccSysCall</span> <span class="Other">=</span> <span class="StringLit">&quot;syscall&quot;</span><span class="Other">,</span> <span class="Identifier">ccInline</span> <span class="Other">=</span> <span class="StringLit">&quot;inline&quot;</span><span class="Other">,</span>
<span class="Identifier">ccNoInline</span> <span class="Other">=</span> <span class="StringLit">&quot;noinline&quot;</span><span class="Other">,</span> <span class="Identifier">ccFastCall</span> <span class="Other">=</span> <span class="StringLit">&quot;fastcall&quot;</span><span class="Other">,</span> <span class="Identifier">ccThisCall</span> <span class="Other">=</span> <span class="StringLit">&quot;thiscall&quot;</span><span class="Other">,</span>
<span class="Identifier">ccClosure</span> <span class="Other">=</span> <span class="StringLit">&quot;closure&quot;</span><span class="Other">,</span> <span class="Identifier">ccNoConvention</span> <span class="Other">=</span> <span class="StringLit">&quot;noconv&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L22" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L22" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TIdNodePair">
<dt><pre><a href="ast.html#TIdNodePair"><span class="Identifier">TIdNodePair</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">key</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PIdObj"><span class="Identifier">PIdObj</span></a>
<span class="Identifier">val</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L990" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L990" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TIdNodePairSeq">
<dt><pre><a href="ast.html#TIdNodePairSeq"><span class="Identifier">TIdNodePairSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="ast.html#TIdNodePair"><span class="Identifier">TIdNodePair</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L994" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L994" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TIdNodeTable">
<dt><pre><a href="ast.html#TIdNodeTable"><span class="Identifier">TIdNodeTable</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">counter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TIdNodePairSeq"><span class="Identifier">TIdNodePairSeq</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L995" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L995" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TIdObj">
<dt><pre><a href="ast.html#TIdObj"><span class="Identifier">TIdObj</span></a> {.<span class="Identifier">acyclic</span>.} <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <span class="Identifier">RootObj</span>
<span class="Identifier">itemId</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L772" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L772" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TIdPair">
<dt><pre><a href="ast.html#TIdPair"><span class="Identifier">TIdPair</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">key</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PIdObj"><span class="Identifier">PIdObj</span></a>
<span class="Identifier">val</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">RootRef</span>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L981" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L981" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TIdPairSeq">
<dt><pre><a href="ast.html#TIdPairSeq"><span class="Identifier">TIdPairSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="ast.html#TIdPair"><span class="Identifier">TIdPair</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L985" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L985" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TIdTable">
<dt><pre><a href="ast.html#TIdTable"><span class="Identifier">TIdTable</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">counter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TIdPairSeq"><span class="Identifier">TIdPairSeq</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L986" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L986" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TImplication">
<dt><pre><a href="ast.html#TImplication"><span class="Identifier">TImplication</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">impUnknown</span><span class="Other">,</span> <span class="Identifier">impNo</span><span class="Other">,</span> <span class="Identifier">impYes</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1015" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1015" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TInstantiation">
<dt><pre><a href="ast.html#TInstantiation"><span class="Identifier">TInstantiation</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">sym</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a>
<span class="Identifier">concreteTypes</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">compilesId</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#CompilesId"><span class="Identifier">CompilesId</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L865" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L865" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TLib">
<dt><pre><a href="ast.html#TLib"><span class="Identifier">TLib</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TLibKind"><span class="Identifier">TLibKind</span></a>
<span class="Identifier">generated</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">isOverriden</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">name</span><span class="Operator">*</span><span class="Other">:</span> <a href="ropes.html#Rope"><span class="Identifier">Rope</span></a>
<span class="Identifier">path</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L854" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L854" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TLibKind">
<dt><pre><a href="ast.html#TLibKind"><span class="Identifier">TLibKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">libHeader</span><span class="Other">,</span> <span class="Identifier">libDynamic</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L851" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L851" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TLoc">
<dt><pre><a href="ast.html#TLoc"><span class="Identifier">TLoc</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">k</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TLocKind"><span class="Identifier">TLocKind</span></a>
<span class="Identifier">storage</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TStorageLoc"><span class="Identifier">TStorageLoc</span></a>
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TLocFlags"><span class="Identifier">TLocFlags</span></a>
<span class="Identifier">lode</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a>
<span class="Identifier">r</span><span class="Operator">*</span><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/ast.nim#L842" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L842" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TLocFlag">
<dt><pre><a href="ast.html#TLocFlag"><span class="Identifier">TLocFlag</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">lfIndirect</span><span class="Other">,</span> <span class="Identifier">lfFullExternalName</span><span class="Other">,</span> <span class="Identifier">lfNoDeepCopy</span><span class="Other">,</span> <span class="Identifier">lfNoDecl</span><span class="Other">,</span> <span class="Identifier">lfDynamicLib</span><span class="Other">,</span>
<span class="Identifier">lfExportLib</span><span class="Other">,</span> <span class="Identifier">lfHeader</span><span class="Other">,</span> <span class="Identifier">lfImportCompilerProc</span><span class="Other">,</span> <span class="Identifier">lfSingleUse</span><span class="Other">,</span> <span class="Identifier">lfEnforceDeref</span><span class="Other">,</span>
<span class="Identifier">lfPrepareForMutation</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L819" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L819" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TLocFlags">
<dt><pre><a href="ast.html#TLocFlags"><span class="Identifier">TLocFlags</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="ast.html#TLocFlag"><span class="Identifier">TLocFlag</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L841" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L841" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TLocKind">
<dt><pre><a href="ast.html#TLocKind"><span class="Identifier">TLocKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">locNone</span><span class="Other">,</span> <span class="Identifier">locTemp</span><span class="Other">,</span> <span class="Identifier">locLocalVar</span><span class="Other">,</span> <span class="Identifier">locGlobalVar</span><span class="Other">,</span> <span class="Identifier">locParam</span><span class="Other">,</span> <span class="Identifier">locField</span><span class="Other">,</span> <span class="Identifier">locExpr</span><span class="Other">,</span>
<span class="Identifier">locProc</span><span class="Other">,</span> <span class="Identifier">locData</span><span class="Other">,</span> <span class="Identifier">locCall</span><span class="Other">,</span> <span class="Identifier">locOther</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L807" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L807" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TMagic">
<dt><pre><a href="ast.html#TMagic"><span class="Identifier">TMagic</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">mNone</span><span class="Other">,</span> <span class="Identifier">mDefined</span><span class="Other">,</span> <span class="Identifier">mDeclared</span><span class="Other">,</span> <span class="Identifier">mDeclaredInScope</span><span class="Other">,</span> <span class="Identifier">mCompiles</span><span class="Other">,</span> <span class="Identifier">mArrGet</span><span class="Other">,</span> <span class="Identifier">mArrPut</span><span class="Other">,</span>
<span class="Identifier">mAsgn</span><span class="Other">,</span> <span class="Identifier">mLow</span><span class="Other">,</span> <span class="Identifier">mHigh</span><span class="Other">,</span> <span class="Identifier">mSizeOf</span><span class="Other">,</span> <span class="Identifier">mAlignOf</span><span class="Other">,</span> <span class="Identifier">mOffsetOf</span><span class="Other">,</span> <span class="Identifier">mTypeTrait</span><span class="Other">,</span> <span class="Identifier">mIs</span><span class="Other">,</span> <span class="Identifier">mOf</span><span class="Other">,</span> <span class="Identifier">mAddr</span><span class="Other">,</span>
<span class="Identifier">mType</span><span class="Other">,</span> <span class="Identifier">mTypeOf</span><span class="Other">,</span> <span class="Identifier">mPlugin</span><span class="Other">,</span> <span class="Identifier">mEcho</span><span class="Other">,</span> <span class="Identifier">mShallowCopy</span><span class="Other">,</span> <span class="Identifier">mSlurp</span><span class="Other">,</span> <span class="Identifier">mStaticExec</span><span class="Other">,</span> <span class="Identifier">mStatic</span><span class="Other">,</span>
<span class="Identifier">mParseExprToAst</span><span class="Other">,</span> <span class="Identifier">mParseStmtToAst</span><span class="Other">,</span> <span class="Identifier">mExpandToAst</span><span class="Other">,</span> <span class="Identifier">mQuoteAst</span><span class="Other">,</span> <span class="Identifier">mInc</span><span class="Other">,</span> <span class="Identifier">mDec</span><span class="Other">,</span> <span class="Identifier">mOrd</span><span class="Other">,</span>
<span class="Identifier">mNew</span><span class="Other">,</span> <span class="Identifier">mNewFinalize</span><span class="Other">,</span> <span class="Identifier">mNewSeq</span><span class="Other">,</span> <span class="Identifier">mNewSeqOfCap</span><span class="Other">,</span> <span class="Identifier">mLengthOpenArray</span><span class="Other">,</span> <span class="Identifier">mLengthStr</span><span class="Other">,</span>
<span class="Identifier">mLengthArray</span><span class="Other">,</span> <span class="Identifier">mLengthSeq</span><span class="Other">,</span> <span class="Identifier">mIncl</span><span class="Other">,</span> <span class="Identifier">mExcl</span><span class="Other">,</span> <span class="Identifier">mCard</span><span class="Other">,</span> <span class="Identifier">mChr</span><span class="Other">,</span> <span class="Identifier">mGCref</span><span class="Other">,</span> <span class="Identifier">mGCunref</span><span class="Other">,</span> <span class="Identifier">mAddI</span><span class="Other">,</span>
<span class="Identifier">mSubI</span><span class="Other">,</span> <span class="Identifier">mMulI</span><span class="Other">,</span> <span class="Identifier">mDivI</span><span class="Other">,</span> <span class="Identifier">mModI</span><span class="Other">,</span> <span class="Identifier">mSucc</span><span class="Other">,</span> <span class="Identifier">mPred</span><span class="Other">,</span> <span class="Identifier">mAddF64</span><span class="Other">,</span> <span class="Identifier">mSubF64</span><span class="Other">,</span> <span class="Identifier">mMulF64</span><span class="Other">,</span> <span class="Identifier">mDivF64</span><span class="Other">,</span>
<span class="Identifier">mShrI</span><span class="Other">,</span> <span class="Identifier">mShlI</span><span class="Other">,</span> <span class="Identifier">mAshrI</span><span class="Other">,</span> <span class="Identifier">mBitandI</span><span class="Other">,</span> <span class="Identifier">mBitorI</span><span class="Other">,</span> <span class="Identifier">mBitxorI</span><span class="Other">,</span> <span class="Identifier">mMinI</span><span class="Other">,</span> <span class="Identifier">mMaxI</span><span class="Other">,</span> <span class="Identifier">mAddU</span><span class="Other">,</span> <span class="Identifier">mSubU</span><span class="Other">,</span>
<span class="Identifier">mMulU</span><span class="Other">,</span> <span class="Identifier">mDivU</span><span class="Other">,</span> <span class="Identifier">mModU</span><span class="Other">,</span> <span class="Identifier">mEqI</span><span class="Other">,</span> <span class="Identifier">mLeI</span><span class="Other">,</span> <span class="Identifier">mLtI</span><span class="Other">,</span> <span class="Identifier">mEqF64</span><span class="Other">,</span> <span class="Identifier">mLeF64</span><span class="Other">,</span> <span class="Identifier">mLtF64</span><span class="Other">,</span> <span class="Identifier">mLeU</span><span class="Other">,</span> <span class="Identifier">mLtU</span><span class="Other">,</span>
<span class="Identifier">mEqEnum</span><span class="Other">,</span> <span class="Identifier">mLeEnum</span><span class="Other">,</span> <span class="Identifier">mLtEnum</span><span class="Other">,</span> <span class="Identifier">mEqCh</span><span class="Other">,</span> <span class="Identifier">mLeCh</span><span class="Other">,</span> <span class="Identifier">mLtCh</span><span class="Other">,</span> <span class="Identifier">mEqB</span><span class="Other">,</span> <span class="Identifier">mLeB</span><span class="Other">,</span> <span class="Identifier">mLtB</span><span class="Other">,</span> <span class="Identifier">mEqRef</span><span class="Other">,</span>
<span class="Identifier">mLePtr</span><span class="Other">,</span> <span class="Identifier">mLtPtr</span><span class="Other">,</span> <span class="Identifier">mXor</span><span class="Other">,</span> <span class="Identifier">mEqCString</span><span class="Other">,</span> <span class="Identifier">mEqProc</span><span class="Other">,</span> <span class="Identifier">mUnaryMinusI</span><span class="Other">,</span> <span class="Identifier">mUnaryMinusI64</span><span class="Other">,</span>
<span class="Identifier">mAbsI</span><span class="Other">,</span> <span class="Identifier">mNot</span><span class="Other">,</span> <span class="Identifier">mUnaryPlusI</span><span class="Other">,</span> <span class="Identifier">mBitnotI</span><span class="Other">,</span> <span class="Identifier">mUnaryPlusF64</span><span class="Other">,</span> <span class="Identifier">mUnaryMinusF64</span><span class="Other">,</span> <span class="Identifier">mCharToStr</span><span class="Other">,</span>
<span class="Identifier">mBoolToStr</span><span class="Other">,</span> <span class="Identifier">mIntToStr</span><span class="Other">,</span> <span class="Identifier">mInt64ToStr</span><span class="Other">,</span> <span class="Identifier">mFloatToStr</span><span class="Other">,</span> <span class="Identifier">mCStrToStr</span><span class="Other">,</span> <span class="Identifier">mStrToStr</span><span class="Other">,</span>
<span class="Identifier">mEnumToStr</span><span class="Other">,</span> <span class="Identifier">mAnd</span><span class="Other">,</span> <span class="Identifier">mOr</span><span class="Other">,</span> <span class="Identifier">mImplies</span><span class="Other">,</span> <span class="Identifier">mIff</span><span class="Other">,</span> <span class="Identifier">mExists</span><span class="Other">,</span> <span class="Identifier">mForall</span><span class="Other">,</span> <span class="Identifier">mOld</span><span class="Other">,</span> <span class="Identifier">mEqStr</span><span class="Other">,</span> <span class="Identifier">mLeStr</span><span class="Other">,</span>
<span class="Identifier">mLtStr</span><span class="Other">,</span> <span class="Identifier">mEqSet</span><span class="Other">,</span> <span class="Identifier">mLeSet</span><span class="Other">,</span> <span class="Identifier">mLtSet</span><span class="Other">,</span> <span class="Identifier">mMulSet</span><span class="Other">,</span> <span class="Identifier">mPlusSet</span><span class="Other">,</span> <span class="Identifier">mMinusSet</span><span class="Other">,</span> <span class="Identifier">mConStrStr</span><span class="Other">,</span>
<span class="Identifier">mSlice</span><span class="Other">,</span> <span class="Identifier">mDotDot</span><span class="Other">,</span> <span class="Identifier">mFields</span><span class="Other">,</span> <span class="Identifier">mFieldPairs</span><span class="Other">,</span> <span class="Identifier">mOmpParFor</span><span class="Other">,</span> <span class="Identifier">mAppendStrCh</span><span class="Other">,</span>
<span class="Identifier">mAppendStrStr</span><span class="Other">,</span> <span class="Identifier">mAppendSeqElem</span><span class="Other">,</span> <span class="Identifier">mInSet</span><span class="Other">,</span> <span class="Identifier">mRepr</span><span class="Other">,</span> <span class="Identifier">mExit</span><span class="Other">,</span> <span class="Identifier">mSetLengthStr</span><span class="Other">,</span>
<span class="Identifier">mSetLengthSeq</span><span class="Other">,</span> <span class="Identifier">mIsPartOf</span><span class="Other">,</span> <span class="Identifier">mAstToStr</span><span class="Other">,</span> <span class="Identifier">mParallel</span><span class="Other">,</span> <span class="Identifier">mSwap</span><span class="Other">,</span> <span class="Identifier">mIsNil</span><span class="Other">,</span> <span class="Identifier">mArrToSeq</span><span class="Other">,</span>
<span class="Identifier">mOpenArrayToSeq</span><span class="Other">,</span> <span class="Identifier">mNewString</span><span class="Other">,</span> <span class="Identifier">mNewStringOfCap</span><span class="Other">,</span> <span class="Identifier">mParseBiggestFloat</span><span class="Other">,</span> <span class="Identifier">mMove</span><span class="Other">,</span>
<span class="Identifier">mWasMoved</span><span class="Other">,</span> <span class="Identifier">mDestroy</span><span class="Other">,</span> <span class="Identifier">mTrace</span><span class="Other">,</span> <span class="Identifier">mDefault</span><span class="Other">,</span> <span class="Identifier">mUnown</span><span class="Other">,</span> <span class="Identifier">mFinished</span><span class="Other">,</span> <span class="Identifier">mIsolate</span><span class="Other">,</span>
<span class="Identifier">mAccessEnv</span><span class="Other">,</span> <span class="Identifier">mAccessTypeField</span><span class="Other">,</span> <span class="Identifier">mReset</span><span class="Other">,</span> <span class="Identifier">mArray</span><span class="Other">,</span> <span class="Identifier">mOpenArray</span><span class="Other">,</span> <span class="Identifier">mRange</span><span class="Other">,</span> <span class="Identifier">mSet</span><span class="Other">,</span> <span class="Identifier">mSeq</span><span class="Other">,</span>
<span class="Identifier">mVarargs</span><span class="Other">,</span> <span class="Identifier">mRef</span><span class="Other">,</span> <span class="Identifier">mPtr</span><span class="Other">,</span> <span class="Identifier">mVar</span><span class="Other">,</span> <span class="Identifier">mDistinct</span><span class="Other">,</span> <span class="Identifier">mVoid</span><span class="Other">,</span> <span class="Identifier">mTuple</span><span class="Other">,</span> <span class="Identifier">mOrdinal</span><span class="Other">,</span> <span class="Identifier">mIterableType</span><span class="Other">,</span>
<span class="Identifier">mInt</span><span class="Other">,</span> <span class="Identifier">mInt8</span><span class="Other">,</span> <span class="Identifier">mInt16</span><span class="Other">,</span> <span class="Identifier">mInt32</span><span class="Other">,</span> <span class="Identifier">mInt64</span><span class="Other">,</span> <span class="Identifier">mUInt</span><span class="Other">,</span> <span class="Identifier">mUInt8</span><span class="Other">,</span> <span class="Identifier">mUInt16</span><span class="Other">,</span> <span class="Identifier">mUInt32</span><span class="Other">,</span> <span class="Identifier">mUInt64</span><span class="Other">,</span>
<span class="Identifier">mFloat</span><span class="Other">,</span> <span class="Identifier">mFloat32</span><span class="Other">,</span> <span class="Identifier">mFloat64</span><span class="Other">,</span> <span class="Identifier">mFloat128</span><span class="Other">,</span> <span class="Identifier">mBool</span><span class="Other">,</span> <span class="Identifier">mChar</span><span class="Other">,</span> <span class="Identifier">mString</span><span class="Other">,</span> <span class="Identifier">mCstring</span><span class="Other">,</span>
<span class="Identifier">mPointer</span><span class="Other">,</span> <span class="Identifier">mNil</span><span class="Other">,</span> <span class="Identifier">mExpr</span><span class="Other">,</span> <span class="Identifier">mStmt</span><span class="Other">,</span> <span class="Identifier">mTypeDesc</span><span class="Other">,</span> <span class="Identifier">mVoidType</span><span class="Other">,</span> <span class="Identifier">mPNimrodNode</span><span class="Other">,</span> <span class="Identifier">mSpawn</span><span class="Other">,</span>
<span class="Identifier">mDeepCopy</span><span class="Other">,</span> <span class="Identifier">mIsMainModule</span><span class="Other">,</span> <span class="Identifier">mCompileDate</span><span class="Other">,</span> <span class="Identifier">mCompileTime</span><span class="Other">,</span> <span class="Identifier">mProcCall</span><span class="Other">,</span> <span class="Identifier">mCpuEndian</span><span class="Other">,</span>
<span class="Identifier">mHostOS</span><span class="Other">,</span> <span class="Identifier">mHostCPU</span><span class="Other">,</span> <span class="Identifier">mBuildOS</span><span class="Other">,</span> <span class="Identifier">mBuildCPU</span><span class="Other">,</span> <span class="Identifier">mAppType</span><span class="Other">,</span> <span class="Identifier">mCompileOption</span><span class="Other">,</span>
<span class="Identifier">mCompileOptionArg</span><span class="Other">,</span> <span class="Identifier">mNLen</span><span class="Other">,</span> <span class="Identifier">mNChild</span><span class="Other">,</span> <span class="Identifier">mNSetChild</span><span class="Other">,</span> <span class="Identifier">mNAdd</span><span class="Other">,</span> <span class="Identifier">mNAddMultiple</span><span class="Other">,</span> <span class="Identifier">mNDel</span><span class="Other">,</span>
<span class="Identifier">mNKind</span><span class="Other">,</span> <span class="Identifier">mNSymKind</span><span class="Other">,</span> <span class="Identifier">mNccValue</span><span class="Other">,</span> <span class="Identifier">mNccInc</span><span class="Other">,</span> <span class="Identifier">mNcsAdd</span><span class="Other">,</span> <span class="Identifier">mNcsIncl</span><span class="Other">,</span> <span class="Identifier">mNcsLen</span><span class="Other">,</span> <span class="Identifier">mNcsAt</span><span class="Other">,</span>
<span class="Identifier">mNctPut</span><span class="Other">,</span> <span class="Identifier">mNctLen</span><span class="Other">,</span> <span class="Identifier">mNctGet</span><span class="Other">,</span> <span class="Identifier">mNctHasNext</span><span class="Other">,</span> <span class="Identifier">mNctNext</span><span class="Other">,</span> <span class="Identifier">mNIntVal</span><span class="Other">,</span> <span class="Identifier">mNFloatVal</span><span class="Other">,</span>
<span class="Identifier">mNSymbol</span><span class="Other">,</span> <span class="Identifier">mNIdent</span><span class="Other">,</span> <span class="Identifier">mNGetType</span><span class="Other">,</span> <span class="Identifier">mNStrVal</span><span class="Other">,</span> <span class="Identifier">mNSetIntVal</span><span class="Other">,</span> <span class="Identifier">mNSetFloatVal</span><span class="Other">,</span>
<span class="Identifier">mNSetSymbol</span><span class="Other">,</span> <span class="Identifier">mNSetIdent</span><span class="Other">,</span> <span class="Identifier">mNSetStrVal</span><span class="Other">,</span> <span class="Identifier">mNLineInfo</span><span class="Other">,</span> <span class="Identifier">mNNewNimNode</span><span class="Other">,</span> <span class="Identifier">mNCopyNimNode</span><span class="Other">,</span>
<span class="Identifier">mNCopyNimTree</span><span class="Other">,</span> <span class="Identifier">mStrToIdent</span><span class="Other">,</span> <span class="Identifier">mNSigHash</span><span class="Other">,</span> <span class="Identifier">mNSizeOf</span><span class="Other">,</span> <span class="Identifier">mNBindSym</span><span class="Other">,</span> <span class="Identifier">mNCallSite</span><span class="Other">,</span>
<span class="Identifier">mEqIdent</span><span class="Other">,</span> <span class="Identifier">mEqNimrodNode</span><span class="Other">,</span> <span class="Identifier">mSameNodeType</span><span class="Other">,</span> <span class="Identifier">mGetImpl</span><span class="Other">,</span> <span class="Identifier">mNGenSym</span><span class="Other">,</span> <span class="Identifier">mNHint</span><span class="Other">,</span> <span class="Identifier">mNWarning</span><span class="Other">,</span>
<span class="Identifier">mNError</span><span class="Other">,</span> <span class="Identifier">mInstantiationInfo</span><span class="Other">,</span> <span class="Identifier">mGetTypeInfo</span><span class="Other">,</span> <span class="Identifier">mGetTypeInfoV2</span><span class="Other">,</span> <span class="Identifier">mNimvm</span><span class="Other">,</span> <span class="Identifier">mIntDefine</span><span class="Other">,</span>
<span class="Identifier">mStrDefine</span><span class="Other">,</span> <span class="Identifier">mBoolDefine</span><span class="Other">,</span> <span class="Identifier">mGenericDefine</span><span class="Other">,</span> <span class="Identifier">mRunnableExamples</span><span class="Other">,</span> <span class="Identifier">mException</span><span class="Other">,</span>
<span class="Identifier">mBuiltinType</span><span class="Other">,</span> <span class="Identifier">mSymOwner</span><span class="Other">,</span> <span class="Identifier">mUncheckedArray</span><span class="Other">,</span> <span class="Identifier">mGetImplTransf</span><span class="Other">,</span>
<span class="Identifier">mSymIsInstantiationOf</span><span class="Other">,</span> <span class="Identifier">mNodeId</span><span class="Other">,</span> <span class="Identifier">mPrivateAccess</span><span class="Other">,</span> <span class="Identifier">mZeroDefault</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L642" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L642" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TNode">
<dt><pre><a href="ast.html#TNode"><span class="Identifier">TNode</span></a> {.<span class="Identifier">final</span><span class="Other">,</span> <span class="Identifier">acyclic</span>.} <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">typ</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a>
<span class="Identifier">info</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a>
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TNodeFlags"><span class="Identifier">TNodeFlags</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L780" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L780" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TNodeFlag">
<dt><pre><a href="ast.html#TNodeFlag"><span class="Identifier">TNodeFlag</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">nfNone</span><span class="Other">,</span> <span class="Identifier">nfBase2</span><span class="Other">,</span> <span class="Identifier">nfBase8</span><span class="Other">,</span> <span class="Identifier">nfBase16</span><span class="Other">,</span> <span class="Identifier">nfAllConst</span><span class="Other">,</span> <span class="Identifier">nfTransf</span><span class="Other">,</span> <span class="Identifier">nfNoRewrite</span><span class="Other">,</span> <span class="Identifier">nfSem</span><span class="Other">,</span>
<span class="Identifier">nfLL</span><span class="Other">,</span> <span class="Identifier">nfDotField</span><span class="Other">,</span> <span class="Identifier">nfDotSetter</span><span class="Other">,</span> <span class="Identifier">nfExplicitCall</span><span class="Other">,</span> <span class="Identifier">nfExprCall</span><span class="Other">,</span> <span class="Identifier">nfIsRef</span><span class="Other">,</span> <span class="Identifier">nfIsPtr</span><span class="Other">,</span>
<span class="Identifier">nfPreventCg</span><span class="Other">,</span> <span class="Identifier">nfBlockArg</span><span class="Other">,</span> <span class="Identifier">nfFromTemplate</span><span class="Other">,</span> <span class="Identifier">nfDefaultParam</span><span class="Other">,</span> <span class="Identifier">nfDefaultRefsParam</span><span class="Other">,</span>
<span class="Identifier">nfExecuteOnReload</span><span class="Other">,</span> <span class="Identifier">nfLastRead</span><span class="Other">,</span> <span class="Identifier">nfFirstWrite</span><span class="Other">,</span> <span class="Identifier">nfHasComment</span><span class="Other">,</span> <span class="Identifier">nfUseDefaultField</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L485" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L485" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TNodeFlags">
<dt><pre><a href="ast.html#TNodeFlags"><span class="Identifier">TNodeFlags</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="ast.html#TNodeFlag"><span class="Identifier">TNodeFlag</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L515" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L515" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TNodeKind">
<dt><pre><a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">nkNone</span><span class="Other">,</span> <span class="Identifier">nkEmpty</span><span class="Other">,</span> <span class="Identifier">nkIdent</span><span class="Other">,</span> <span class="Identifier">nkSym</span><span class="Other">,</span> <span class="Identifier">nkType</span><span class="Other">,</span> <span class="Identifier">nkCharLit</span><span class="Other">,</span> <span class="Identifier">nkIntLit</span><span class="Other">,</span> <span class="Identifier">nkInt8Lit</span><span class="Other">,</span>
<span class="Identifier">nkInt16Lit</span><span class="Other">,</span> <span class="Identifier">nkInt32Lit</span><span class="Other">,</span> <span class="Identifier">nkInt64Lit</span><span class="Other">,</span> <span class="Identifier">nkUIntLit</span><span class="Other">,</span> <span class="Identifier">nkUInt8Lit</span><span class="Other">,</span> <span class="Identifier">nkUInt16Lit</span><span class="Other">,</span>
<span class="Identifier">nkUInt32Lit</span><span class="Other">,</span> <span class="Identifier">nkUInt64Lit</span><span class="Other">,</span> <span class="Identifier">nkFloatLit</span><span class="Other">,</span> <span class="Identifier">nkFloat32Lit</span><span class="Other">,</span> <span class="Identifier">nkFloat64Lit</span><span class="Other">,</span>
<span class="Identifier">nkFloat128Lit</span><span class="Other">,</span> <span class="Identifier">nkStrLit</span><span class="Other">,</span> <span class="Identifier">nkRStrLit</span><span class="Other">,</span> <span class="Identifier">nkTripleStrLit</span><span class="Other">,</span> <span class="Identifier">nkNilLit</span><span class="Other">,</span> <span class="Identifier">nkComesFrom</span><span class="Other">,</span>
<span class="Identifier">nkDotCall</span><span class="Other">,</span> <span class="Identifier">nkCommand</span><span class="Other">,</span> <span class="Identifier">nkCall</span><span class="Other">,</span> <span class="Identifier">nkCallStrLit</span><span class="Other">,</span> <span class="Identifier">nkInfix</span><span class="Other">,</span> <span class="Identifier">nkPrefix</span><span class="Other">,</span> <span class="Identifier">nkPostfix</span><span class="Other">,</span>
<span class="Identifier">nkHiddenCallConv</span><span class="Other">,</span> <span class="Identifier">nkExprEqExpr</span><span class="Other">,</span> <span class="Identifier">nkExprColonExpr</span><span class="Other">,</span> <span class="Identifier">nkIdentDefs</span><span class="Other">,</span> <span class="Identifier">nkVarTuple</span><span class="Other">,</span>
<span class="Identifier">nkPar</span><span class="Other">,</span> <span class="Identifier">nkObjConstr</span><span class="Other">,</span> <span class="Identifier">nkCurly</span><span class="Other">,</span> <span class="Identifier">nkCurlyExpr</span><span class="Other">,</span> <span class="Identifier">nkBracket</span><span class="Other">,</span> <span class="Identifier">nkBracketExpr</span><span class="Other">,</span>
<span class="Identifier">nkPragmaExpr</span><span class="Other">,</span> <span class="Identifier">nkRange</span><span class="Other">,</span> <span class="Identifier">nkDotExpr</span><span class="Other">,</span> <span class="Identifier">nkCheckedFieldExpr</span><span class="Other">,</span> <span class="Identifier">nkDerefExpr</span><span class="Other">,</span> <span class="Identifier">nkIfExpr</span><span class="Other">,</span>
<span class="Identifier">nkElifExpr</span><span class="Other">,</span> <span class="Identifier">nkElseExpr</span><span class="Other">,</span> <span class="Identifier">nkLambda</span><span class="Other">,</span> <span class="Identifier">nkDo</span><span class="Other">,</span> <span class="Identifier">nkAccQuoted</span><span class="Other">,</span> <span class="Identifier">nkTableConstr</span><span class="Other">,</span> <span class="Identifier">nkBind</span><span class="Other">,</span>
<span class="Identifier">nkClosedSymChoice</span><span class="Other">,</span> <span class="Identifier">nkOpenSymChoice</span><span class="Other">,</span> <span class="Identifier">nkHiddenStdConv</span><span class="Other">,</span> <span class="Identifier">nkHiddenSubConv</span><span class="Other">,</span> <span class="Identifier">nkConv</span><span class="Other">,</span>
<span class="Identifier">nkCast</span><span class="Other">,</span> <span class="Identifier">nkStaticExpr</span><span class="Other">,</span> <span class="Identifier">nkAddr</span><span class="Other">,</span> <span class="Identifier">nkHiddenAddr</span><span class="Other">,</span> <span class="Identifier">nkHiddenDeref</span><span class="Other">,</span> <span class="Identifier">nkObjDownConv</span><span class="Other">,</span>
<span class="Identifier">nkObjUpConv</span><span class="Other">,</span> <span class="Identifier">nkChckRangeF</span><span class="Other">,</span> <span class="Identifier">nkChckRange64</span><span class="Other">,</span> <span class="Identifier">nkChckRange</span><span class="Other">,</span> <span class="Identifier">nkStringToCString</span><span class="Other">,</span>
<span class="Identifier">nkCStringToString</span><span class="Other">,</span> <span class="Identifier">nkAsgn</span><span class="Other">,</span> <span class="Identifier">nkFastAsgn</span><span class="Other">,</span> <span class="Identifier">nkGenericParams</span><span class="Other">,</span> <span class="Identifier">nkFormalParams</span><span class="Other">,</span>
<span class="Identifier">nkOfInherit</span><span class="Other">,</span> <span class="Identifier">nkImportAs</span><span class="Other">,</span> <span class="Identifier">nkProcDef</span><span class="Other">,</span> <span class="Identifier">nkMethodDef</span><span class="Other">,</span> <span class="Identifier">nkConverterDef</span><span class="Other">,</span> <span class="Identifier">nkMacroDef</span><span class="Other">,</span>
<span class="Identifier">nkTemplateDef</span><span class="Other">,</span> <span class="Identifier">nkIteratorDef</span><span class="Other">,</span> <span class="Identifier">nkOfBranch</span><span class="Other">,</span> <span class="Identifier">nkElifBranch</span><span class="Other">,</span> <span class="Identifier">nkExceptBranch</span><span class="Other">,</span>
<span class="Identifier">nkElse</span><span class="Other">,</span> <span class="Identifier">nkAsmStmt</span><span class="Other">,</span> <span class="Identifier">nkPragma</span><span class="Other">,</span> <span class="Identifier">nkPragmaBlock</span><span class="Other">,</span> <span class="Identifier">nkIfStmt</span><span class="Other">,</span> <span class="Identifier">nkWhenStmt</span><span class="Other">,</span> <span class="Identifier">nkForStmt</span><span class="Other">,</span>
<span class="Identifier">nkParForStmt</span><span class="Other">,</span> <span class="Identifier">nkWhileStmt</span><span class="Other">,</span> <span class="Identifier">nkCaseStmt</span><span class="Other">,</span> <span class="Identifier">nkTypeSection</span><span class="Other">,</span> <span class="Identifier">nkVarSection</span><span class="Other">,</span>
<span class="Identifier">nkLetSection</span><span class="Other">,</span> <span class="Identifier">nkConstSection</span><span class="Other">,</span> <span class="Identifier">nkConstDef</span><span class="Other">,</span> <span class="Identifier">nkTypeDef</span><span class="Other">,</span> <span class="Identifier">nkYieldStmt</span><span class="Other">,</span> <span class="Identifier">nkDefer</span><span class="Other">,</span>
<span class="Identifier">nkTryStmt</span><span class="Other">,</span> <span class="Identifier">nkFinally</span><span class="Other">,</span> <span class="Identifier">nkRaiseStmt</span><span class="Other">,</span> <span class="Identifier">nkReturnStmt</span><span class="Other">,</span> <span class="Identifier">nkBreakStmt</span><span class="Other">,</span> <span class="Identifier">nkContinueStmt</span><span class="Other">,</span>
<span class="Identifier">nkBlockStmt</span><span class="Other">,</span> <span class="Identifier">nkStaticStmt</span><span class="Other">,</span> <span class="Identifier">nkDiscardStmt</span><span class="Other">,</span> <span class="Identifier">nkStmtList</span><span class="Other">,</span> <span class="Identifier">nkImportStmt</span><span class="Other">,</span>
<span class="Identifier">nkImportExceptStmt</span><span class="Other">,</span> <span class="Identifier">nkExportStmt</span><span class="Other">,</span> <span class="Identifier">nkExportExceptStmt</span><span class="Other">,</span> <span class="Identifier">nkFromStmt</span><span class="Other">,</span>
<span class="Identifier">nkIncludeStmt</span><span class="Other">,</span> <span class="Identifier">nkBindStmt</span><span class="Other">,</span> <span class="Identifier">nkMixinStmt</span><span class="Other">,</span> <span class="Identifier">nkUsingStmt</span><span class="Other">,</span> <span class="Identifier">nkCommentStmt</span><span class="Other">,</span>
<span class="Identifier">nkStmtListExpr</span><span class="Other">,</span> <span class="Identifier">nkBlockExpr</span><span class="Other">,</span> <span class="Identifier">nkStmtListType</span><span class="Other">,</span> <span class="Identifier">nkBlockType</span><span class="Other">,</span> <span class="Identifier">nkWith</span><span class="Other">,</span> <span class="Identifier">nkWithout</span><span class="Other">,</span>
<span class="Identifier">nkTypeOfExpr</span><span class="Other">,</span> <span class="Identifier">nkObjectTy</span><span class="Other">,</span> <span class="Identifier">nkTupleTy</span><span class="Other">,</span> <span class="Identifier">nkTupleClassTy</span><span class="Other">,</span> <span class="Identifier">nkTypeClassTy</span><span class="Other">,</span>
<span class="Identifier">nkStaticTy</span><span class="Other">,</span> <span class="Identifier">nkRecList</span><span class="Other">,</span> <span class="Identifier">nkRecCase</span><span class="Other">,</span> <span class="Identifier">nkRecWhen</span><span class="Other">,</span> <span class="Identifier">nkRefTy</span><span class="Other">,</span> <span class="Identifier">nkPtrTy</span><span class="Other">,</span> <span class="Identifier">nkVarTy</span><span class="Other">,</span>
<span class="Identifier">nkConstTy</span><span class="Other">,</span> <span class="Identifier">nkOutTy</span><span class="Other">,</span> <span class="Identifier">nkDistinctTy</span><span class="Other">,</span> <span class="Identifier">nkProcTy</span><span class="Other">,</span> <span class="Identifier">nkIteratorTy</span><span class="Other">,</span> <span class="Identifier">nkSinkAsgn</span><span class="Other">,</span>
<span class="Identifier">nkEnumTy</span><span class="Other">,</span> <span class="Identifier">nkEnumFieldDef</span><span class="Other">,</span> <span class="Identifier">nkArgList</span><span class="Other">,</span> <span class="Identifier">nkPattern</span><span class="Other">,</span> <span class="Identifier">nkHiddenTryStmt</span><span class="Other">,</span> <span class="Identifier">nkClosure</span><span class="Other">,</span>
<span class="Identifier">nkGotoState</span><span class="Other">,</span> <span class="Identifier">nkState</span><span class="Other">,</span> <span class="Identifier">nkBreakState</span><span class="Other">,</span> <span class="Identifier">nkFuncDef</span><span class="Other">,</span> <span class="Identifier">nkTupleConstr</span><span class="Other">,</span> <span class="Identifier">nkError</span><span class="Other">,</span>
<span class="Identifier">nkModuleRef</span><span class="Other">,</span> <span class="Identifier">nkReplayAction</span><span class="Other">,</span> <span class="Identifier">nkNilRodNode</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L36" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L36" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TNodeKinds">
<dt><pre><a href="ast.html#TNodeKinds"><span class="Identifier">TNodeKinds</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L231" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L231" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TNodePair">
<dt><pre><a href="ast.html#TNodePair"><span class="Identifier">TNodePair</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">h</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">Hash</span>
<span class="Identifier">key</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a>
<span class="Identifier">val</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L999" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L999" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TNodePairSeq">
<dt><pre><a href="ast.html#TNodePairSeq"><span class="Identifier">TNodePairSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="ast.html#TNodePair"><span class="Identifier">TNodePair</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1004" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1004" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TNodeSeq">
<dt><pre><a href="ast.html#TNodeSeq"><span class="Identifier">TNodeSeq</span></a> <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></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L777" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L777" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TNodeTable">
<dt><pre><a href="ast.html#TNodeTable"><span class="Identifier">TNodeTable</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">counter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TNodePairSeq"><span class="Identifier">TNodePairSeq</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1005" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1005" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TObjectSeq">
<dt><pre><a href="ast.html#TObjectSeq"><span class="Identifier">TObjectSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">RootRef</span><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1010" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1010" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TObjectSet">
<dt><pre><a href="ast.html#TObjectSet"><span class="Identifier">TObjectSet</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">counter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TObjectSeq"><span class="Identifier">TObjectSeq</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1011" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1011" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TPair">
<dt><pre><a href="ast.html#TPair"><span class="Identifier">TPair</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">key</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">val</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">RootRef</span>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L976" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L976" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TPairSeq">
<dt><pre><a href="ast.html#TPairSeq"><span class="Identifier">TPairSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="ast.html#TPair"><span class="Identifier">TPair</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L979" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L979" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TScope">
<dt><pre><a href="ast.html#TScope"><span class="Identifier">TScope</span></a> {.<span class="Identifier">acyclic</span>.} <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">depthLevel</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">symbols</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TStrTable"><span class="Identifier">TStrTable</span></a>
<span class="Identifier">parent</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PScope"><span class="Identifier">PScope</span></a>
<span class="Identifier">allowPrivateAccess</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>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L872" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L872" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TStorageLoc">
<dt><pre><a href="ast.html#TStorageLoc"><span class="Identifier">TStorageLoc</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">OnUnknown</span><span class="Other">,</span> <span class="Identifier">OnStatic</span><span class="Other">,</span> <span class="Identifier">OnStack</span><span class="Other">,</span> <span class="Identifier">OnHeap</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L835" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L835" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TStrTable">
<dt><pre><a href="ast.html#TStrTable"><span class="Identifier">TStrTable</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">counter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">]</span>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L802" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L802" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TSym">
<dt><pre><a href="ast.html#TSym"><span class="Identifier">TSym</span></a> {.<span class="Identifier">acyclic</span>.} <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="ast.html#TIdObj"><span class="Identifier">TIdObj</span></a>
<span class="Identifier">magic</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TMagic"><span class="Identifier">TMagic</span></a>
<span class="Identifier">typ</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a>
<span class="Identifier">name</span><span class="Operator">*</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a>
<span class="Identifier">info</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a>
<span class="Identifier">owner</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a>
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TSymFlags"><span class="Identifier">TSymFlags</span></a>
<span class="Identifier">ast</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a>
<span class="Identifier">options</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#TOptions"><span class="Identifier">TOptions</span></a>
<span class="Identifier">position</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">offset</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">loc</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TLoc"><span class="Identifier">TLoc</span></a>
<span class="Identifier">annex</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PLib"><span class="Identifier">PLib</span></a>
<span class="Identifier">constraint</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L881" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L881" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TSymFlag">
<dt><pre><a href="ast.html#TSymFlag"><span class="Identifier">TSymFlag</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">sfUsed</span><span class="Other">,</span> <span class="Identifier">sfExported</span><span class="Other">,</span> <span class="Identifier">sfFromGeneric</span><span class="Other">,</span> <span class="Identifier">sfGlobal</span><span class="Other">,</span> <span class="Identifier">sfForward</span><span class="Other">,</span> <span class="Identifier">sfWasForwarded</span><span class="Other">,</span>
<span class="Identifier">sfImportc</span><span class="Other">,</span> <span class="Identifier">sfExportc</span><span class="Other">,</span> <span class="Identifier">sfMangleCpp</span><span class="Other">,</span> <span class="Identifier">sfVolatile</span><span class="Other">,</span> <span class="Identifier">sfRegister</span><span class="Other">,</span> <span class="Identifier">sfPure</span><span class="Other">,</span>
<span class="Identifier">sfNoSideEffect</span><span class="Other">,</span> <span class="Identifier">sfSideEffect</span><span class="Other">,</span> <span class="Identifier">sfMainModule</span><span class="Other">,</span> <span class="Identifier">sfSystemModule</span><span class="Other">,</span> <span class="Identifier">sfNoReturn</span><span class="Other">,</span>
<span class="Identifier">sfAddrTaken</span><span class="Other">,</span> <span class="Identifier">sfCompilerProc</span><span class="Other">,</span> <span class="Identifier">sfEscapes</span><span class="Other">,</span> <span class="Identifier">sfDiscriminant</span><span class="Other">,</span> <span class="Identifier">sfRequiresInit</span><span class="Other">,</span>
<span class="Identifier">sfDeprecated</span><span class="Other">,</span> <span class="Identifier">sfExplain</span><span class="Other">,</span> <span class="Identifier">sfError</span><span class="Other">,</span> <span class="Identifier">sfShadowed</span><span class="Other">,</span> <span class="Identifier">sfThread</span><span class="Other">,</span> <span class="Identifier">sfCppNonPod</span><span class="Other">,</span>
<span class="Identifier">sfCompileTime</span><span class="Other">,</span> <span class="Identifier">sfConstructor</span><span class="Other">,</span> <span class="Identifier">sfDispatcher</span><span class="Other">,</span> <span class="Identifier">sfBorrow</span><span class="Other">,</span> <span class="Identifier">sfInfixCall</span><span class="Other">,</span>
<span class="Identifier">sfNamedParamCall</span><span class="Other">,</span> <span class="Identifier">sfDiscardable</span><span class="Other">,</span> <span class="Identifier">sfOverriden</span><span class="Other">,</span> <span class="Identifier">sfCallsite</span><span class="Other">,</span> <span class="Identifier">sfGenSym</span><span class="Other">,</span>
<span class="Identifier">sfNonReloadable</span><span class="Other">,</span> <span class="Identifier">sfGeneratedOp</span><span class="Other">,</span> <span class="Identifier">sfTemplateParam</span><span class="Other">,</span> <span class="Identifier">sfCursor</span><span class="Other">,</span>
<span class="Identifier">sfInjectDestructors</span><span class="Other">,</span> <span class="Identifier">sfNeverRaises</span><span class="Other">,</span> <span class="Identifier">sfSystemRaisesDefect</span><span class="Other">,</span>
<span class="Identifier">sfUsedInFinallyOrExcept</span><span class="Other">,</span> <span class="Identifier">sfSingleUsedTemp</span><span class="Other">,</span> <span class="Identifier">sfNoalias</span><span class="Other">,</span> <span class="Identifier">sfEffectsDelayed</span><span class="Other">,</span>
<span class="Identifier">sfGeneratedType</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L234" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L234" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TSymFlags">
<dt><pre><a href="ast.html#TSymFlags"><span class="Identifier">TSymFlags</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="ast.html#TSymFlag"><span class="Identifier">TSymFlag</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L314" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L314" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TSymKind">
<dt><pre><a href="ast.html#TSymKind"><span class="Identifier">TSymKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">skUnknown</span><span class="Other">,</span> <span class="Identifier">skConditional</span><span class="Other">,</span> <span class="Identifier">skDynLib</span><span class="Other">,</span> <span class="Identifier">skParam</span><span class="Other">,</span> <span class="Identifier">skGenericParam</span><span class="Other">,</span> <span class="Identifier">skTemp</span><span class="Other">,</span> <span class="Identifier">skModule</span><span class="Other">,</span>
<span class="Identifier">skType</span><span class="Other">,</span> <span class="Identifier">skVar</span><span class="Other">,</span> <span class="Identifier">skLet</span><span class="Other">,</span> <span class="Identifier">skConst</span><span class="Other">,</span> <span class="Identifier">skResult</span><span class="Other">,</span> <span class="Identifier">skProc</span><span class="Other">,</span> <span class="Identifier">skFunc</span><span class="Other">,</span> <span class="Identifier">skMethod</span><span class="Other">,</span> <span class="Identifier">skIterator</span><span class="Other">,</span>
<span class="Identifier">skConverter</span><span class="Other">,</span> <span class="Identifier">skMacro</span><span class="Other">,</span> <span class="Identifier">skTemplate</span><span class="Other">,</span> <span class="Identifier">skField</span><span class="Other">,</span> <span class="Identifier">skEnumField</span><span class="Other">,</span> <span class="Identifier">skForVar</span><span class="Other">,</span> <span class="Identifier">skLabel</span><span class="Other">,</span>
<span class="Identifier">skStub</span><span class="Other">,</span> <span class="Identifier">skPackage</span><span class="Other">,</span> <span class="Identifier">skAlias</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L589" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L589" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TSymKinds">
<dt><pre><a href="ast.html#TSymKinds"><span class="Identifier">TSymKinds</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="ast.html#TSymKind"><span class="Identifier">TSymKind</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L622" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L622" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TType">
<dt><pre><a href="ast.html#TType"><span class="Identifier">TType</span></a> {.<span class="Identifier">acyclic</span>.} <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="ast.html#TIdObj"><span class="Identifier">TIdObj</span></a>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a>
<span class="Identifier">callConv</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TCallingConvention"><span class="Identifier">TCallingConvention</span></a>
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TTypeFlags"><span class="Identifier">TTypeFlags</span></a>
<span class="Identifier">sons</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TTypeSeq"><span class="Identifier">TTypeSeq</span></a>
<span class="Identifier">n</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a>
<span class="Identifier">owner</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a>
<span class="Identifier">sym</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a>
<span class="Identifier">size</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span>
<span class="Identifier">align</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int16</span>
<span class="Identifier">paddingAtEnd</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int16</span>
<span class="Identifier">loc</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#TLoc"><span class="Identifier">TLoc</span></a>
<span class="Identifier">typeInst</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a>
<span class="Identifier">uniqueId</span><span class="Operator">*</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</span></a>
</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L945" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L945" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TTypeAttachedOp">
<dt><pre><a href="ast.html#TTypeAttachedOp"><span class="Identifier">TTypeAttachedOp</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">attachedWasMoved</span><span class="Other">,</span> <span class="Identifier">attachedDestructor</span><span class="Other">,</span> <span class="Identifier">attachedAsgn</span><span class="Other">,</span> <span class="Identifier">attachedSink</span><span class="Other">,</span>
<span class="Identifier">attachedTrace</span><span class="Other">,</span> <span class="Identifier">attachedDeepCopy</span></pre></dt>
<dd>
as usual, order is important here
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L937" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L937" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TTypeFlag">
<dt><pre><a href="ast.html#TTypeFlag"><span class="Identifier">TTypeFlag</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">tfVarargs</span><span class="Other">,</span> <span class="Identifier">tfNoSideEffect</span><span class="Other">,</span> <span class="Identifier">tfFinal</span><span class="Other">,</span> <span class="Identifier">tfInheritable</span><span class="Other">,</span> <span class="Identifier">tfHasOwned</span><span class="Other">,</span> <span class="Identifier">tfEnumHasHoles</span><span class="Other">,</span>
<span class="Identifier">tfShallow</span><span class="Other">,</span> <span class="Identifier">tfThread</span><span class="Other">,</span> <span class="Identifier">tfFromGeneric</span><span class="Other">,</span> <span class="Identifier">tfUnresolved</span><span class="Other">,</span> <span class="Identifier">tfResolved</span><span class="Other">,</span> <span class="Identifier">tfRetType</span><span class="Other">,</span>
<span class="Identifier">tfCapturesEnv</span><span class="Other">,</span> <span class="Identifier">tfByCopy</span><span class="Other">,</span> <span class="Identifier">tfByRef</span><span class="Other">,</span> <span class="Identifier">tfIterator</span><span class="Other">,</span> <span class="Identifier">tfPartial</span><span class="Other">,</span> <span class="Identifier">tfNotNil</span><span class="Other">,</span>
<span class="Identifier">tfRequiresInit</span><span class="Other">,</span> <span class="Identifier">tfNeedsFullInit</span><span class="Other">,</span> <span class="Identifier">tfVarIsPtr</span><span class="Other">,</span> <span class="Identifier">tfHasMeta</span><span class="Other">,</span> <span class="Identifier">tfHasGCedMem</span><span class="Other">,</span>
<span class="Identifier">tfPacked</span><span class="Other">,</span> <span class="Identifier">tfHasStatic</span><span class="Other">,</span> <span class="Identifier">tfGenericTypeParam</span><span class="Other">,</span> <span class="Identifier">tfImplicitTypeParam</span><span class="Other">,</span>
<span class="Identifier">tfInferrableStatic</span><span class="Other">,</span> <span class="Identifier">tfConceptMatchedTypeSym</span><span class="Other">,</span> <span class="Identifier">tfExplicit</span><span class="Other">,</span> <span class="Identifier">tfWildcard</span><span class="Other">,</span>
<span class="Identifier">tfHasAsgn</span><span class="Other">,</span> <span class="Identifier">tfBorrowDot</span><span class="Other">,</span> <span class="Identifier">tfTriggersCompileTime</span><span class="Other">,</span> <span class="Identifier">tfRefsAnonObj</span><span class="Other">,</span> <span class="Identifier">tfCovariant</span><span class="Other">,</span>
<span class="Identifier">tfWeakCovariant</span><span class="Other">,</span> <span class="Identifier">tfContravariant</span><span class="Other">,</span> <span class="Identifier">tfCheckedForDestructor</span><span class="Other">,</span> <span class="Identifier">tfAcyclic</span><span class="Other">,</span>
<span class="Identifier">tfIncompleteStruct</span><span class="Other">,</span> <span class="Identifier">tfCompleteStruct</span><span class="Other">,</span> <span class="Identifier">tfExplicitCallConv</span><span class="Other">,</span> <span class="Identifier">tfIsConstructor</span><span class="Other">,</span>
<span class="Identifier">tfEffectSystemWorkaround</span><span class="Other">,</span> <span class="Identifier">tfIsOutParam</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L516" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L516" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TTypeFlags">
<dt><pre><a href="ast.html#TTypeFlags"><span class="Identifier">TTypeFlags</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="ast.html#TTypeFlag"><span class="Identifier">TTypeFlag</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L587" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L587" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TTypeKind">
<dt><pre><a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">tyNone</span><span class="Other">,</span> <span class="Identifier">tyBool</span><span class="Other">,</span> <span class="Identifier">tyChar</span><span class="Other">,</span> <span class="Identifier">tyEmpty</span><span class="Other">,</span> <span class="Identifier">tyAlias</span><span class="Other">,</span> <span class="Identifier">tyNil</span><span class="Other">,</span> <span class="Identifier">tyUntyped</span><span class="Other">,</span> <span class="Identifier">tyTyped</span><span class="Other">,</span>
<span class="Identifier">tyTypeDesc</span><span class="Other">,</span> <span class="Identifier">tyGenericInvocation</span><span class="Other">,</span> <span class="Identifier">tyGenericBody</span><span class="Other">,</span> <span class="Identifier">tyGenericInst</span><span class="Other">,</span> <span class="Identifier">tyGenericParam</span><span class="Other">,</span>
<span class="Identifier">tyDistinct</span><span class="Other">,</span> <span class="Identifier">tyEnum</span><span class="Other">,</span> <span class="Identifier">tyOrdinal</span><span class="Other">,</span> <span class="Identifier">tyArray</span><span class="Other">,</span> <span class="Identifier">tyObject</span><span class="Other">,</span> <span class="Identifier">tyTuple</span><span class="Other">,</span> <span class="Identifier">tySet</span><span class="Other">,</span> <span class="Identifier">tyRange</span><span class="Other">,</span>
<span class="Identifier">tyPtr</span><span class="Other">,</span> <span class="Identifier">tyRef</span><span class="Other">,</span> <span class="Identifier">tyVar</span><span class="Other">,</span> <span class="Identifier">tySequence</span><span class="Other">,</span> <span class="Identifier">tyProc</span><span class="Other">,</span> <span class="Identifier">tyPointer</span><span class="Other">,</span> <span class="Identifier">tyOpenArray</span><span class="Other">,</span> <span class="Identifier">tyString</span><span class="Other">,</span>
<span class="Identifier">tyCstring</span><span class="Other">,</span> <span class="Identifier">tyForward</span><span class="Other">,</span> <span class="Identifier">tyInt</span><span class="Other">,</span> <span class="Identifier">tyInt8</span><span class="Other">,</span> <span class="Identifier">tyInt16</span><span class="Other">,</span> <span class="Identifier">tyInt32</span><span class="Other">,</span> <span class="Identifier">tyInt64</span><span class="Other">,</span> <span class="Identifier">tyFloat</span><span class="Other">,</span>
<span class="Identifier">tyFloat32</span><span class="Other">,</span> <span class="Identifier">tyFloat64</span><span class="Other">,</span> <span class="Identifier">tyFloat128</span><span class="Other">,</span> <span class="Identifier">tyUInt</span><span class="Other">,</span> <span class="Identifier">tyUInt8</span><span class="Other">,</span> <span class="Identifier">tyUInt16</span><span class="Other">,</span> <span class="Identifier">tyUInt32</span><span class="Other">,</span>
<span class="Identifier">tyUInt64</span><span class="Other">,</span> <span class="Identifier">tyOwned</span><span class="Other">,</span> <span class="Identifier">tySink</span><span class="Other">,</span> <span class="Identifier">tyLent</span><span class="Other">,</span> <span class="Identifier">tyVarargs</span><span class="Other">,</span> <span class="Identifier">tyUncheckedArray</span><span class="Other">,</span> <span class="Identifier">tyProxy</span><span class="Other">,</span>
<span class="Identifier">tyBuiltInTypeClass</span><span class="Other">,</span> <span class="Identifier">tyUserTypeClass</span><span class="Other">,</span> <span class="Identifier">tyUserTypeClassInst</span><span class="Other">,</span>
<span class="Identifier">tyCompositeTypeClass</span><span class="Other">,</span> <span class="Identifier">tyInferred</span><span class="Other">,</span> <span class="Identifier">tyAnd</span><span class="Other">,</span> <span class="Identifier">tyOr</span><span class="Other">,</span> <span class="Identifier">tyNot</span><span class="Other">,</span> <span class="Identifier">tyAnything</span><span class="Other">,</span> <span class="Identifier">tyStatic</span><span class="Other">,</span>
<span class="Identifier">tyFromExpr</span><span class="Other">,</span> <span class="Identifier">tyConcept</span><span class="Other">,</span> <span class="Identifier">tyVoid</span><span class="Other">,</span> <span class="Identifier">tyIterable</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L363" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L363" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TTypeKinds">
<dt><pre><a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L483" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L483" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TTypeSeq">
<dt><pre><a href="ast.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/ast.nim#L935" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L935" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</dl>
</div>
<div class="section" id="8">
<h1><a class="toc-backref" href="#8">Vars</a></h1>
<dl class="item">
<div id="eqTypeFlags">
<dt><pre><a href="ast.html#eqTypeFlags"><span class="Identifier">eqTypeFlags</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="Identifier">tfIterator</span><span class="Other">,</span> <span class="Identifier">tfNotNil</span><span class="Other">,</span> <span class="Identifier">tfVarIsPtr</span><span class="Other">,</span> <a href="ast.html#tfGcSafe"><span class="Identifier">tfGcSafe</span></a><span class="Other">,</span> <span class="Identifier">tfNoSideEffect</span><span class="Other">,</span>
<span class="Identifier">tfIsOutParam</span><span class="Other">}</span></pre></dt>
<dd>
type flags that are essential for type equality. This is now a variable because for emulation of version:1.0 we might exclude {tfGcSafe, tfNoSideEffect}.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L636" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L636" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ggDebug">
<dt><pre><a href="ast.html#ggDebug"><span class="Identifier">ggDebug</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span></span>.}<span class="Other">:</span> <span class="Identifier">bool</span></pre></dt>
<dd>
convenience switch for trying out things
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1175" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1175" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</dl>
</div>
<div class="section" id="10">
<h1><a class="toc-backref" href="#10">Consts</a></h1>
<dl class="item">
<div id="abstractInst">
<dt><pre><a href="ast.html#abstractInst"><span class="Identifier">abstractInst</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyGenericInst</span><span class="Other">,</span> <span class="DecNumber">tyDistinct</span><span class="Other">,</span> <span class="DecNumber">tyOrdinal</span><span class="Other">,</span> <span class="DecNumber">tyTypeDesc</span><span class="Other">,</span> <span class="DecNumber">tyAlias</span><span class="Other">,</span>
<span class="DecNumber">tyInferred</span><span class="Other">,</span> <span class="DecNumber">tySink</span><span class="Other">,</span> <span class="DecNumber">tyOwned</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L479" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L479" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="abstractVarRange">
<dt><pre><a href="ast.html#abstractVarRange"><span class="Identifier">abstractVarRange</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyGenericInst</span><span class="Other">,</span> <span class="DecNumber">tyRange</span><span class="Other">,</span> <span class="DecNumber">tyVar</span><span class="Other">,</span> <span class="DecNumber">tyDistinct</span><span class="Other">,</span> <span class="DecNumber">tyOrdinal</span><span class="Other">,</span>
<span class="DecNumber">tyTypeDesc</span><span class="Other">,</span> <span class="DecNumber">tyAlias</span><span class="Other">,</span> <span class="DecNumber">tyInferred</span><span class="Other">,</span> <span class="DecNumber">tySink</span><span class="Other">,</span> <span class="DecNumber">tyOwned</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L477" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L477" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="AttachedOpToStr">
<dt><pre><a href="ast.html#AttachedOpToStr"><span class="Identifier">AttachedOpToStr</span></a><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="Identifier">TTypeAttachedOp</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">&quot;=wasMoved&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;=destroy&quot;</span><span class="Other">,</span>
<span class="StringLit">&quot;=copy&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;=sink&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;=trace&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;=deepcopy&quot;</span><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1505" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1505" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="bodyPos">
<dt><pre><a href="ast.html#bodyPos"><span class="Identifier">bodyPos</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1091" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1091" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="callableDefs">
<dt><pre><a href="ast.html#callableDefs"><span class="Identifier">callableDefs</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkLambda</span><span class="Other">..</span><span class="DecNumber">nkDo</span><span class="Other">,</span> <span class="DecNumber">nkProcDef</span><span class="Other">..</span><span class="DecNumber">nkIteratorDef</span><span class="Other">,</span> <span class="DecNumber">nkFuncDef</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1109" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1109" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ConcreteTypes">
<dt><pre><a href="ast.html#ConcreteTypes"><span class="Identifier">ConcreteTypes</span></a><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyBool</span><span class="Other">,</span> <span class="DecNumber">tyChar</span><span class="Other">,</span> <span class="DecNumber">tyEnum</span><span class="Other">,</span> <span class="DecNumber">tyArray</span><span class="Other">,</span> <span class="DecNumber">tyObject</span><span class="Other">,</span> <span class="DecNumber">tySet</span><span class="Other">,</span>
<span class="DecNumber">tyTuple</span><span class="Other">,</span> <span class="DecNumber">tyRange</span><span class="Other">,</span> <span class="DecNumber">tyPtr</span><span class="Other">,</span> <span class="DecNumber">tyRef</span><span class="Other">,</span> <span class="DecNumber">tyVar</span><span class="Other">,</span> <span class="DecNumber">tyLent</span><span class="Other">,</span>
<span class="DecNumber">tySequence</span><span class="Other">,</span> <span class="DecNumber">tyProc</span><span class="Other">,</span> <span class="DecNumber">tyPointer</span><span class="Other">,</span> <span class="DecNumber">tyOpenArray</span><span class="Other">,</span>
<span class="DecNumber">tyString</span><span class="Other">,</span> <span class="DecNumber">tyCstring</span><span class="Other">,</span> <span class="DecNumber">tyInt</span><span class="Other">..</span><span class="DecNumber">tyInt64</span><span class="Other">,</span>
<span class="DecNumber">tyFloat</span><span class="Other">..</span><span class="DecNumber">tyFloat128</span><span class="Other">,</span> <span class="DecNumber">tyUInt</span><span class="Other">..</span><span class="DecNumber">tyUInt64</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1065" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1065" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ConstantDataTypes">
<dt><pre><a href="ast.html#ConstantDataTypes"><span class="Identifier">ConstantDataTypes</span></a><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyArray</span><span class="Other">,</span> <span class="DecNumber">tySet</span><span class="Other">,</span> <span class="DecNumber">tyTuple</span><span class="Other">,</span> <span class="DecNumber">tySequence</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1074" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1074" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ctfeWhitelist">
<dt><pre><a href="ast.html#ctfeWhitelist"><span class="Identifier">ctfeWhitelist</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">mNone</span><span class="Other">,</span> <span class="DecNumber">mSucc</span><span class="Other">,</span> <span class="DecNumber">mPred</span><span class="Other">,</span> <span class="DecNumber">mInc</span><span class="Other">,</span> <span class="DecNumber">mDec</span><span class="Other">,</span> <span class="DecNumber">mOrd</span><span class="Other">,</span> <span class="DecNumber">mLengthOpenArray</span><span class="Other">,</span>
<span class="DecNumber">mLengthStr</span><span class="Other">,</span> <span class="DecNumber">mLengthArray</span><span class="Other">,</span> <span class="DecNumber">mLengthSeq</span><span class="Other">,</span> <span class="DecNumber">mArrGet</span><span class="Other">,</span> <span class="DecNumber">mArrPut</span><span class="Other">,</span> <span class="DecNumber">mAsgn</span><span class="Other">,</span>
<span class="DecNumber">mDestroy</span><span class="Other">,</span> <span class="DecNumber">mIncl</span><span class="Other">,</span> <span class="DecNumber">mExcl</span><span class="Other">,</span> <span class="DecNumber">mCard</span><span class="Other">,</span> <span class="DecNumber">mChr</span><span class="Other">,</span> <span class="DecNumber">mAddI</span><span class="Other">,</span> <span class="DecNumber">mSubI</span><span class="Other">,</span> <span class="DecNumber">mMulI</span><span class="Other">,</span>
<span class="DecNumber">mDivI</span><span class="Other">,</span> <span class="DecNumber">mModI</span><span class="Other">,</span> <span class="DecNumber">mAddF64</span><span class="Other">,</span> <span class="DecNumber">mSubF64</span><span class="Other">,</span> <span class="DecNumber">mMulF64</span><span class="Other">,</span> <span class="DecNumber">mDivF64</span><span class="Other">,</span> <span class="DecNumber">mShrI</span><span class="Other">,</span> <span class="DecNumber">mShlI</span><span class="Other">,</span>
<span class="DecNumber">mBitandI</span><span class="Other">,</span> <span class="DecNumber">mBitorI</span><span class="Other">,</span> <span class="DecNumber">mBitxorI</span><span class="Other">,</span> <span class="DecNumber">mMinI</span><span class="Other">,</span> <span class="DecNumber">mMaxI</span><span class="Other">,</span> <span class="DecNumber">mAddU</span><span class="Other">,</span> <span class="DecNumber">mSubU</span><span class="Other">,</span> <span class="DecNumber">mMulU</span><span class="Other">,</span>
<span class="DecNumber">mDivU</span><span class="Other">,</span> <span class="DecNumber">mModU</span><span class="Other">,</span> <span class="DecNumber">mEqI</span><span class="Other">,</span> <span class="DecNumber">mLeI</span><span class="Other">,</span> <span class="DecNumber">mLtI</span><span class="Other">,</span> <span class="DecNumber">mEqF64</span><span class="Other">,</span> <span class="DecNumber">mLeF64</span><span class="Other">,</span> <span class="DecNumber">mLtF64</span><span class="Other">,</span> <span class="DecNumber">mLeU</span><span class="Other">,</span>
<span class="DecNumber">mLtU</span><span class="Other">,</span> <span class="DecNumber">mEqEnum</span><span class="Other">,</span> <span class="DecNumber">mLeEnum</span><span class="Other">,</span> <span class="DecNumber">mLtEnum</span><span class="Other">,</span> <span class="DecNumber">mEqCh</span><span class="Other">,</span> <span class="DecNumber">mLeCh</span><span class="Other">,</span> <span class="DecNumber">mLtCh</span><span class="Other">,</span> <span class="DecNumber">mEqB</span><span class="Other">,</span>
<span class="DecNumber">mLeB</span><span class="Other">,</span> <span class="DecNumber">mLtB</span><span class="Other">,</span> <span class="DecNumber">mEqRef</span><span class="Other">,</span> <span class="DecNumber">mEqProc</span><span class="Other">,</span> <span class="DecNumber">mLePtr</span><span class="Other">,</span> <span class="DecNumber">mLtPtr</span><span class="Other">,</span> <span class="DecNumber">mEqCString</span><span class="Other">,</span> <span class="DecNumber">mXor</span><span class="Other">,</span>
<span class="DecNumber">mUnaryMinusI</span><span class="Other">,</span> <span class="DecNumber">mUnaryMinusI64</span><span class="Other">,</span> <span class="DecNumber">mAbsI</span><span class="Other">,</span> <span class="DecNumber">mNot</span><span class="Other">,</span> <span class="DecNumber">mUnaryPlusI</span><span class="Other">,</span>
<span class="DecNumber">mBitnotI</span><span class="Other">,</span> <span class="DecNumber">mUnaryPlusF64</span><span class="Other">,</span> <span class="DecNumber">mUnaryMinusF64</span><span class="Other">,</span> <span class="DecNumber">mCharToStr</span><span class="Other">,</span>
<span class="DecNumber">mBoolToStr</span><span class="Other">,</span> <span class="DecNumber">mIntToStr</span><span class="Other">,</span> <span class="DecNumber">mInt64ToStr</span><span class="Other">,</span> <span class="DecNumber">mFloatToStr</span><span class="Other">,</span> <span class="DecNumber">mCStrToStr</span><span class="Other">,</span>
<span class="DecNumber">mStrToStr</span><span class="Other">,</span> <span class="DecNumber">mEnumToStr</span><span class="Other">,</span> <span class="DecNumber">mAnd</span><span class="Other">,</span> <span class="DecNumber">mOr</span><span class="Other">,</span> <span class="DecNumber">mEqStr</span><span class="Other">,</span> <span class="DecNumber">mLeStr</span><span class="Other">,</span> <span class="DecNumber">mLtStr</span><span class="Other">,</span>
<span class="DecNumber">mEqSet</span><span class="Other">,</span> <span class="DecNumber">mLeSet</span><span class="Other">,</span> <span class="DecNumber">mLtSet</span><span class="Other">,</span> <span class="DecNumber">mMulSet</span><span class="Other">,</span> <span class="DecNumber">mPlusSet</span><span class="Other">,</span> <span class="DecNumber">mMinusSet</span><span class="Other">,</span>
<span class="DecNumber">mConStrStr</span><span class="Other">,</span> <span class="DecNumber">mAppendStrCh</span><span class="Other">,</span> <span class="DecNumber">mAppendStrStr</span><span class="Other">,</span> <span class="DecNumber">mAppendSeqElem</span><span class="Other">,</span>
<span class="DecNumber">mInSet</span><span class="Other">,</span> <span class="DecNumber">mRepr</span><span class="Other">,</span> <span class="DecNumber">mOpenArrayToSeq</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L722" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L722" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="declarativeDefs">
<dt><pre><a href="ast.html#declarativeDefs"><span class="Identifier">declarativeDefs</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkProcDef</span><span class="Other">,</span> <span class="DecNumber">nkFuncDef</span><span class="Other">,</span> <span class="DecNumber">nkMethodDef</span><span class="Other">,</span> <span class="DecNumber">nkIteratorDef</span><span class="Other">,</span>
<span class="DecNumber">nkConverterDef</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1106" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1106" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="defaultOffset">
<dt><pre><a href="ast.html#defaultOffset"><span class="Identifier">defaultOffset</span></a> <span class="Other">=</span> <span class="DecNumber">-1</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1120" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1120" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="dispatcherPos">
<dt><pre><a href="ast.html#dispatcherPos"><span class="Identifier">dispatcherPos</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/ast.nim#L1093" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1093" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="effectListLen">
<dt><pre><a href="ast.html#effectListLen"><span class="Identifier">effectListLen</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L358" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L358" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ensuresEffects">
<dt><pre><a href="ast.html#ensuresEffects"><span class="Identifier">ensuresEffects</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L354" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L354" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="exceptionEffects">
<dt><pre><a href="ast.html#exceptionEffects"><span class="Identifier">exceptionEffects</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L352" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L352" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ExportableSymKinds">
<dt><pre><a href="ast.html#ExportableSymKinds"><span class="Identifier">ExportableSymKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">skType</span><span class="Other">..</span><span class="DecNumber">skConst</span><span class="Other">,</span> <span class="DecNumber">skProc</span><span class="Other">..</span><span class="DecNumber">skTemplate</span><span class="Other">,</span> <span class="DecNumber">skEnumField</span><span class="Other">,</span> <span class="DecNumber">skStub</span><span class="Other">,</span>
<span class="DecNumber">skAlias</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L627" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L627" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="forbiddenEffects">
<dt><pre><a href="ast.html#forbiddenEffects"><span class="Identifier">forbiddenEffects</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L357" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L357" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="GcTypeKinds">
<dt><pre><a href="ast.html#GcTypeKinds"><span class="Identifier">GcTypeKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyRef</span><span class="Other">,</span> <span class="DecNumber">tySequence</span><span class="Other">,</span> <span class="DecNumber">tyString</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L464" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L464" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="generatedMagics">
<dt><pre><a href="ast.html#generatedMagics"><span class="Identifier">generatedMagics</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">mNone</span><span class="Other">,</span> <span class="DecNumber">mIsolate</span><span class="Other">,</span> <span class="DecNumber">mFinished</span><span class="Other">,</span> <span class="DecNumber">mOpenArrayToSeq</span><span class="Other">}</span></pre></dt>
<dd>
magics that are generated as normal procs in the backend
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L751" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L751" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="genericParamsPos">
<dt><pre><a href="ast.html#genericParamsPos"><span class="Identifier">genericParamsPos</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1087" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1087" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="GenericTypes">
<dt><pre><a href="ast.html#GenericTypes"><span class="Identifier">GenericTypes</span></a><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyGenericInvocation</span><span class="Other">,</span> <span class="DecNumber">tyGenericBody</span><span class="Other">,</span> <span class="DecNumber">tyGenericParam</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1058" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1058" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="GrowthFactor">
<dt><pre><a href="ast.html#GrowthFactor"><span class="Identifier">GrowthFactor</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1397" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1397" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="IntegralTypes">
<dt><pre><a href="ast.html#IntegralTypes"><span class="Identifier">IntegralTypes</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyBool</span><span class="Other">,</span> <span class="DecNumber">tyChar</span><span class="Other">,</span> <span class="DecNumber">tyEnum</span><span class="Other">,</span> <span class="DecNumber">tyInt</span><span class="Other">..</span><span class="DecNumber">tyInt64</span><span class="Other">,</span> <span class="DecNumber">tyFloat</span><span class="Other">..</span><span class="DecNumber">tyFloat128</span><span class="Other">,</span>
<span class="DecNumber">tyUInt</span><span class="Other">..</span><span class="DecNumber">tyUInt64</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1072" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1072" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="miscPos">
<dt><pre><a href="ast.html#miscPos"><span class="Identifier">miscPos</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1090" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1090" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="namePos">
<dt><pre><a href="ast.html#namePos"><span class="Identifier">namePos</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1085" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1085" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nfAllFieldsSet">
<dt><pre><a href="ast.html#nfAllFieldsSet"><span class="Identifier">nfAllFieldsSet</span></a> <span class="Other">=</span> <span class="DecNumber">nfBase2</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1095" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1095" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="NilableTypes">
<dt><pre><a href="ast.html#NilableTypes"><span class="Identifier">NilableTypes</span></a><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyPointer</span><span class="Other">,</span> <span class="DecNumber">tyCstring</span><span class="Other">,</span> <span class="DecNumber">tyRef</span><span class="Other">,</span> <span class="DecNumber">tyPtr</span><span class="Other">,</span> <span class="DecNumber">tyProc</span><span class="Other">,</span> <span class="DecNumber">tyProxy</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1076" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1076" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkCallKinds">
<dt><pre><a href="ast.html#nkCallKinds"><span class="Identifier">nkCallKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkCall</span><span class="Other">,</span> <span class="DecNumber">nkInfix</span><span class="Other">,</span> <span class="DecNumber">nkPrefix</span><span class="Other">,</span> <span class="DecNumber">nkPostfix</span><span class="Other">,</span> <span class="DecNumber">nkCommand</span><span class="Other">,</span> <span class="DecNumber">nkCallStrLit</span><span class="Other">,</span>
<span class="DecNumber">nkHiddenCallConv</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1097" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1097" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkEffectList">
<dt><pre><a href="ast.html#nkEffectList"><span class="Identifier">nkEffectList</span></a> <span class="Other">=</span> <span class="DecNumber">nkArgList</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L350" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L350" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkFloatLiterals">
<dt><pre><a href="ast.html#nkFloatLiterals"><span class="Identifier">nkFloatLiterals</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkFloatLit</span><span class="Other">..</span><span class="DecNumber">nkFloat128Lit</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1104" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1104" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkIdentKinds">
<dt><pre><a href="ast.html#nkIdentKinds"><span class="Identifier">nkIdentKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkIdent</span><span class="Other">,</span> <span class="DecNumber">nkSym</span><span class="Other">,</span> <span class="DecNumber">nkAccQuoted</span><span class="Other">,</span> <span class="DecNumber">nkOpenSymChoice</span><span class="Other">,</span> <span class="DecNumber">nkClosedSymChoice</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1099" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1099" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkLambdaKinds">
<dt><pre><a href="ast.html#nkLambdaKinds"><span class="Identifier">nkLambdaKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkLambda</span><span class="Other">,</span> <span class="DecNumber">nkDo</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1105" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1105" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkLastBlockStmts">
<dt><pre><a href="ast.html#nkLastBlockStmts"><span class="Identifier">nkLastBlockStmts</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkRaiseStmt</span><span class="Other">,</span> <span class="DecNumber">nkReturnStmt</span><span class="Other">,</span> <span class="DecNumber">nkBreakStmt</span><span class="Other">,</span> <span class="DecNumber">nkContinueStmt</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L359" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L359" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkLiterals">
<dt><pre><a href="ast.html#nkLiterals"><span class="Identifier">nkLiterals</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkCharLit</span><span class="Other">..</span><span class="DecNumber">nkTripleStrLit</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1103" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1103" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkPragmaCallKinds">
<dt><pre><a href="ast.html#nkPragmaCallKinds"><span class="Identifier">nkPragmaCallKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkExprColonExpr</span><span class="Other">,</span> <span class="DecNumber">nkCall</span><span class="Other">,</span> <span class="DecNumber">nkCallStrLit</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1102" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1102" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkStrKinds">
<dt><pre><a href="ast.html#nkStrKinds"><span class="Identifier">nkStrKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkStrLit</span><span class="Other">..</span><span class="DecNumber">nkTripleStrLit</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1112" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1112" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkSymChoices">
<dt><pre><a href="ast.html#nkSymChoices"><span class="Identifier">nkSymChoices</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkClosedSymChoice</span><span class="Other">,</span> <span class="DecNumber">nkOpenSymChoice</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1111" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1111" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkWhen">
<dt><pre><a href="ast.html#nkWhen"><span class="Identifier">nkWhen</span></a> <span class="Other">=</span> <span class="DecNumber">nkWhenStmt</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L348" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L348" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nkWhenExpr">
<dt><pre><a href="ast.html#nkWhenExpr"><span class="Identifier">nkWhenExpr</span></a> <span class="Other">=</span> <span class="DecNumber">nkWhenStmt</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L349" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L349" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nodesToIgnoreSet">
<dt><pre><a href="ast.html#nodesToIgnoreSet"><span class="Identifier">nodesToIgnoreSet</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkNone</span><span class="Other">..</span><span class="DecNumber">nkIdent</span><span class="Other">,</span> <span class="DecNumber">nkType</span><span class="Other">..</span><span class="DecNumber">nkNilLit</span><span class="Other">,</span> <span class="DecNumber">nkTypeSection</span><span class="Other">,</span> <span class="DecNumber">nkProcDef</span><span class="Other">,</span>
<span class="DecNumber">nkConverterDef</span><span class="Other">,</span> <span class="DecNumber">nkMethodDef</span><span class="Other">,</span> <span class="DecNumber">nkIteratorDef</span><span class="Other">,</span> <span class="DecNumber">nkMacroDef</span><span class="Other">,</span>
<span class="DecNumber">nkTemplateDef</span><span class="Other">,</span> <span class="DecNumber">nkLambda</span><span class="Other">,</span> <span class="DecNumber">nkDo</span><span class="Other">,</span> <span class="DecNumber">nkFuncDef</span><span class="Other">,</span> <span class="DecNumber">nkConstSection</span><span class="Other">,</span>
<span class="DecNumber">nkConstDef</span><span class="Other">,</span> <span class="DecNumber">nkIncludeStmt</span><span class="Other">,</span> <span class="DecNumber">nkImportStmt</span><span class="Other">,</span> <span class="DecNumber">nkExportStmt</span><span class="Other">,</span>
<span class="DecNumber">nkPragma</span><span class="Other">,</span> <span class="DecNumber">nkCommentStmt</span><span class="Other">,</span> <span class="DecNumber">nkBreakState</span><span class="Other">,</span> <span class="DecNumber">nkTypeOfExpr</span><span class="Other">,</span>
<span class="DecNumber">nkMixinStmt</span><span class="Other">,</span> <span class="DecNumber">nkBindStmt</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2136" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2136" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="OverloadableSyms">
<dt><pre><a href="ast.html#OverloadableSyms"><span class="Identifier">OverloadableSyms</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">skProc</span><span class="Other">,</span> <span class="DecNumber">skFunc</span><span class="Other">,</span> <span class="DecNumber">skMethod</span><span class="Other">,</span> <span class="DecNumber">skIterator</span><span class="Other">,</span> <span class="DecNumber">skConverter</span><span class="Other">,</span> <span class="DecNumber">skModule</span><span class="Other">,</span>
<span class="DecNumber">skTemplate</span><span class="Other">,</span> <span class="DecNumber">skMacro</span><span class="Other">,</span> <span class="DecNumber">skEnumField</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1055" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1055" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PackageModuleId">
<dt><pre><a href="ast.html#PackageModuleId"><span class="Identifier">PackageModuleId</span></a> <span class="Other">=</span> <span class="DecNumber">-3'i32</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1146" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1146" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="paramsPos">
<dt><pre><a href="ast.html#paramsPos"><span class="Identifier">paramsPos</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1088" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1088" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="patternPos">
<dt><pre><a href="ast.html#patternPos"><span class="Identifier">patternPos</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1086" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1086" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PersistentNodeFlags">
<dt><pre><a href="ast.html#PersistentNodeFlags"><span class="Identifier">PersistentNodeFlags</span></a><span class="Other">:</span> <a href="ast.html#TNodeFlags"><span class="Identifier">TNodeFlags</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nfBase2</span><span class="Other">,</span> <span class="DecNumber">nfBase8</span><span class="Other">,</span> <span class="DecNumber">nfBase16</span><span class="Other">,</span> <span class="DecNumber">nfDotSetter</span><span class="Other">,</span>
<span class="DecNumber">nfDotField</span><span class="Other">,</span> <span class="DecNumber">nfIsRef</span><span class="Other">,</span> <span class="DecNumber">nfIsPtr</span><span class="Other">,</span> <span class="DecNumber">nfPreventCg</span><span class="Other">,</span>
<span class="DecNumber">nfLL</span><span class="Other">,</span> <span class="DecNumber">nfFromTemplate</span><span class="Other">,</span> <span class="DecNumber">nfDefaultRefsParam</span><span class="Other">,</span>
<span class="DecNumber">nfExecuteOnReload</span><span class="Other">,</span> <span class="DecNumber">nfLastRead</span><span class="Other">,</span> <span class="DecNumber">nfFirstWrite</span><span class="Other">,</span>
<span class="DecNumber">nfUseDefaultField</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1079" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1079" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="pragmasEffects">
<dt><pre><a href="ast.html#pragmasEffects"><span class="Identifier">pragmasEffects</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L356" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L356" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="pragmasPos">
<dt><pre><a href="ast.html#pragmasPos"><span class="Identifier">pragmasPos</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1089" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1089" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="procDefs">
<dt><pre><a href="ast.html#procDefs"><span class="Identifier">procDefs</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkLambda</span><span class="Other">..</span><span class="DecNumber">nkDo</span><span class="Other">,</span> <span class="DecNumber">nkProcDef</span><span class="Other">..</span><span class="DecNumber">nkConverterDef</span><span class="Other">,</span> <span class="DecNumber">nkIteratorDef</span><span class="Other">,</span> <span class="DecNumber">nkFuncDef</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1108" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1108" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="PtrLikeKinds">
<dt><pre><a href="ast.html#PtrLikeKinds"><span class="Identifier">PtrLikeKinds</span></a><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyPointer</span><span class="Other">,</span> <span class="DecNumber">tyPtr</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1078" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1078" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="requiresEffects">
<dt><pre><a href="ast.html#requiresEffects"><span class="Identifier">requiresEffects</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L353" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L353" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="resultPos">
<dt><pre><a href="ast.html#resultPos"><span class="Identifier">resultPos</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1092" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1092" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="routineDefs">
<dt><pre><a href="ast.html#routineDefs"><span class="Identifier">routineDefs</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">nkProcDef</span><span class="Other">..</span><span class="DecNumber">nkIteratorDef</span><span class="Other">,</span> <span class="DecNumber">nkFuncDef</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1107" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1107" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="routineKinds">
<dt><pre><a href="ast.html#routineKinds"><span class="Identifier">routineKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">skProc</span><span class="Other">,</span> <span class="DecNumber">skFunc</span><span class="Other">,</span> <span class="DecNumber">skMethod</span><span class="Other">,</span> <span class="DecNumber">skIterator</span><span class="Other">,</span> <span class="DecNumber">skConverter</span><span class="Other">,</span> <span class="DecNumber">skMacro</span><span class="Other">,</span>
<span class="DecNumber">skTemplate</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L625" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L625" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfAllUntyped">
<dt><pre><a href="ast.html#sfAllUntyped"><span class="Identifier">sfAllUntyped</span></a> <span class="Other">=</span> <span class="DecNumber">sfVolatile</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L319" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L319" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfAnon">
<dt><pre><a href="ast.html#sfAnon"><span class="Identifier">sfAnon</span></a> <span class="Other">=</span> <span class="DecNumber">sfDiscardable</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L326" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L326" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfBase">
<dt><pre><a href="ast.html#sfBase"><span class="Identifier">sfBase</span></a> <span class="Other">=</span> <span class="DecNumber">sfDiscriminant</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L342" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L342" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfCompileToCpp">
<dt><pre><a href="ast.html#sfCompileToCpp"><span class="Identifier">sfCompileToCpp</span></a> <span class="Other">=</span> <span class="DecNumber">sfInfixCall</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L336" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L336" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfCompileToObjc">
<dt><pre><a href="ast.html#sfCompileToObjc"><span class="Identifier">sfCompileToObjc</span></a> <span class="Other">=</span> <span class="DecNumber">sfNamedParamCall</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L337" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L337" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfCustomPragma">
<dt><pre><a href="ast.html#sfCustomPragma"><span class="Identifier">sfCustomPragma</span></a> <span class="Other">=</span> <span class="DecNumber">sfRegister</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L343" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L343" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfDirty">
<dt><pre><a href="ast.html#sfDirty"><span class="Identifier">sfDirty</span></a> <span class="Other">=</span> <span class="DecNumber">sfPure</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L322" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L322" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfExperimental">
<dt><pre><a href="ast.html#sfExperimental"><span class="Identifier">sfExperimental</span></a> <span class="Other">=</span> <span class="DecNumber">sfOverriden</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L338" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L338" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfGoto">
<dt><pre><a href="ast.html#sfGoto"><span class="Identifier">sfGoto</span></a> <span class="Other">=</span> <span class="DecNumber">sfOverriden</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L339" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L339" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfNoForward">
<dt><pre><a href="ast.html#sfNoForward"><span class="Identifier">sfNoForward</span></a> <span class="Other">=</span> <span class="DecNumber">sfRegister</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L331" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L331" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfNoInit">
<dt><pre><a href="ast.html#sfNoInit"><span class="Identifier">sfNoInit</span></a> <span class="Other">=</span> <span class="DecNumber">sfMainModule</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L317" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L317" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfReorder">
<dt><pre><a href="ast.html#sfReorder"><span class="Identifier">sfReorder</span></a> <span class="Other">=</span> <span class="DecNumber">sfForward</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L333" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L333" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfTemplateRedefinition">
<dt><pre><a href="ast.html#sfTemplateRedefinition"><span class="Identifier">sfTemplateRedefinition</span></a> <span class="Other">=</span> <span class="DecNumber">sfExportc</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L344" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L344" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="sfWrittenTo">
<dt><pre><a href="ast.html#sfWrittenTo"><span class="Identifier">sfWrittenTo</span></a> <span class="Other">=</span> <span class="DecNumber">sfBorrow</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L340" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L340" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="skError">
<dt><pre><a href="ast.html#skError"><span class="Identifier">skError</span></a> <span class="Other">=</span> <span class="DecNumber">skUnknown</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L633" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L633" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="skLocalVars">
<dt><pre><a href="ast.html#skLocalVars"><span class="Identifier">skLocalVars</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">skVar</span><span class="Other">,</span> <span class="DecNumber">skLet</span><span class="Other">,</span> <span class="DecNumber">skForVar</span><span class="Other">,</span> <span class="DecNumber">skParam</span><span class="Other">,</span> <span class="DecNumber">skResult</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1114" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1114" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="skProcKinds">
<dt><pre><a href="ast.html#skProcKinds"><span class="Identifier">skProcKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">skProc</span><span class="Other">,</span> <span class="DecNumber">skFunc</span><span class="Other">,</span> <span class="DecNumber">skTemplate</span><span class="Other">,</span> <span class="DecNumber">skMacro</span><span class="Other">,</span> <span class="DecNumber">skIterator</span><span class="Other">,</span> <span class="DecNumber">skMethod</span><span class="Other">,</span>
<span class="DecNumber">skConverter</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1115" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1115" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="StartSize">
<dt><pre><a href="ast.html#StartSize"><span class="Identifier">StartSize</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/ast.nim#L1398" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1398" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="StructuralEquivTypes">
<dt><pre><a href="ast.html#StructuralEquivTypes"><span class="Identifier">StructuralEquivTypes</span></a><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyNil</span><span class="Other">,</span> <span class="DecNumber">tyTuple</span><span class="Other">,</span> <span class="DecNumber">tyArray</span><span class="Other">,</span> <span class="DecNumber">tySet</span><span class="Other">,</span> <span class="DecNumber">tyRange</span><span class="Other">,</span>
<span class="DecNumber">tyPtr</span><span class="Other">,</span> <span class="DecNumber">tyRef</span><span class="Other">,</span> <span class="DecNumber">tyVar</span><span class="Other">,</span> <span class="DecNumber">tyLent</span><span class="Other">,</span> <span class="DecNumber">tySequence</span><span class="Other">,</span>
<span class="DecNumber">tyProc</span><span class="Other">,</span> <span class="DecNumber">tyOpenArray</span><span class="Other">,</span> <span class="DecNumber">tyVarargs</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1061" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1061" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tagEffects">
<dt><pre><a href="ast.html#tagEffects"><span class="Identifier">tagEffects</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L355" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L355" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tfGcSafe">
<dt><pre><a href="ast.html#tfGcSafe"><span class="Identifier">tfGcSafe</span></a> <span class="Other">=</span> <span class="DecNumber">tfThread</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L630" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L630" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tfObjHasKids">
<dt><pre><a href="ast.html#tfObjHasKids"><span class="Identifier">tfObjHasKids</span></a> <span class="Other">=</span> <span class="DecNumber">tfEnumHasHoles</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L631" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L631" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tfReturnsNew">
<dt><pre><a href="ast.html#tfReturnsNew"><span class="Identifier">tfReturnsNew</span></a> <span class="Other">=</span> <span class="DecNumber">tfInheritable</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L632" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L632" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tfUnion">
<dt><pre><a href="ast.html#tfUnion"><span class="Identifier">tfUnion</span></a> <span class="Other">=</span> <span class="DecNumber">tfNoSideEffect</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L629" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L629" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tyError">
<dt><pre><a href="ast.html#tyError"><span class="Identifier">tyError</span></a> <span class="Other">=</span> <span class="DecNumber">tyProxy</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L465" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L465" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tyMetaTypes">
<dt><pre><a href="ast.html#tyMetaTypes"><span class="Identifier">tyMetaTypes</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyUntyped</span><span class="Other">,</span> <span class="DecNumber">tyTypeDesc</span><span class="Other">,</span> <span class="DecNumber">tyGenericParam</span><span class="Other">,</span>
<span class="DecNumber">tyBuiltInTypeClass</span><span class="Other">..</span><span class="DecNumber">tyCompositeTypeClass</span><span class="Other">,</span> <span class="DecNumber">tyAnd</span><span class="Other">..</span><span class="DecNumber">tyAnything</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L474" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L474" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tyPureObject">
<dt><pre><a href="ast.html#tyPureObject"><span class="Identifier">tyPureObject</span></a> <span class="Other">=</span> <span class="DecNumber">tyTuple</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L463" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L463" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tyTypeClasses">
<dt><pre><a href="ast.html#tyTypeClasses"><span class="Identifier">tyTypeClasses</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyBuiltInTypeClass</span><span class="Other">,</span> <span class="DecNumber">tyCompositeTypeClass</span><span class="Other">,</span> <span class="DecNumber">tyUserTypeClass</span><span class="Other">,</span>
<span class="DecNumber">tyUserTypeClassInst</span><span class="Other">,</span> <span class="DecNumber">tyAnd</span><span class="Other">,</span> <span class="DecNumber">tyOr</span><span class="Other">,</span> <span class="DecNumber">tyNot</span><span class="Other">,</span> <span class="DecNumber">tyAnything</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L470" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L470" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tyUnknown">
<dt><pre><a href="ast.html#tyUnknown"><span class="Identifier">tyUnknown</span></a> <span class="Other">=</span> <span class="DecNumber">tyFromExpr</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L466" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L466" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tyUnknownTypes">
<dt><pre><a href="ast.html#tyUnknownTypes"><span class="Identifier">tyUnknownTypes</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyProxy</span><span class="Other">,</span> <span class="DecNumber">tyFromExpr</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L468" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L468" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="tyUserTypeClasses">
<dt><pre><a href="ast.html#tyUserTypeClasses"><span class="Identifier">tyUserTypeClasses</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyUserTypeClass</span><span class="Other">,</span> <span class="DecNumber">tyUserTypeClassInst</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L475" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L475" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</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="$,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#%24%2CPSym"><span class="Identifier">`$`</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> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1508" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1508" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="$,ItemId">
<dt><pre><span class="Keyword">proc</span> <a href="#%24%2CItemId"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L759" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L759" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="==-procs-all">
<div id="==,ItemId,ItemId">
<dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CItemId%2CItemId"><span class="Identifier">`==`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L762" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L762" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="add-procs-all">
<div id="add,Indexable,Indexable">
<dt><pre><span class="Keyword">proc</span> <a href="#add%2CIndexable%2CIndexable"><span class="Identifier">add</span></a><span class="Other">(</span><span class="Identifier">father</span><span class="Other">,</span> <span class="Identifier">son</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">)</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1198" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1198" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="addAllowNil-procs-all">
<div id="addAllowNil,Indexable,Indexable">
<dt><pre><span class="Keyword">proc</span> <a href="#addAllowNil%2CIndexable%2CIndexable"><span class="Identifier">addAllowNil</span></a><span class="Other">(</span><span class="Identifier">father</span><span class="Other">,</span> <span class="Identifier">son</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">)</span> {.<span class="Identifier">inline</span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1202" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1202" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="addParam-procs-all">
<div id="addParam,PType,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#addParam%2CPType%2CPSym"><span class="Identifier">addParam</span></a><span class="Other">(</span><span class="Identifier">procType</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">param</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/ast.nim#L2083" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2083" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="addSonNilAllowed-procs-all">
<div id="addSonNilAllowed,PNode,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#addSonNilAllowed%2CPNode%2CPNode"><span class="Identifier">addSonNilAllowed</span></a><span class="Other">(</span><span class="Identifier">father</span><span class="Other">,</span> <span class="Identifier">son</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/ast.nim#L1671" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1671" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="appendToModule-procs-all">
<div id="appendToModule,PSym,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#appendToModule%2CPSym%2CPNode"><span class="Identifier">appendToModule</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">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>
The compiler will use this internally to add nodes that will be appended to the module after the sem pass
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1386" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1386" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="assignType-procs-all">
<div id="assignType,PType,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#assignType%2CPType%2CPType"><span class="Identifier">assignType</span></a><span class="Other">(</span><span class="Identifier">dest</span><span class="Other">,</span> <span class="Identifier">src</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1534" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1534" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="astdef-procs-all">
<div id="astdef,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#astdef%2CPSym"><span class="Identifier">astdef</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#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/ast.nim#L1353" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1353" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="canRaise-procs-all">
<div id="canRaise,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#canRaise%2CPNode"><span class="Identifier">canRaise</span></a><span class="Other">(</span><span class="Identifier">fn</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/ast.nim#L2097" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2097" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="canRaiseConservative-procs-all">
<div id="canRaiseConservative,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#canRaiseConservative%2CPNode"><span class="Identifier">canRaiseConservative</span></a><span class="Other">(</span><span class="Identifier">fn</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/ast.nim#L2091" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2091" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="comment-procs-all">
<div id="comment,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#comment%2CPNode"><span class="Identifier">comment</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">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/ast.nim#L1030" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1030" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="comment=-procs-all">
<div id="comment=,PNode,string">
<dt><pre><span class="Keyword">proc</span> <a href="#comment%3D%2CPNode%2Cstring"><span class="Identifier">comment=</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">a</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/ast.nim#L1035" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1035" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="containsNode-procs-all">
<div id="containsNode,PNode,TNodeKinds">
<dt><pre><span class="Keyword">proc</span> <a href="#containsNode%2CPNode%2CTNodeKinds"><span class="Identifier">containsNode</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">kinds</span><span class="Other">:</span> <a href="ast.html#TNodeKinds"><span class="Identifier">TNodeKinds</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/ast.nim#L1801" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1801" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="copyIdTable-procs-all">
<div id="copyIdTable,TIdTable,TIdTable">
<dt><pre><span class="Keyword">proc</span> <a href="#copyIdTable%2CTIdTable%2CTIdTable"><span class="Identifier">copyIdTable</span></a><span class="Other">(</span><span class="Identifier">dest</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">src</span><span class="Other">:</span> <a href="ast.html#TIdTable"><span class="Identifier">TIdTable</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/ast.nim#L1405" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1405" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="copyNode-procs-all">
<div id="copyNode,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#copyNode%2CPNode"><span class="Identifier">copyNode</span></a><span class="Other">(</span><span class="Identifier">src</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="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1679" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1679" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="copyObjectSet-procs-all">
<div id="copyObjectSet,TObjectSet,TObjectSet">
<dt><pre><span class="Keyword">proc</span> <a href="#copyObjectSet%2CTObjectSet%2CTObjectSet"><span class="Identifier">copyObjectSet</span></a><span class="Other">(</span><span class="Identifier">dest</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="ast.html#TObjectSet"><span class="Identifier">TObjectSet</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <a href="ast.html#TObjectSet"><span class="Identifier">TObjectSet</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/ast.nim#L1410" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1410" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="copyStrTable-procs-all">
<div id="copyStrTable,TStrTable,TStrTable">
<dt><pre><span class="Keyword">proc</span> <a href="#copyStrTable%2CTStrTable%2CTStrTable"><span class="Identifier">copyStrTable</span></a><span class="Other">(</span><span class="Identifier">dest</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="ast.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <a href="ast.html#TStrTable"><span class="Identifier">TStrTable</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/ast.nim#L1400" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1400" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="copySym-procs-all">
<div id="copySym,PSym,ItemId">
<dt><pre><span class="Keyword">proc</span> <a href="#copySym%2CPSym%2CItemId"><span class="Identifier">copySym</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">id</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</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/ast.nim#L1560" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1560" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="copyTree-procs-all">
<div id="copyTree,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#copyTree%2CPNode"><span class="Identifier">copyTree</span></a><span class="Other">(</span><span class="Identifier">src</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="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1773" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1773" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="copyTreeWithoutNode-procs-all">
<div id="copyTreeWithoutNode,PNode,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#copyTreeWithoutNode%2CPNode%2CPNode"><span class="Identifier">copyTreeWithoutNode</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">,</span> <span class="Identifier">skippedNode</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="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1780" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1780" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="copyType-procs-all">
<div id="copyType,PType,ItemId,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#copyType%2CPType%2CItemId%2CPSym"><span class="Identifier">copyType</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">id</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</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#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/ast.nim#L1552" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1552" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="createModuleAlias-procs-all">
<div id="createModuleAlias,PSym,ItemId,PIdent,TLineInfo,TOptions">
<dt><pre><span class="Keyword">proc</span> <a href="#createModuleAlias%2CPSym%2CItemId%2CPIdent%2CTLineInfo%2CTOptions"><span class="Identifier">createModuleAlias</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">id</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">;</span> <span class="Identifier">newIdent</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</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">options</span><span class="Other">:</span> <a href="options.html#TOptions"><span class="Identifier">TOptions</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/ast.nim#L1576" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1576" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="delSon-procs-all">
<div id="delSon,PNode,int">
<dt><pre><span class="Keyword">proc</span> <a href="#delSon%2CPNode%2Cint"><span class="Identifier">delSon</span></a><span class="Other">(</span><span class="Identifier">father</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">idx</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/ast.nim#L1674" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1674" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="discardSons-procs-all">
<div id="discardSons,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#discardSons%2CPNode"><span class="Identifier">discardSons</span></a><span class="Other">(</span><span class="Identifier">father</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/ast.nim#L1180" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1180" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="exactReplica-procs-all">
<div id="exactReplica,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#exactReplica%2CPType"><span class="Identifier">exactReplica</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#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/ast.nim#L1557" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1557" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="extractPragma-procs-all">
<div id="extractPragma,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#extractPragma%2CPSym"><span class="Identifier">extractPragma</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#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>
gets the pragma node of routine/type/var/let/const symbol <tt class="docutils literal"><span class="pre"><span class="Identifier">s</span></span></tt>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1242" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1242" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="findUnresolvedStatic-procs-all">
<div id="findUnresolvedStatic,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#findUnresolvedStatic%2CPNode"><span class="Identifier">findUnresolvedStatic</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/ast.nim#L2026" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2026" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getDeclPragma-procs-all">
<div id="getDeclPragma,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#getDeclPragma%2CPNode"><span class="Identifier">getDeclPragma</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>
return the <tt class="docutils literal"><span class="pre"><span class="Identifier">nkPragma</span></span></tt> node for declaration <tt class="docutils literal"><span class="pre"><span class="Identifier">n</span></span></tt>, or <tt class="docutils literal"><span class="pre"><span class="Keyword">nil</span></span></tt> if no pragma was found. Currently only supports routineDefs + {nkTypeDef}.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1211" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1211" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getFloat-procs-all">
<div id="getFloat,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#getFloat%2CPNode"><span class="Identifier">getFloat</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> <span class="Identifier">BiggestFloat</span> {.<span><span 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/ast.nim#L1838" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1838" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getInt-procs-all">
<div id="getInt,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#getInt%2CPNode"><span class="Identifier">getInt</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="int128.html#Int128"><span class="Identifier">Int128</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1818" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1818" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getInt64-procs-all">
<div id="getInt64,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#getInt64%2CPNode"><span class="Identifier">getInt64</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> <span class="Identifier">int64</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;use getInt&quot;</span><span class="Other">,</span>
<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>
<div class="deprecation-message">
<b>Deprecated:</b> use getInt
</div>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1831" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1831" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getPIdent-procs-all">
<div id="getPIdent,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#getPIdent%2CPNode"><span class="Identifier">getPIdent</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="idents.html#PIdent"><span class="Identifier">PIdent</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>
Returns underlying <tt class="docutils literal"><span class="pre"><span class="Identifier">PIdent</span></span></tt> for <tt class="docutils literal"><span class="pre"><span class="Punctuation">{</span><span class="Identifier">nkSym</span><span class="Punctuation">,</span> <span class="Identifier">nkIdent</span><span class="Punctuation">}</span></span></tt>, or <tt class="docutils literal"><span class="pre"><span class="Keyword">nil</span></span></tt>.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1122" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1122" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getStr-procs-all">
<div id="getStr,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#getStr%2CPNode"><span class="Identifier">getStr</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> <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">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/ast.nim#L1849" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1849" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getStrOrChar-procs-all">
<div id="getStrOrChar,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#getStrOrChar%2CPNode"><span class="Identifier">getStrOrChar</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> <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">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/ast.nim#L1861" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1861" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="hash-procs-all">
<div id="hash,ItemId">
<dt><pre><span class="Keyword">proc</span> <a href="#hash%2CItemId"><span class="Identifier">hash</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Hash</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L765" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L765" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="hasNilSon-procs-all">
<div id="hasNilSon,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#hasNilSon%2CPNode"><span class="Identifier">hasNilSon</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1793" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1793" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="hasPattern-procs-all">
<div id="hasPattern,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#hasPattern%2CPSym"><span class="Identifier">hasPattern</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">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/ast.nim#L1932" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1932" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="hasSonWith-procs-all">
<div id="hasSonWith,PNode,TNodeKind">
<dt><pre><span class="Keyword">proc</span> <a href="#hasSonWith%2CPNode%2CTNodeKind"><span class="Identifier">hasSonWith</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">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</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/ast.nim#L1787" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1787" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="hasSubnodeWith-procs-all">
<div id="hasSubnodeWith,PNode,TNodeKind">
<dt><pre><span class="Keyword">proc</span> <a href="#hasSubnodeWith%2CPNode%2CTNodeKind"><span class="Identifier">hasSubnodeWith</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">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</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/ast.nim#L1809" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1809" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="idGeneratorFromModule-procs-all">
<div id="idGeneratorFromModule,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#idGeneratorFromModule%2CPSym"><span class="Identifier">idGeneratorFromModule</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="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</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/ast.nim#L1148" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1148" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="initIdNodeTable-procs-all">
<div id="initIdNodeTable,TIdNodeTable">
<dt><pre><span class="Keyword">proc</span> <a href="#initIdNodeTable%2CTIdNodeTable"><span class="Identifier">initIdNodeTable</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="ast.html#TIdNodeTable"><span class="Identifier">TIdNodeTable</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/ast.nim#L1612" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1612" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="initIdTable-procs-all">
<div id="initIdTable,TIdTable">
<dt><pre><span class="Keyword">proc</span> <a href="#initIdTable%2CTIdTable"><span class="Identifier">initIdTable</span></a><span class="Other">(</span><span class="Identifier">x</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><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1595" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1595" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="initNodeTable-procs-all">
<div id="initNodeTable,TNodeTable">
<dt><pre><span class="Keyword">proc</span> <a href="#initNodeTable%2CTNodeTable"><span class="Identifier">initNodeTable</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="ast.html#TNodeTable"><span class="Identifier">TNodeTable</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/ast.nim#L1616" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1616" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="initObjectSet-procs-all">
<div id="initObjectSet,TObjectSet">
<dt><pre><span class="Keyword">proc</span> <a href="#initObjectSet%2CTObjectSet"><span class="Identifier">initObjectSet</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="ast.html#TObjectSet"><span class="Identifier">TObjectSet</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/ast.nim#L1608" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1608" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="initStrTable-procs-all">
<div id="initStrTable,TStrTable">
<dt><pre><span class="Keyword">proc</span> <a href="#initStrTable%2CTStrTable"><span class="Identifier">initStrTable</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="ast.html#TStrTable"><span class="Identifier">TStrTable</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/ast.nim#L1588" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1588" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isAtom-procs-all">
<div id="isAtom,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#isAtom%2CPNode"><span class="Identifier">isAtom</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 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/ast.nim#L1941" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1941" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isCallExpr-procs-all">
<div id="isCallExpr,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#isCallExpr%2CPNode"><span class="Identifier">isCallExpr</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1177" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1177" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isClosure-procs-all">
<div id="isClosure,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isClosure%2CPType"><span class="Identifier">isClosure</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> <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/ast.nim#L2065" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2065" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isClosureIterator-procs-all">
<div id="isClosureIterator,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isClosureIterator%2CPType"><span class="Identifier">isClosureIterator</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> <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/ast.nim#L2062" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2062" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isCompileTimeProc-procs-all">
<div id="isCompileTimeProc,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#isCompileTimeProc%2CPSym"><span class="Identifier">isCompileTimeProc</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">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/ast.nim#L1914" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1914" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isEmptyType-procs-all">
<div id="isEmptyType,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isEmptyType%2CPType"><span class="Identifier">isEmptyType</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>
'void' and 'typed' types are often equivalent to 'nil' these days:
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1944" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1944" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isGCedMem-procs-all">
<div id="isGCedMem,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isGCedMem%2CPType"><span class="Identifier">isGCedMem</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>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1635" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1635" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isGenericParams-procs-all">
<div id="isGenericParams,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#isGenericParams%2CPNode"><span class="Identifier">isGenericParams</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 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>
used to judge whether a node is generic params.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1871" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1871" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isGenericRoutine-procs-all">
<div id="isGenericRoutine,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#isGenericRoutine%2CPNode"><span class="Identifier">isGenericRoutine</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 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/ast.nim#L1875" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1875" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="isGenericRoutine,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#isGenericRoutine%2CPSym"><span class="Identifier">isGenericRoutine</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">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>
<p>determines if this symbol represents a generic routine or an instance of one. This should be renamed accordingly and <tt class="docutils literal"><span class="pre"><span class="Identifier">isGenericRoutineStrict</span></span></tt> should take this name instead.</p>
<p>Warning/XXX: Unfortunately, it considers a proc kind symbol flagged with sfFromGeneric as a generic routine. Instead this should likely not be the case and the concepts should be teased apart:</p>
<ul class="simple"><li>generic definition</li>
<li>generic instance</li>
<li>either generic definition or instance</li>
</ul>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1884" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1884" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isGenericRoutineStrict-procs-all">
<div id="isGenericRoutineStrict,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#isGenericRoutineStrict%2CPSym"><span class="Identifier">isGenericRoutineStrict</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">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>
determines if this symbol represents a generic routine the unusual name is so it doesn't collide and eventually replaces <tt class="docutils literal"><span class="pre"><span class="Identifier">isGenericRoutine</span></span></tt>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1878" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1878" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isImportedException-procs-all">
<div id="isImportedException,PType,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#isImportedException%2CPType%2CConfigRef"><span class="Identifier">isImportedException</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">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/ast.nim#L2007" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2007" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isInfixAs-procs-all">
<div id="isInfixAs,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#isInfixAs%2CPNode"><span class="Identifier">isInfixAs</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2018" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2018" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isInlineIterator-procs-all">
<div id="isInlineIterator,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isInlineIterator%2CPType"><span class="Identifier">isInlineIterator</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> <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/ast.nim#L2056" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2056" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isIterator-procs-all">
<div id="isIterator,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isIterator%2CPType"><span class="Identifier">isIterator</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> <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/ast.nim#L2059" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2059" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isMetaType-procs-all">
<div id="isMetaType,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isMetaType%2CPType"><span class="Identifier">isMetaType</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1360" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1360" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isNewStyleConcept-procs-all">
<div id="isNewStyleConcept,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#isNewStyleConcept%2CPNode"><span class="Identifier">isNewStyleConcept</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 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/ast.nim#L2129" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2129" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isOutParam-procs-all">
<div id="isOutParam,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isOutParam%2CPType"><span class="Identifier">isOutParam</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>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2133" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2133" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isRoutine-procs-all">
<div id="isRoutine,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#isRoutine%2CPSym"><span class="Identifier">isRoutine</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">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/ast.nim#L1911" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1911" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isRunnableExamples-procs-all">
<div id="isRunnableExamples,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#isRunnableExamples%2CPNode"><span class="Identifier">isRunnableExamples</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1918" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1918" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isSinkParam-procs-all">
<div id="isSinkParam,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#isSinkParam%2CPSym"><span class="Identifier">isSinkParam</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">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/ast.nim#L2068" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2068" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isSinkType-procs-all">
<div id="isSinkType,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isSinkType%2CPType"><span class="Identifier">isSinkType</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>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2071" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2071" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isUnresolvedStatic-procs-all">
<div id="isUnresolvedStatic,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#isUnresolvedStatic%2CPType"><span class="Identifier">isUnresolvedStatic</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1365" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1365" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="lastSon-procs-all">
<div id="lastSon,Indexable">
<dt><pre><span class="Keyword">proc</span> <a href="#lastSon%2CIndexable"><span class="Identifier">lastSon</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Indexable</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1447" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1447" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="len-procs-all">
<div id="len,Indexable">
<dt><pre><span class="Keyword">proc</span> <a href="#len%2CIndexable"><span class="Identifier">len</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">Indexable</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/ast.nim#L1184" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1184" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="linkTo-procs-all">
<div id="linkTo,PSym,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#linkTo%2CPSym%2CPType"><span class="Identifier">linkTo</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">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 class="Identifier">discardable</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/ast.nim#L1373" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1373" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="linkTo,PType,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#linkTo%2CPType%2CPSym"><span class="Identifier">linkTo</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">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#PType"><span class="Identifier">PType</span></a> {.<span class="Identifier">discardable</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/ast.nim#L1368" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1368" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="makeStmtList-procs-all">
<div id="makeStmtList,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#makeStmtList%2CPNode"><span class="Identifier">makeStmtList</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/ast.nim#L1948" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1948" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newFloatNode-procs-all">
<div id="newFloatNode,TNodeKind,BiggestFloat">
<dt><pre><span class="Keyword">proc</span> <a href="#newFloatNode%2CTNodeKind%2CBiggestFloat"><span class="Identifier">newFloatNode</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</span></a><span class="Other">;</span> <span class="Identifier">floatVal</span><span class="Other">:</span> <span class="Identifier">BiggestFloat</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/ast.nim#L1484" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1484" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newIdentNode-procs-all">
<div id="newIdentNode,PIdent,TLineInfo">
<dt><pre><span class="Keyword">proc</span> <a href="#newIdentNode%2CPIdent%2CTLineInfo"><span class="Identifier">newIdentNode</span></a><span class="Other">(</span><span class="Identifier">ident</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">;</span> <span class="Identifier">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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1422" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1422" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newIdTable-procs-all">
<div id="newIdTable">
<dt><pre><span class="Keyword">proc</span> <a href="#newIdTable"><span class="Identifier">newIdTable</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#TIdTable"><span class="Identifier">TIdTable</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/ast.nim#L1599" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1599" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newIntNode-procs-all">
<div id="newIntNode,TNodeKind,BiggestInt">
<dt><pre><span class="Keyword">proc</span> <a href="#newIntNode%2CTNodeKind%2CBiggestInt"><span class="Identifier">newIntNode</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</span></a><span class="Other">;</span> <span class="Identifier">intVal</span><span class="Other">:</span> <span class="Identifier">BiggestInt</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/ast.nim#L1439" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1439" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="newIntNode,TNodeKind,Int128">
<dt><pre><span class="Keyword">proc</span> <a href="#newIntNode%2CTNodeKind%2CInt128"><span class="Identifier">newIntNode</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</span></a><span class="Other">;</span> <span class="Identifier">intVal</span><span class="Other">:</span> <a href="int128.html#Int128"><span class="Identifier">Int128</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/ast.nim#L1443" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1443" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newIntTypeNode-procs-all">
<div id="newIntTypeNode,BiggestInt,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#newIntTypeNode%2CBiggestInt%2CPType"><span class="Identifier">newIntTypeNode</span></a><span class="Other">(</span><span class="Identifier">intVal</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span><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#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/ast.nim#L1457" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1457" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="newIntTypeNode,Int128,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#newIntTypeNode%2CInt128%2CPType"><span class="Identifier">newIntTypeNode</span></a><span class="Other">(</span><span class="Identifier">intVal</span><span class="Other">:</span> <a href="int128.html#Int128"><span class="Identifier">Int128</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#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/ast.nim#L1480" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1480" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newNode-procs-all">
<div id="newNode,TNodeKind">
<dt><pre><span class="Keyword">proc</span> <a href="#newNode%2CTNodeKind"><span class="Identifier">newNode</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</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>
new node with unknown line info, no type, and no children
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1289" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1289" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newNodeI-procs-all">
<div id="newNodeI,TNodeKind,TLineInfo">
<dt><pre><span class="Keyword">proc</span> <a href="#newNodeI%2CTNodeKind%2CTLineInfo"><span class="Identifier">newNodeI</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
new node with line info, no type, and no children
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1294" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1294" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="newNodeI,TNodeKind,TLineInfo,int">
<dt><pre><span class="Keyword">proc</span> <a href="#newNodeI%2CTNodeKind%2CTLineInfo%2Cint"><span class="Identifier">newNodeI</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</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">children</span><span class="Other">:</span> <span class="Identifier">int</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>
new node with line info, type, and children
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1299" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1299" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newNodeIT-procs-all">
<div id="newNodeIT,TNodeKind,TLineInfo,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#newNodeIT%2CTNodeKind%2CTLineInfo%2CPType"><span class="Identifier">newNodeIT</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</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">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#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>
new node with line info, type, and no children
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1306" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1306" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newProcNode-procs-all">
<div id="newProcNode,TNodeKind,TLineInfo,PNode,PNode,PNode,PNode,PNode,PNode,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#newProcNode%2CTNodeKind%2CTLineInfo%2CPNode%2CPNode%2CPNode%2CPNode%2CPNode%2CPNode%2CPNode"><span class="Identifier">newProcNode</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</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">body</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">params</span><span class="Other">,</span> <span class="Identifier">name</span><span class="Other">,</span>
<span class="Identifier">pattern</span><span class="Other">,</span> <span class="Identifier">genericParams</span><span class="Other">,</span> <span class="Identifier">pragmas</span><span class="Other">,</span> <span class="Identifier">exceptions</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/ast.nim#L1496" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1496" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newProcType-procs-all">
<div id="newProcType,TLineInfo,ItemId,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#newProcType%2CTLineInfo%2CItemId%2CPSym"><span class="Identifier">newProcType</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">id</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</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#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/ast.nim#L2074" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2074" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newSons-procs-all">
<div id="newSons,Indexable,int">
<dt><pre><span class="Keyword">proc</span> <a href="#newSons%2CIndexable%2Cint"><span class="Identifier">newSons</span></a><span class="Other">(</span><span class="Identifier">father</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">;</span> <span class="Identifier">length</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/ast.nim#L1531" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1531" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newStrNode-procs-all">
<div id="newStrNode,TNodeKind,string">
<dt><pre><span class="Keyword">proc</span> <a href="#newStrNode%2CTNodeKind%2Cstring"><span class="Identifier">newStrNode</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</span></a><span class="Other">;</span> <span class="Identifier">strVal</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/ast.nim#L1488" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1488" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="newStrNode,string,TLineInfo">
<dt><pre><span class="Keyword">proc</span> <a href="#newStrNode%2Cstring%2CTLineInfo"><span class="Identifier">newStrNode</span></a><span class="Other">(</span><span class="Identifier">strVal</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> <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/ast.nim#L1492" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1492" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newStrTable-procs-all">
<div id="newStrTable">
<dt><pre><span class="Keyword">proc</span> <a href="#newStrTable"><span class="Identifier">newStrTable</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#TStrTable"><span class="Identifier">TStrTable</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/ast.nim#L1592" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1592" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newSym-procs-all">
<div id="newSym,TSymKind,PIdent,ItemId,PSym,TLineInfo,TOptions">
<dt><pre><span class="Keyword">proc</span> <a href="#newSym%2CTSymKind%2CPIdent%2CItemId%2CPSym%2CTLineInfo%2CTOptions"><span class="Identifier">newSym</span></a><span class="Other">(</span><span class="Identifier">symKind</span><span class="Other">:</span> <a href="ast.html#TSymKind"><span class="Identifier">TSymKind</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a><span class="Other">;</span> <span class="Identifier">id</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</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">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span> <span class="Identifier">options</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="Other">}</span><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/ast.nim#L1342" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1342" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newSymNode-procs-all">
<div id="newSymNode,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#newSymNode%2CPSym"><span class="Identifier">newSymNode</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="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/ast.nim#L1427" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1427" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="newSymNode,PSym,TLineInfo">
<dt><pre><span class="Keyword">proc</span> <a href="#newSymNode%2CPSym%2CTLineInfo"><span class="Identifier">newSymNode</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">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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1433" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1433" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newTree-procs-all">
<div id="newTree,TNodeKind,varargs[PNode]">
<dt><pre><span class="Keyword">proc</span> <a href="#newTree%2CTNodeKind%2Cvarargs%5BPNode%5D"><span class="Identifier">newTree</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</span></a><span class="Other">;</span> <span class="Identifier">children</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/ast.nim#L1312" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1312" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newTreeI-procs-all">
<div id="newTreeI,TNodeKind,TLineInfo,varargs[PNode]">
<dt><pre><span class="Keyword">proc</span> <a href="#newTreeI%2CTNodeKind%2CTLineInfo%2Cvarargs%5BPNode%5D"><span class="Identifier">newTreeI</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</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">children</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/ast.nim#L1318" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1318" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newTreeIT-procs-all">
<div id="newTreeIT,TNodeKind,TLineInfo,PType,varargs[PNode]">
<dt><pre><span class="Keyword">proc</span> <a href="#newTreeIT%2CTNodeKind%2CTLineInfo%2CPType%2Cvarargs%5BPNode%5D"><span class="Identifier">newTreeIT</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TNodeKind"><span class="Identifier">TNodeKind</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">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span>
<span class="Identifier">children</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/ast.nim#L1324" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1324" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newType-procs-all">
<div id="newType,TTypeKind,ItemId,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#newType%2CTTypeKind%2CItemId%2CPSym"><span class="Identifier">newType</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a><span class="Other">;</span> <span class="Identifier">id</span><span class="Other">:</span> <a href="ast.html#ItemId"><span class="Identifier">ItemId</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#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/ast.nim#L1514" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1514" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="nextSymId-procs-all">
<div id="nextSymId,IdGenerator">
<dt><pre><span class="Keyword">proc</span> <a href="#nextSymId%2CIdGenerator"><span class="Identifier">nextSymId</span></a><span class="Other">(</span><span class="Identifier">x</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#ItemId"><span class="Identifier">ItemId</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1152" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1152" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="nextTypeId-procs-all">
<div id="nextTypeId,IdGenerator">
<dt><pre><span class="Keyword">proc</span> <a href="#nextTypeId%2CIdGenerator"><span class="Identifier">nextTypeId</span></a><span class="Other">(</span><span class="Identifier">x</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#ItemId"><span class="Identifier">ItemId</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1157" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1157" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="originatingModule-procs-all">
<div id="originatingModule,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#originatingModule%2CPSym"><span class="Identifier">originatingModule</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>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1907" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1907" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="propagateToOwner-procs-all">
<div id="propagateToOwner,PType,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#propagateToOwner%2CPType%2CPType"><span class="Identifier">propagateToOwner</span></a><span class="Other">(</span><span class="Identifier">owner</span><span class="Other">,</span> <span class="Identifier">elem</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">propagateHasAsgn</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="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1639" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1639" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="rawAddSon-procs-all">
<div id="rawAddSon,PType,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#rawAddSon%2CPType%2CPType"><span class="Identifier">rawAddSon</span></a><span class="Other">(</span><span class="Identifier">father</span><span class="Other">,</span> <span class="Identifier">son</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">propagateHasAsgn</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="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1664" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1664" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="rawAddSonNoPropagationOfTypeFlags-procs-all">
<div id="rawAddSonNoPropagationOfTypeFlags,PType,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#rawAddSonNoPropagationOfTypeFlags%2CPType%2CPType"><span class="Identifier">rawAddSonNoPropagationOfTypeFlags</span></a><span class="Other">(</span><span class="Identifier">father</span><span class="Other">,</span> <span class="Identifier">son</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="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1668" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1668" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="requiredParams-procs-all">
<div id="requiredParams,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#requiredParams%2CPSym"><span class="Identifier">requiredParams</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">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/ast.nim#L1923" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1923" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="resetIdTable-procs-all">
<div id="resetIdTable,TIdTable">
<dt><pre><span class="Keyword">proc</span> <a href="#resetIdTable%2CTIdTable"><span class="Identifier">resetIdTable</span></a><span class="Other">(</span><span class="Identifier">x</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><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1602" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1602" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="safeArrLen-procs-all">
<div id="safeArrLen,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#safeArrLen%2CPNode"><span class="Identifier">safeArrLen</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">int</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
works for array-like objects (strings passed as openArray in VM).
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1192" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1192" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="safeLen-procs-all">
<div id="safeLen,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#safeLen%2CPNode"><span class="Identifier">safeLen</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">int</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
works even for leaves.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1187" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1187" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="setInfoRecursive-procs-all">
<div id="setInfoRecursive,PNode,TLineInfo">
<dt><pre><span class="Keyword">proc</span> <a href="#setInfoRecursive%2CPNode%2CTLineInfo"><span class="Identifier">setInfoRecursive</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">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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
set line info recursively
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1261" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1261" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="setUseIc-procs-all">
<div id="setUseIc,bool">
<dt><pre><span class="Keyword">proc</span> <a href="#setUseIc%2Cbool"><span class="Identifier">setUseIc</span></a><span class="Other">(</span><span class="Identifier">useIc</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1028" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1028" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="shallowCopy-procs-all">
<div id="shallowCopy,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#shallowCopy%2CPNode"><span class="Identifier">shallowCopy</span></a><span class="Other">(</span><span class="Identifier">src</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="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1768" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1768" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="skipAddr-procs-all">
<div id="skipAddr,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#skipAddr%2CPNode"><span class="Identifier">skipAddr</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 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/ast.nim#L2126" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2126" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="skipColon-procs-all">
<div id="skipColon,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#skipColon%2CPNode"><span class="Identifier">skipColon</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/ast.nim#L2021" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2021" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="skipGenericOwner-procs-all">
<div id="skipGenericOwner,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#skipGenericOwner%2CPSym"><span class="Identifier">skipGenericOwner</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>
Generic instantiations are owned by their originating generic symbol. This proc skips such owners and goes straight to the owner of the generic itself (the module or the enclosing proc).
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1898" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1898" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="skipPragmaExpr-procs-all">
<div id="skipPragmaExpr,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#skipPragmaExpr%2CPNode"><span class="Identifier">skipPragmaExpr</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>
if pragma expr, give the node the pragmas are applied to, otherwise give node itself
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1253" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1253" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="skipStmtList-procs-all">
<div id="skipStmtList,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#skipStmtList%2CPNode"><span class="Identifier">skipStmtList</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/ast.nim#L1955" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1955" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="skipTypes-procs-all">
<div id="skipTypes,PType,TTypeKinds">
<dt><pre><span class="Keyword">proc</span> <a href="#skipTypes%2CPType%2CTTypeKinds"><span class="Identifier">skipTypes</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">kinds</span><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</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>
Used throughout the compiler code to test whether a type tree contains or doesn't contain a specific type/types - it is often the case that only the last child nodes of a type tree need to be searched. This is a really hot path within the compiler!
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1449" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1449" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="skipTypes,PType,TTypeKinds,int">
<dt><pre><span class="Keyword">proc</span> <a href="#skipTypes%2CPType%2CTTypeKinds%2Cint"><span class="Identifier">skipTypes</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">kinds</span><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a><span class="Other">;</span> <span class="Identifier">maxIters</span><span class="Other">:</span> <span class="Identifier">int</span><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/ast.nim#L1620" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1620" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="skipTypesOrNil-procs-all">
<div id="skipTypesOrNil,PType,TTypeKinds">
<dt><pre><span class="Keyword">proc</span> <a href="#skipTypesOrNil%2CPType%2CTTypeKinds"><span class="Identifier">skipTypesOrNil</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">kinds</span><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</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>
same as skipTypes but handles 'nil'
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1628" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1628" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="toHumanStr-procs-all">
<div id="toHumanStr,TSymKind">
<dt><pre><span class="Keyword">proc</span> <a href="#toHumanStr%2CTSymKind"><span class="Identifier">toHumanStr</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TSymKind"><span class="Identifier">TSymKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
strips leading <tt class="docutils literal"><span class="pre"><span class="Identifier">sk</span></span></tt>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2118" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2118" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="toHumanStr,TTypeKind">
<dt><pre><span class="Keyword">proc</span> <a href="#toHumanStr%2CTTypeKind"><span class="Identifier">toHumanStr</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
strips leading <tt class="docutils literal"><span class="pre"><span class="Identifier">tk</span></span></tt>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2122" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2122" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="toObject-procs-all">
<div id="toObject,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#toObject%2CPType"><span class="Identifier">toObject</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>
If <tt class="docutils literal"><span class="pre">typ</span></tt> is a tyRef then its immediate son is returned (which in many cases should be a <tt class="docutils literal"><span class="pre">tyObject</span></tt>). Otherwise <tt class="docutils literal"><span class="pre">typ</span></tt> is simply returned as-is.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1979" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1979" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="toObjectFromRefPtrGeneric-procs-all">
<div id="toObjectFromRefPtrGeneric,PType">
<dt><pre><span class="Keyword">proc</span> <a href="#toObjectFromRefPtrGeneric%2CPType"><span class="Identifier">toObjectFromRefPtrGeneric</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/ast.nim#L1987" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1987" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="toRef-procs-all">
<div id="toRef,PType,IdGenerator">
<dt><pre><span class="Keyword">proc</span> <a href="#toRef%2CPType%2CIdGenerator"><span class="Identifier">toRef</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">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>
If <tt class="docutils literal"><span class="pre">typ</span></tt> is a tyObject then it is converted into a <tt class="docutils literal"><span class="pre"><span class="Keyword">ref</span> <span class="Operator">&lt;</span><span class="Identifier">typ</span><span class="Operator">&gt;</span></span></tt> and returned. Otherwise <tt class="docutils literal"><span class="pre">typ</span></tt> is simply returned as-is.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1971" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1971" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="toVar-procs-all">
<div id="toVar,PType,TTypeKind,IdGenerator">
<dt><pre><span class="Keyword">proc</span> <a href="#toVar%2CPType%2CTTypeKind%2CIdGenerator"><span class="Identifier">toVar</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">kind</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</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>
If <tt class="docutils literal"><span class="pre">typ</span></tt> is not a tyVar then it is converted into a <tt class="docutils literal"><span class="pre"><span class="Keyword">var</span> <span class="Operator">&lt;</span><span class="Identifier">typ</span><span class="Operator">&gt;</span></span></tt> and returned. Otherwise <tt class="docutils literal"><span class="pre">typ</span></tt> is simply returned as-is.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1963" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1963" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="transitionGenericParamToType-procs-all">
<div id="transitionGenericParamToType,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#transitionGenericParamToType%2CPSym"><span class="Identifier">transitionGenericParamToType</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1734" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1734" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="transitionIntKind-procs-all">
<div id="transitionIntKind,PNode,range[]">
<dt><pre><span class="Keyword">proc</span> <a href="#transitionIntKind%2CPNode%2Crange%5B%5D"><span class="Identifier">transitionIntKind</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">kind</span><span class="Other">:</span> <span class="Identifier">range</span><span class="Other">[</span><span class="Identifier">nkCharLit</span> <span class="Operator">..</span> <span class="Identifier">nkUInt64Lit</span><span class="Other">]</span><span class="Other">)</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1712" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1712" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="transitionIntToFloatKind-procs-all">
<div id="transitionIntToFloatKind,PNode,range[]">
<dt><pre><span class="Keyword">proc</span> <a href="#transitionIntToFloatKind%2CPNode%2Crange%5B%5D"><span class="Identifier">transitionIntToFloatKind</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">kind</span><span class="Other">:</span> <span class="Identifier">range</span><span class="Other">[</span><span class="Identifier">nkFloatLit</span> <span class="Operator">..</span> <span class="Identifier">nkFloat128Lit</span><span class="Other">]</span><span class="Other">)</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1716" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1716" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="transitionNoneToSym-procs-all">
<div id="transitionNoneToSym,PNode">
<dt><pre><span class="Keyword">proc</span> <a href="#transitionNoneToSym%2CPNode"><span class="Identifier">transitionNoneToSym</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/ast.nim#L1720" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1720" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="transitionRoutineSymKind-procs-all">
<div id="transitionRoutineSymKind,PSym,range[]">
<dt><pre><span class="Keyword">proc</span> <a href="#transitionRoutineSymKind%2CPSym%2Crange%5B%5D"><span class="Identifier">transitionRoutineSymKind</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">kind</span><span class="Other">:</span> <span class="Identifier">range</span><span class="Other">[</span><span class="Identifier">skProc</span> <span class="Operator">..</span> <span class="Identifier">skTemplate</span><span class="Other">]</span><span class="Other">)</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1737" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1737" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="transitionSonsKind-procs-all">
<div id="transitionSonsKind,PNode,range[]">
<dt><pre><span class="Keyword">proc</span> <a href="#transitionSonsKind%2CPNode%2Crange%5B%5D"><span class="Identifier">transitionSonsKind</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">kind</span><span class="Other">:</span> <span class="Identifier">range</span><span class="Other">[</span><span class="Identifier">nkComesFrom</span> <span class="Operator">..</span> <span class="Identifier">nkTupleConstr</span><span class="Other">]</span><span class="Other">)</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1708" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1708" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="transitionToLet-procs-all">
<div id="transitionToLet,PSym">
<dt><pre><span class="Keyword">proc</span> <a href="#transitionToLet%2CPSym"><span class="Identifier">transitionToLet</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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1742" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1742" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="withInfo-procs-all">
<div id="withInfo,PNode,TLineInfo">
<dt><pre><span class="Keyword">proc</span> <a href="#withInfo%2CPNode%2CTLineInfo"><span class="Identifier">withInfo</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">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="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1418" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1418" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</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="items-iterators-all">
<div id="items.i,PNode">
<dt><pre><span class="Keyword">iterator</span> <a href="#items.i%2CPNode"><span class="Identifier">items</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/ast.nim#L1935" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1935" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="pairs-iterators-all">
<div id="pairs.i,PNode">
<dt><pre><span class="Keyword">iterator</span> <a href="#pairs.i%2CPNode"><span class="Identifier">pairs</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="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">int</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/ast.nim#L1938" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1938" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</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="[]-templates-all">
<div id="[].t,Indexable,BackwardsIndex">
<dt><pre><span class="Keyword">template</span> <a href="#%5B%5D.t%2CIndexable%2CBackwardsIndex"><span class="Identifier">`[]`</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">;</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">BackwardsIndex</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Indexable</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1208" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1208" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="[].t,Indexable,int">
<dt><pre><span class="Keyword">template</span> <a href="#%5B%5D.t%2CIndexable%2Cint"><span class="Identifier">`[]`</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">;</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Indexable</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1205" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1205" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="[]=-templates-all">
<div id="[]=.t,Indexable,BackwardsIndex,Indexable">
<dt><pre><span class="Keyword">template</span> <a href="#%5B%5D%3D.t%2CIndexable%2CBackwardsIndex%2CIndexable"><span class="Identifier">`[]=`</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">;</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">BackwardsIndex</span><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">)</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1209" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1209" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="[]=.t,Indexable,int,Indexable">
<dt><pre><span class="Keyword">template</span> <a href="#%5B%5D%3D.t%2CIndexable%2Cint%2CIndexable"><span class="Identifier">`[]=`</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">;</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">Indexable</span><span class="Other">)</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1206" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1206" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="detailedInfo-templates-all">
<div id="detailedInfo.t,PSym">
<dt><pre><span class="Keyword">template</span> <a href="#detailedInfo.t%2CPSym"><span class="Identifier">detailedInfo</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="Other">:</span> <span class="Identifier">string</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2053" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2053" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="fileIdx-templates-all">
<div id="fileIdx.t,PSym">
<dt><pre><span class="Keyword">template</span> <a href="#fileIdx.t%2CPSym"><span class="Identifier">fileIdx</span></a><span class="Other">(</span><span class="Identifier">c</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="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1378" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1378" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="filename-templates-all">
<div id="filename.t,PSym">
<dt><pre><span class="Keyword">template</span> <a href="#filename.t%2CPSym"><span class="Identifier">filename</span></a><span class="Other">(</span><span class="Identifier">c</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/ast.nim#L1382" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1382" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="hasDestructor-templates-all">
<div id="hasDestructor.t,PType">
<dt><pre><span class="Keyword">template</span> <a href="#hasDestructor.t%2CPType"><span class="Identifier">hasDestructor</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></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2045" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2045" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="id-templates-all">
<div id="id.t,PIdObj">
<dt><pre><span class="Keyword">template</span> <a href="#id.t%2CPIdObj"><span class="Identifier">id</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="ast.html#PIdObj"><span class="Identifier">PIdObj</span></a><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/ast.nim#L1134" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1134" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="incompleteType-templates-all">
<div id="incompleteType.t,PType">
<dt><pre><span class="Keyword">template</span> <a href="#incompleteType.t%2CPType"><span class="Identifier">incompleteType</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></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2047" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2047" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="previouslyInferred-templates-all">
<div id="previouslyInferred.t,PType">
<dt><pre><span class="Keyword">template</span> <a href="#previouslyInferred.t%2CPType"><span class="Identifier">previouslyInferred</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#PType"><span class="Identifier">PType</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1330" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1330" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="transitionSymKindCommon-templates-all">
<div id="transitionSymKindCommon.t,TSymKind">
<dt><pre><span class="Keyword">template</span> <a href="#transitionSymKindCommon.t%2CTSymKind"><span class="Identifier">transitionSymKindCommon</span></a><span class="Other">(</span><span class="Identifier">k</span><span class="Other">:</span> <a href="ast.html#TSymKind"><span class="Identifier">TSymKind</span></a><span class="Other">)</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L1723" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L1723" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="typeCompleted-templates-all">
<div id="typeCompleted.t,PSym">
<dt><pre><span class="Keyword">template</span> <a href="#typeCompleted.t%2CPSym"><span class="Identifier">typeCompleted</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></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/ast.nim#L2050" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/ast.nim#L2050" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
</dl>
</div>
<div class="section" id="19">
<h1><a class="toc-backref" href="#19">Exports</a></h1>
<dl class="item">
<a href="int128.html#bitxor,Int128,Int128"><span class="Identifier">bitxor</span></a>, <a href="int128.html#maskUInt16,Int128"><span class="Identifier">maskUInt16</span></a>, <a href="int128.html#<,Int128,BiggestInt"><span class="Identifier">&lt;</span></a>, <a href="int128.html#<=,BiggestInt,Int128"><span class="Identifier">&lt;=</span></a>, <a href="int128.html#high.t,typedesc[Int128]"><span class="Identifier">high</span></a>, <a href="int128.html#castToUInt64,Int128"><span class="Identifier">castToUInt64</span></a>, <a href="int128.html#shr,Int128,int"><span class="Identifier">shr</span></a>, <a href="int128.html#toHex,Int128"><span class="Identifier">toHex</span></a>, <a href="int128.html#==,Int128,Int128"><span class="Identifier">==</span></a>, <a href="int128.html#+,BiggestInt,Int128"><span class="Identifier">+</span></a>, <a href="int128.html#addInt128,string,Int128"><span class="Identifier">addInt128</span></a>, <a href="int128.html#abs,Int128"><span class="Identifier">abs</span></a>, <a href="int128.html#One"><span class="Identifier">One</span></a>, <a href="int128.html#<=,Int128,BiggestInt"><span class="Identifier">&lt;=</span></a>, <a href="int128.html#maskUInt64,Int128"><span class="Identifier">maskUInt64</span></a>, <a href="int128.html#$,Int128"><span class="Identifier">$</span></a>, <a href="int128.html#toUInt8,Int128"><span class="Identifier">toUInt8</span></a>, <a href="int128.html#inc,Int128,uint32"><span class="Identifier">inc</span></a>, <a href="int128.html#<,BiggestInt,Int128"><span class="Identifier">&lt;</span></a>, <a href="int128.html#+=,Int128,Int128"><span class="Identifier">+=</span></a>, <a href="int128.html#maskBytes,Int128,int"><span class="Identifier">maskBytes</span></a>, <a href="int128.html#Ten"><span class="Identifier">Ten</span></a>, <a href="int128.html#-,Int128"><span class="Identifier">-</span></a>, <a href="int128.html#-,Int128,BiggestInt"><span class="Identifier">-</span></a>, <a href="int128.html#*=,Int128,int32"><span class="Identifier">*=</span></a>, <a href="int128.html#Zero"><span class="Identifier">Zero</span></a>, <a href="int128.html#toInt32,Int128"><span class="Identifier">toInt32</span></a>, <a href="int128.html#==,BiggestInt,Int128"><span class="Identifier">==</span></a>, <a href="int128.html#-=,Int128,Int128"><span class="Identifier">-=</span></a>, <a href="int128.html#toInt64Checked,Int128,int64"><span class="Identifier">toInt64Checked</span></a>, <a href="int128.html#+,Int128,Int128"><span class="Identifier">+</span></a>, <a href="int128.html#parseDecimalInt128,string,int"><span class="Identifier">parseDecimalInt128</span></a>, <a href="int128.html#toInt8,Int128"><span class="Identifier">toInt8</span></a>, <a href="int128.html#toUInt16,Int128"><span class="Identifier">toUInt16</span></a>, <a href="int128.html#mod,Int128,Int128"><span class="Identifier">mod</span></a>, <a href="int128.html#toInt128,float64"><span class="Identifier">toInt128</span></a>, <a href="int128.html#shl,Int128,int"><span class="Identifier">shl</span></a>, <a href="int128.html#maskUInt32,Int128"><span class="Identifier">maskUInt32</span></a>, <a href="int128.html#toUInt32,Int128"><span class="Identifier">toUInt32</span></a>, <a href="int128.html#fastLog2,Int128"><span class="Identifier">fastLog2</span></a>, <a href="int128.html#toUInt,Int128"><span class="Identifier">toUInt</span></a>, <a href="int128.html#Int128"><span class="Identifier">Int128</span></a>, <a href="int128.html#<,Int128,Int128"><span class="Identifier">&lt;</span></a>, <a href="int128.html#bitor,Int128,Int128"><span class="Identifier">bitor</span></a>, <a href="int128.html#<=,Int128,Int128"><span class="Identifier">&lt;=</span></a>, <a href="int128.html#toFloat64,Int128"><span class="Identifier">toFloat64</span></a>, <a href="int128.html#-,BiggestInt,Int128"><span class="Identifier">-</span></a>, <a href="int128.html#==,Int128,BiggestInt"><span class="Identifier">==</span></a>, <a href="int128.html#*=,Int128,Int128"><span class="Identifier">*=</span></a>, <a href="int128.html#bitnot,Int128"><span class="Identifier">bitnot</span></a>, <a href="int128.html#toInt64,Int128"><span class="Identifier">toInt64</span></a>, <a href="int128.html#NegOne"><span class="Identifier">NegOne</span></a>, <a href="int128.html#div,Int128,Int128"><span class="Identifier">div</span></a>, <a href="int128.html#+,Int128,BiggestInt"><span class="Identifier">+</span></a>, <a href="int128.html#*,Int128,int32"><span class="Identifier">*</span></a>, <a href="int128.html#toUInt64,Int128"><span class="Identifier">toUInt64</span></a>, <a href="int128.html#low.t,typedesc[Int128]"><span class="Identifier">low</span></a>, <a href="int128.html#addToHex,string,Int128"><span class="Identifier">addToHex</span></a>, <a href="int128.html#-,Int128,Int128"><span class="Identifier">-</span></a>, <a href="int128.html#maskUInt8,Int128"><span class="Identifier">maskUInt8</span></a>, <a href="int128.html#divMod,Int128,Int128"><span class="Identifier">divMod</span></a>, <a href="int128.html#bitand,Int128,Int128"><span class="Identifier">bitand</span></a>, <a href="int128.html#toInt128,T"><span class="Identifier">toInt128</span></a>, <a href="int128.html#cmp,Int128,Int128"><span class="Identifier">cmp</span></a>, <a href="int128.html#*,Int128,Int128"><span class="Identifier">*</span></a>, <a href="int128.html#toInt16,Int128"><span class="Identifier">toInt16</span></a>, <a href="int128.html#toInt,Int128"><span class="Identifier">toInt</span></a>, <a href="int128.html#castToInt64,Int128"><span class="Identifier">castToInt64</span></a>
</dl>
</div>
</div>
</div>
<div class="twelve-columns footer">
<span class="nim-sprite"></span>
<br>
<small style="color: var(--hint);">Made with Nim. Generated: 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>