mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
2523 lines
227 KiB
HTML
2523 lines
227 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" data-theme="auto">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>astdef</title>
|
|
|
|
<!-- Google fonts -->
|
|
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
|
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
|
|
|
<!-- Favicon -->
|
|
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
|
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
|
|
|
<!-- CSS -->
|
|
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
|
|
|
<!-- JS -->
|
|
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
|
</head>
|
|
<body>
|
|
<div class="document" id="documentId">
|
|
<div class="container">
|
|
<h1 class="title">astdef</h1>
|
|
<div class="row">
|
|
<div class="three columns">
|
|
<div class="theme-select-wrapper">
|
|
<label for="theme-select">Theme: </label>
|
|
<select id="theme-select" onchange="setTheme(this.value)">
|
|
<option value="auto">🌗 Match OS</option>
|
|
<option value="dark">🌑 Dark</option>
|
|
<option value="light">🌕 Light</option>
|
|
</select>
|
|
</div>
|
|
<div id="global-links">
|
|
<ul class="simple">
|
|
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="searchInputDiv">
|
|
Search: <input type="search" id="searchInput" oninput="search()"/>
|
|
</div>
|
|
<div>
|
|
Group by:
|
|
<select onchange="groupBy(this.value)">
|
|
<option value="section">Section</option>
|
|
<option value="type">Type</option>
|
|
</select>
|
|
</div>
|
|
<ul class="simple simple-toc" id="toc-list">
|
|
<li>
|
|
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
|
<ul class="simple simple-toc-section">
|
|
<li><a class="reference" href="#CompilesId" title="CompilesId = int">CompilesId</a></li>
|
|
<li><a class="reference" href="#ItemId" title="ItemId = object
|
|
module*: int32
|
|
item*: int32">ItemId</a></li>
|
|
<li><a class="reference" href="#ItemState" title="ItemState = enum
|
|
Complete, Partial, Sealed">ItemState</a></li>
|
|
<li><a class="reference" href="#LogEntry" title="LogEntry = object
|
|
kind*: LogEntryKind
|
|
op*: TTypeAttachedOp
|
|
isGeneric*: bool
|
|
module*: int
|
|
key*: string
|
|
sym*: PSym">LogEntry</a></li>
|
|
<li><a class="reference" href="#LogEntryKind" title="LogEntryKind = enum
|
|
HookEntry, ConverterEntry, MethodEntry, EnumToStrEntry, GenericInstEntry">LogEntryKind</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 = "nimcall", ccStdCall = "stdcall", ccCDecl = "cdecl",
|
|
ccSafeCall = "safecall", ccSysCall = "syscall", ccInline = "inline",
|
|
ccNoInline = "noinline", ccFastCall = "fastcall", ccThisCall = "thiscall",
|
|
ccClosure = "closure", ccNoConvention = "noconv", ccMember = "member"">TCallingConvention</a></li>
|
|
<li><a class="reference" href="#TIdPair" title="TIdPair[T] = object
|
|
key*: ItemId
|
|
val*: T">TIdPair</a></li>
|
|
<li><a class="reference" href="#TIdPairSeq" title="TIdPairSeq[T] = seq[TIdPair[T]]">TIdPairSeq</a></li>
|
|
<li><a class="reference" href="#TIdTable" title="TIdTable[T] = object
|
|
counter*: int
|
|
data*: TIdPairSeq[T]">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]
|
|
genericParamsCount*: int
|
|
compilesId*: CompilesId">TInstantiation</a></li>
|
|
<li><a class="reference" href="#TLib" title="TLib = object
|
|
kind*: TLibKind
|
|
generated*: bool
|
|
isOverridden*: 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
|
|
snippet*: Rope">TLoc</a></li>
|
|
<li><a class="reference" href="#TLocFlag" title="TLocFlag = enum
|
|
lfIndirect, 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, mCStrToStr, mStrToStr, mEnumToStr, mAnd, mOr, mImplies, mIff,
|
|
mExists, mForall, mOld, mEqStr, mLeStr, mLtStr, mEqSet, mLeSet, mLtSet,
|
|
mMulSet, mPlusSet, mMinusSet, mXorSet, mConStrStr, mSlice, mDotDot, mFields,
|
|
mFieldPairs, mOmpParFor, mAppendStrCh, mAppendStrStr, mAppendSeqElem, mInSet,
|
|
mRepr, mExit, mSetLengthStr, mSetLengthSeq, mSetLengthSeqUninit, mIsPartOf,
|
|
mAstToStr, mParallel, mSwap, mIsNil, mArrToSeq, mOpenArrayToSeq, mNewString,
|
|
mNewStringOfCap, mParseBiggestFloat, mMove, mEnsureMove, mWasMoved, mDup,
|
|
mDestroy, mTrace, mDefault, mUnown, mFinished, mIsolate, mAccessEnv,
|
|
mAccessTypeField, 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
|
|
when defined(useNodeIds):
|
|
id*: int
|
|
typField*: PType
|
|
info*: TLineInfo
|
|
flags*: TNodeFlags
|
|
case kind*: TNodeKind
|
|
of nkCharLit .. nkUInt64Lit:
|
|
intVal*: BiggestInt
|
|
of nkFloatLit .. nkFloat128Lit:
|
|
floatVal*: BiggestFloat
|
|
of nkStrLit .. nkTripleStrLit:
|
|
strVal*: string
|
|
of nkSym:
|
|
sym*: PSym
|
|
of nkIdent:
|
|
ident*: PIdent
|
|
else:
|
|
sons*: TNodeSeq
|
|
when defined(nimsuggest):
|
|
endInfo*: TLineInfo">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,
|
|
nfSkipFieldChecking, nfDisabledOpenSym, nfLazyType">TNodeFlag</a></li>
|
|
<li><a class="reference" href="#TNodeFlags" title="TNodeFlags = set[TNodeFlag]">TNodeFlags</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
|
|
ignoreTypes*: bool">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]
|
|
optionStackLen*: int">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
|
|
itemId*: ItemId
|
|
state*: ItemState
|
|
case kindImpl*: TSymKind
|
|
of routineKinds:
|
|
gcUnsafetyReasonImpl*: PSym
|
|
transformedBodyImpl*: PNode
|
|
of skLet, skVar, skField, skForVar:
|
|
guardImpl*: PSym
|
|
bitsizeImpl*: int
|
|
alignmentImpl*: int
|
|
else:
|
|
nil
|
|
magicImpl*: TMagic
|
|
typImpl*: PType
|
|
name*: PIdent
|
|
infoImpl*: TLineInfo
|
|
when defined(nimsuggest):
|
|
endInfoImpl*: TLineInfo
|
|
hasUserSpecifiedTypeImpl*: bool
|
|
ownerFieldImpl*: PSym
|
|
flagsImpl*: TSymFlags
|
|
astImpl*: PNode
|
|
optionsImpl*: TOptions
|
|
positionImpl*: int
|
|
offsetImpl*: int32
|
|
disamb*: int32
|
|
locImpl*: TLoc
|
|
annexImpl*: PLib
|
|
when hasFFI:
|
|
cnameImpl*: string
|
|
constraintImpl*: PNode
|
|
instantiatedFromImpl*: PSym
|
|
when defined(nimsuggest):
|
|
allUsagesImpl*: seq[TLineInfo]">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, sfOverridden, sfCallsite, sfGenSym,
|
|
sfNonReloadable, sfGeneratedOp, sfTemplateParam, sfCursor,
|
|
sfInjectDestructors, sfNeverRaises, sfSystemRaisesDefect,
|
|
sfUsedInFinallyOrExcept, sfSingleUsedTemp, sfNoalias, sfEffectsDelayed,
|
|
sfGeneratedType, sfVirtual, sfByCopy, sfMember, sfCodegenDecl, sfWasGenSym,
|
|
sfForceLift, sfDirty, sfCustomPragma, sfBase, sfGoto, sfAnon, sfAllUntyped,
|
|
sfTemplateRedefinition">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">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
|
|
itemId*: ItemId
|
|
kind*: TTypeKind
|
|
state*: ItemState
|
|
uniqueId*: ItemId
|
|
callConvImpl*: TCallingConvention
|
|
flagsImpl*: TTypeFlags
|
|
sonsImpl*: TTypeSeq
|
|
nImpl*: PNode
|
|
ownerFieldImpl*: PSym
|
|
symImpl*: PSym
|
|
sizeImpl*: BiggestInt
|
|
alignImpl*: int16
|
|
paddingAtEndImpl*: int16
|
|
locImpl*: TLoc
|
|
typeInstImpl*: PType">TType</a></li>
|
|
<li><a class="reference" href="#TTypeAttachedOp" title="TTypeAttachedOp = enum
|
|
attachedWasMoved, attachedDestructor, attachedAsgn, attachedDup, 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, tfSendable, tfImplicitStatic">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, tyError,
|
|
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>
|
|
|
|
</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="#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, mCStrToStr, mStrToStr, mEnumToStr, mAnd, mOr,
|
|
mEqStr, mLeStr, mLtStr, mEqSet, mLeSet, mLtSet, mMulSet,
|
|
mPlusSet, mMinusSet, mXorSet, 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="#defaultAlignment" title="defaultAlignment = -1">defaultAlignment</a></li>
|
|
<li><a class="reference" href="#defaultOffset" title="defaultOffset = -1">defaultOffset</a></li>
|
|
<li><a class="reference" href="#defaultSize" title="defaultSize = -1">defaultSize</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}">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, tyError}">NilableTypes</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,
|
|
nkOpenSym}">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="#OverloadableSyms" title="OverloadableSyms = {skProc, skFunc, skMethod, skIterator, skConverter, skModule,
|
|
skTemplate, skMacro, skEnumField}">OverloadableSyms</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,
|
|
nfSkipFieldChecking, nfDisabledOpenSym,
|
|
nfLazyType}">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="#sfCompileToCpp" title="sfCompileToCpp = sfInfixCall">sfCompileToCpp</a></li>
|
|
<li><a class="reference" href="#sfCompileToObjc" title="sfCompileToObjc = sfNamedParamCall">sfCompileToObjc</a></li>
|
|
<li><a class="reference" href="#sfCppMember" title="sfCppMember = {sfVirtual, sfMember, sfConstructor}">sfCppMember</a></li>
|
|
<li><a class="reference" href="#sfExperimental" title="sfExperimental = sfOverridden">sfExperimental</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="#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="#tfGenericHasDestructor" title="tfGenericHasDestructor = tfExplicitCallConv">tfGenericHasDestructor</a></li>
|
|
<li><a class="reference" href="#tfNonConstExpr" title="tfNonConstExpr = tfExplicitCallConv">tfNonConstExpr</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="#tyMetaTypes" title="tyMetaTypes = {tyUntyped, tyTypeDesc, tyGenericParam,
|
|
tyBuiltInTypeClass..tyCompositeTypeClass, tyAnd..tyAnything,
|
|
tyConcept}">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, tyConcept, tyAnd, tyOr, tyNot, tyAnything}">tyTypeClasses</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%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">forcePartial
|
|
<li><a class="reference" href="#forcePartial%2CPSym" title="forcePartial(s: PSym)">forcePartial(s: PSym)</a></li>
|
|
<li><a class="reference" href="#forcePartial%2CPType" title="forcePartial(t: PType)">forcePartial(t: PType)</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">len
|
|
<li><a class="reference" href="#len%2CPNode" title="len(n: PNode): int">len(n: PNode): int</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">mustRehash
|
|
<li><a class="reference" href="#mustRehash%2Cint%2Cint" title="mustRehash(length, counter: int): bool">mustRehash(length, counter: int): bool</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">newNode
|
|
<li><a class="reference" href="#newNode%2CTNodeKind" title="newNode(kind: TNodeKind): PNode">newNode(kind: TNodeKind): PNode</a></li>
|
|
<li><a class="reference" href="#newNode%2CTNodeKind%2CTLineInfo" title="newNode(kind: TNodeKind; info: TLineInfo): PNode">newNode(kind: TNodeKind; info: TLineInfo): 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">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">newSymNode
|
|
<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">nextTry
|
|
<li><a class="reference" href="#nextTry%2CHash%2CHash" title="nextTry(h, maxHash: Hash): Hash">nextTry(h, maxHash: Hash): Hash</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">strTableAdd
|
|
<li><a class="reference" href="#strTableAdd%2CTStrTable%2CPSym" title="strTableAdd(t: var TStrTable; n: PSym)">strTableAdd(t: var TStrTable; n: PSym)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">strTableContains
|
|
<li><a class="reference" href="#strTableContains%2CTStrTable%2CPSym" title="strTableContains(t: TStrTable; n: PSym): bool">strTableContains(t: TStrTable; n: PSym): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">strTableGet
|
|
<li><a class="reference" href="#strTableGet%2CTStrTable%2CPIdent" title="strTableGet(t: TStrTable; name: PIdent): PSym">strTableGet(t: TStrTable; name: PIdent): PSym</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">strTableIncl
|
|
<li><a class="reference" href="#strTableIncl%2CTStrTable%2CPSym" title="strTableIncl(t: var TStrTable; n: PSym; onConflictKeepOld = false): bool">strTableIncl(t: var TStrTable; n: PSym; onConflictKeepOld = false): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">strTableInclReportConflict
|
|
<li><a class="reference" href="#strTableInclReportConflict%2CTStrTable%2CPSym" title="strTableInclReportConflict(t: var TStrTable; n: PSym; onConflictKeepOld = false): PSym">strTableInclReportConflict(t: var TStrTable; n: PSym; onConflictKeepOld = false): PSym</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">symTabReplace
|
|
<li><a class="reference" href="#symTabReplace%2CTStrTable%2CPSym%2CPSym" title="symTabReplace(t: var TStrTable; prevSym: PSym; newSym: PSym)">symTabReplace(t: var TStrTable; prevSym: PSym; newSym: PSym)</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>
|
|
</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%2CPNode%2CBackwardsIndex" title="`[]`(n: PNode; i: BackwardsIndex): PNode">`[]`(n: PNode; i: BackwardsIndex): PNode</a></li>
|
|
<li><a class="reference" href="#%5B%5D.t%2CPNode%2Cint" title="`[]`(n: PNode; i: int): PNode">`[]`(n: PNode; i: int): PNode</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">[]=
|
|
<li><a class="reference" href="#%5B%5D%3D.t%2CPNode%2CBackwardsIndex%2CPNode" title="`[]=`(n: PNode; i: BackwardsIndex; x: PNode)">`[]=`(n: PNode; i: BackwardsIndex; x: PNode)</a></li>
|
|
<li><a class="reference" href="#%5B%5D%3D.t%2CPNode%2Cint%2CPNode" title="`[]=`(n: PNode; i: int; x: PNode)">`[]=`(n: PNode; i: int; x: PNode)</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/astdef.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
<div id="tocRoot"></div>
|
|
|
|
<p class="module-desc"></p>
|
|
<div class="section" id="6">
|
|
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
|
<dl class="item">
|
|
<a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="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>, <a class="reference external" href="wordrecg.html">wordrecg</a>, <a class="reference external" href="nodekinds.html">nodekinds</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="astdef.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/astdef.nim#L673" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L673" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="ItemId">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L572" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L572" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="ItemState">
|
|
<dt><pre><a href="astdef.html#ItemState"><span class="Identifier">ItemState</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">Complete</span><span class="Other">,</span> <span class="Identifier">Partial</span><span class="Other">,</span> <span class="Identifier">Sealed</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L694" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L694" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="LogEntry">
|
|
<dt><pre><a href="astdef.html#LogEntry"><span class="Identifier">LogEntry</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="astdef.html#LogEntryKind"><span class="Identifier">LogEntryKind</span></a>
|
|
<span class="Identifier">op</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TTypeAttachedOp"><span class="Identifier">TTypeAttachedOp</span></a>
|
|
<span class="Identifier">isGeneric</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
|
|
<span class="Identifier">module</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
|
<span class="Identifier">key</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
|
<span class="Identifier">sym</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L1000" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1000" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="LogEntryKind">
|
|
<dt><pre><a href="astdef.html#LogEntryKind"><span class="Identifier">LogEntryKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">HookEntry</span><span class="Other">,</span> <span class="Identifier">ConverterEntry</span><span class="Other">,</span> <span class="Identifier">MethodEntry</span><span class="Other">,</span> <span class="Identifier">EnumToStrEntry</span><span class="Other">,</span> <span class="Identifier">GenericInstEntry</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L998" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L998" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="PInstantiation">
|
|
<dt><pre><a href="astdef.html#PInstantiation"><span class="Identifier">PInstantiation</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="astdef.html#TInstantiation"><span class="Identifier">TInstantiation</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L683" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L683" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="PLib">
|
|
<dt><pre><a href="astdef.html#PLib"><span class="Identifier">PLib</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="astdef.html#TLib"><span class="Identifier">TLib</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L699" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L699" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="PNode">
|
|
<dt><pre><a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="astdef.html#TNode"><span class="Identifier">TNode</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L589" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L589" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="PScope">
|
|
<dt><pre><a href="astdef.html#PScope"><span class="Identifier">PScope</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="astdef.html#TScope"><span class="Identifier">TScope</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L692" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L692" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="PSym">
|
|
<dt><pre><a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="astdef.html#TSym"><span class="Identifier">TSym</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L592" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L592" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="PType">
|
|
<dt><pre><a href="astdef.html#PType"><span class="Identifier">PType</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="astdef.html#TType"><span class="Identifier">TType</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L591" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L591" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TCallingConvention">
|
|
<dt><pre><a href="astdef.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">"nimcall"</span><span class="Other">,</span> <span class="Identifier">ccStdCall</span> <span class="Other">=</span> <span class="StringLit">"stdcall"</span><span class="Other">,</span> <span class="Identifier">ccCDecl</span> <span class="Other">=</span> <span class="StringLit">"cdecl"</span><span class="Other">,</span>
|
|
<span class="Identifier">ccSafeCall</span> <span class="Other">=</span> <span class="StringLit">"safecall"</span><span class="Other">,</span> <span class="Identifier">ccSysCall</span> <span class="Other">=</span> <span class="StringLit">"syscall"</span><span class="Other">,</span> <span class="Identifier">ccInline</span> <span class="Other">=</span> <span class="StringLit">"inline"</span><span class="Other">,</span>
|
|
<span class="Identifier">ccNoInline</span> <span class="Other">=</span> <span class="StringLit">"noinline"</span><span class="Other">,</span> <span class="Identifier">ccFastCall</span> <span class="Other">=</span> <span class="StringLit">"fastcall"</span><span class="Other">,</span> <span class="Identifier">ccThisCall</span> <span class="Other">=</span> <span class="StringLit">"thiscall"</span><span class="Other">,</span>
|
|
<span class="Identifier">ccClosure</span> <span class="Other">=</span> <span class="StringLit">"closure"</span><span class="Other">,</span> <span class="Identifier">ccNoConvention</span> <span class="Other">=</span> <span class="StringLit">"noconv"</span><span class="Other">,</span> <span class="Identifier">ccMember</span> <span class="Other">=</span> <span class="StringLit">"member"</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L25" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L25" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TIdPair">
|
|
<dt><pre><a href="astdef.html#TIdPair"><span class="Identifier">TIdPair</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span> <span class="Other">=</span> <span class="Keyword">object</span>
|
|
<span class="Identifier">key</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#ItemId"><span class="Identifier">ItemId</span></a>
|
|
<span class="Identifier">val</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">T</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L809" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L809" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TIdPairSeq">
|
|
<dt><pre><a href="astdef.html#TIdPairSeq"><span class="Identifier">TIdPairSeq</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#TIdPair"><span class="Identifier">TIdPair</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L813" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L813" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TIdTable">
|
|
<dt><pre><a href="astdef.html#TIdTable"><span class="Identifier">TIdTable</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span> <span class="Other">=</span> <span class="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="astdef.html#TIdPairSeq"><span class="Identifier">TIdPairSeq</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L814" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L814" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TImplication">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L835" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L835" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TInstantiation">
|
|
<dt><pre><a href="astdef.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="astdef.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="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">]</span>
|
|
<span class="Identifier">genericParamsCount</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
|
<span class="Identifier">compilesId</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#CompilesId"><span class="Identifier">CompilesId</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L675" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L675" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TLib">
|
|
<dt><pre><a href="astdef.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="astdef.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">isOverridden</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="astdef.html#PNode"><span class="Identifier">PNode</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L664" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L664" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TLibKind">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L661" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L661" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TLoc">
|
|
<dt><pre><a href="astdef.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="astdef.html#TLocKind"><span class="Identifier">TLocKind</span></a>
|
|
<span class="Identifier">storage</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TStorageLoc"><span class="Identifier">TStorageLoc</span></a>
|
|
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TLocFlags"><span class="Identifier">TLocFlags</span></a>
|
|
<span class="Identifier">lode</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a>
|
|
<span class="Identifier">snippet</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/astdef.nim#L652" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L652" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TLocFlag">
|
|
<dt><pre><a href="astdef.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">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/astdef.nim#L632" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L632" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TLocFlags">
|
|
<dt><pre><a href="astdef.html#TLocFlags"><span class="Identifier">TLocFlags</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="astdef.html#TLocFlag"><span class="Identifier">TLocFlag</span></a><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L651" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L651" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TLocKind">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L620" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L620" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TMagic">
|
|
<dt><pre><a href="astdef.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">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">mXorSet</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">mSetLengthSeqUninit</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">mEnsureMove</span><span class="Other">,</span> <span class="Identifier">mWasMoved</span><span class="Other">,</span> <span class="Identifier">mDup</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">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/astdef.nim#L460" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L460" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TNode">
|
|
<dt><pre><a href="astdef.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="Keyword">when</span> <span class="Identifier">defined</span><span class="Other">(</span><span class="Identifier">useNodeIds</span><span class="Other">)</span><span class="Other">:</span>
|
|
<span class="Identifier">id</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
|
<span class="Identifier">typField</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.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="astdef.html#TNodeFlags"><span class="Identifier">TNodeFlags</span></a>
|
|
<span class="Keyword">case</span> <span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="nodekinds.html#TNodeKind"><span class="Identifier">TNodeKind</span></a>
|
|
<span class="Keyword">of</span> <span class="Identifier">nkCharLit</span> <span class="Operator">..</span> <span class="Identifier">nkUInt64Lit</span><span class="Other">:</span>
|
|
<span class="Identifier">intVal</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span>
|
|
<span class="Keyword">of</span> <span class="Identifier">nkFloatLit</span> <span class="Operator">..</span> <span class="Identifier">nkFloat128Lit</span><span class="Other">:</span>
|
|
<span class="Identifier">floatVal</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">BiggestFloat</span>
|
|
<span class="Keyword">of</span> <span class="Identifier">nkStrLit</span> <span class="Operator">..</span> <span class="Identifier">nkTripleStrLit</span><span class="Other">:</span>
|
|
<span class="Identifier">strVal</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
|
<span class="Keyword">of</span> <span class="Identifier">nkSym</span><span class="Other">:</span>
|
|
<span class="Identifier">sym</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a>
|
|
<span class="Keyword">of</span> <span class="Identifier">nkIdent</span><span class="Other">:</span>
|
|
<span class="Identifier">ident</span><span class="Operator">*</span><span class="Other">:</span> <a href="idents.html#PIdent"><span class="Identifier">PIdent</span></a>
|
|
<span class="Keyword">else</span><span class="Other">:</span>
|
|
<span class="Identifier">sons</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TNodeSeq"><span class="Identifier">TNodeSeq</span></a>
|
|
<span class="Keyword">when</span> <span class="Identifier">defined</span><span class="Other">(</span><span class="Identifier">nimsuggest</span><span class="Other">)</span><span class="Other">:</span>
|
|
<span class="Identifier">endInfo</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">TLineInfo</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L593" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L593" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TNodeFlag">
|
|
<dt><pre><a href="astdef.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">nfSkipFieldChecking</span><span class="Other">,</span> <span class="Identifier">nfDisabledOpenSym</span><span class="Other">,</span> <span class="Identifier">nfLazyType</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L294" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L294" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TNodeFlags">
|
|
<dt><pre><a href="astdef.html#TNodeFlags"><span class="Identifier">TNodeFlags</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="astdef.html#TNodeFlag"><span class="Identifier">TNodeFlag</span></a><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L328" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L328" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TNodeKinds">
|
|
<dt><pre><a href="astdef.html#TNodeKinds"><span class="Identifier">TNodeKinds</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="nodekinds.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/astdef.nim#L39" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L39" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TNodePair">
|
|
<dt><pre><a href="astdef.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="astdef.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/astdef.nim#L818" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L818" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TNodePairSeq">
|
|
<dt><pre><a href="astdef.html#TNodePairSeq"><span class="Identifier">TNodePairSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.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/astdef.nim#L823" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L823" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TNodeSeq">
|
|
<dt><pre><a href="astdef.html#TNodeSeq"><span class="Identifier">TNodeSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L590" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L590" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TNodeTable">
|
|
<dt><pre><a href="astdef.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="astdef.html#TNodePairSeq"><span class="Identifier">TNodePairSeq</span></a>
|
|
<span class="Identifier">ignoreTypes</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/astdef.nim#L824" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L824" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TObjectSeq">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L830" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L830" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TObjectSet">
|
|
<dt><pre><a href="astdef.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="astdef.html#TObjectSeq"><span class="Identifier">TObjectSeq</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L831" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L831" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TPair">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L804" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L804" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TPairSeq">
|
|
<dt><pre><a href="astdef.html#TPairSeq"><span class="Identifier">TPairSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.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/astdef.nim#L807" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L807" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TScope">
|
|
<dt><pre><a href="astdef.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="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a>
|
|
<span class="Identifier">parent</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.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="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">]</span>
|
|
<span class="Identifier">optionStackLen</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/astdef.nim#L685" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L685" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TStorageLoc">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L645" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L645" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TStrTable">
|
|
<dt><pre><a href="astdef.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="astdef.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/astdef.nim#L615" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L615" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TSym">
|
|
<dt><pre><a href="astdef.html#TSym"><span class="Identifier">TSym</span></a> {.<span class="Identifier">acyclic</span>.} <span class="Other">=</span> <span class="Keyword">object</span>
|
|
<span class="Identifier">itemId</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#ItemId"><span class="Identifier">ItemId</span></a>
|
|
<span class="Identifier">state</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#ItemState"><span class="Identifier">ItemState</span></a>
|
|
<span class="Keyword">case</span> <span class="Identifier">kindImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TSymKind"><span class="Identifier">TSymKind</span></a>
|
|
<span class="Keyword">of</span> <span class="Identifier">routineKinds</span><span class="Other">:</span>
|
|
<span class="Identifier">gcUnsafetyReasonImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a>
|
|
<span class="Identifier">transformedBodyImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a>
|
|
<span class="Keyword">of</span> <span class="Identifier">skLet</span><span class="Other">,</span> <span class="Identifier">skVar</span><span class="Other">,</span> <span class="Identifier">skField</span><span class="Other">,</span> <span class="Identifier">skForVar</span><span class="Other">:</span>
|
|
<span class="Identifier">guardImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a>
|
|
<span class="Identifier">bitsizeImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
|
<span class="Identifier">alignmentImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
|
<span class="Keyword">else</span><span class="Other">:</span>
|
|
<span class="Keyword">nil</span>
|
|
<span class="Identifier">magicImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TMagic"><span class="Identifier">TMagic</span></a>
|
|
<span class="Identifier">typImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.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">infoImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a>
|
|
<span class="Keyword">when</span> <span class="Identifier">defined</span><span class="Other">(</span><span class="Identifier">nimsuggest</span><span class="Other">)</span><span class="Other">:</span>
|
|
<span class="Identifier">endInfoImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">TLineInfo</span>
|
|
<span class="Identifier">hasUserSpecifiedTypeImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
|
|
<span class="Identifier">ownerFieldImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a>
|
|
<span class="Identifier">flagsImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TSymFlags"><span class="Identifier">TSymFlags</span></a>
|
|
<span class="Identifier">astImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a>
|
|
<span class="Identifier">optionsImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#TOptions"><span class="Identifier">TOptions</span></a>
|
|
<span class="Identifier">positionImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
|
<span class="Identifier">offsetImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int32</span>
|
|
<span class="Identifier">disamb</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int32</span>
|
|
<span class="Identifier">locImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TLoc"><span class="Identifier">TLoc</span></a>
|
|
<span class="Identifier">annexImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PLib"><span class="Identifier">PLib</span></a>
|
|
<span class="Keyword">when</span> <span class="Identifier">hasFFI</span><span class="Other">:</span>
|
|
<span class="Identifier">cnameImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
|
<span class="Identifier">constraintImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a>
|
|
<span class="Identifier">instantiatedFromImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a>
|
|
<span class="Keyword">when</span> <span class="Identifier">defined</span><span class="Other">(</span><span class="Identifier">nimsuggest</span><span class="Other">)</span><span class="Other">:</span>
|
|
<span class="Identifier">allUsagesImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">TLineInfo</span><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L700" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L700" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TSymFlag">
|
|
<dt><pre><a href="astdef.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">sfOverridden</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><span class="Other">,</span> <span class="Identifier">sfVirtual</span><span class="Other">,</span> <span class="Identifier">sfByCopy</span><span class="Other">,</span> <span class="Identifier">sfMember</span><span class="Other">,</span> <span class="Identifier">sfCodegenDecl</span><span class="Other">,</span> <span class="Identifier">sfWasGenSym</span><span class="Other">,</span>
|
|
<span class="Identifier">sfForceLift</span><span class="Other">,</span> <span class="Identifier">sfDirty</span><span class="Other">,</span> <span class="Identifier">sfCustomPragma</span><span class="Other">,</span> <span class="Identifier">sfBase</span><span class="Other">,</span> <span class="Identifier">sfGoto</span><span class="Other">,</span> <span class="Identifier">sfAnon</span><span class="Other">,</span> <span class="Identifier">sfAllUntyped</span><span class="Other">,</span>
|
|
<span class="Identifier">sfTemplateRedefinition</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L42" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L42" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TSymFlags">
|
|
<dt><pre><a href="astdef.html#TSymFlags"><span class="Identifier">TSymFlags</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="astdef.html#TSymFlag"><span class="Identifier">TSymFlag</span></a><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L141" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L141" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TSymKind">
|
|
<dt><pre><a href="astdef.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></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L404" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L404" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TSymKinds">
|
|
<dt><pre><a href="astdef.html#TSymKinds"><span class="Identifier">TSymKinds</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="astdef.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/astdef.nim#L436" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L436" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TType">
|
|
<dt><pre><a href="astdef.html#TType"><span class="Identifier">TType</span></a> {.<span class="Identifier">acyclic</span>.} <span class="Other">=</span> <span class="Keyword">object</span>
|
|
<span class="Identifier">itemId</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#ItemId"><span class="Identifier">ItemId</span></a>
|
|
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TTypeKind"><span class="Identifier">TTypeKind</span></a>
|
|
<span class="Identifier">state</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#ItemState"><span class="Identifier">ItemState</span></a>
|
|
<span class="Identifier">uniqueId</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#ItemId"><span class="Identifier">ItemId</span></a>
|
|
<span class="Identifier">callConvImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TCallingConvention"><span class="Identifier">TCallingConvention</span></a>
|
|
<span class="Identifier">flagsImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TTypeFlags"><span class="Identifier">TTypeFlags</span></a>
|
|
<span class="Identifier">sonsImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TTypeSeq"><span class="Identifier">TTypeSeq</span></a>
|
|
<span class="Identifier">nImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a>
|
|
<span class="Identifier">ownerFieldImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a>
|
|
<span class="Identifier">symImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a>
|
|
<span class="Identifier">sizeImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span>
|
|
<span class="Identifier">alignImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int16</span>
|
|
<span class="Identifier">paddingAtEndImpl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int16</span>
|
|
<span class="Identifier">locImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#TLoc"><span class="Identifier">TLoc</span></a>
|
|
<span class="Identifier">typeInstImpl</span><span class="Operator">*</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L771" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L771" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeAttachedOp">
|
|
<dt><pre><a href="astdef.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">attachedDup</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/astdef.nim#L762" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L762" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeFlag">
|
|
<dt><pre><a href="astdef.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><span class="Other">,</span> <span class="Identifier">tfSendable</span><span class="Other">,</span> <span class="Identifier">tfImplicitStatic</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L329" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L329" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeFlags">
|
|
<dt><pre><a href="astdef.html#TTypeFlags"><span class="Identifier">TTypeFlags</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="astdef.html#TTypeFlag"><span class="Identifier">TTypeFlag</span></a><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L402" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L402" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeKind">
|
|
<dt><pre><a href="astdef.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">tyError</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/astdef.nim#L175" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L175" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeKinds">
|
|
<dt><pre><a href="astdef.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="astdef.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/astdef.nim#L292" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L292" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeSeq">
|
|
<dt><pre><a href="astdef.html#TTypeSeq"><span class="Identifier">TTypeSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L760" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L760" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</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="astdef.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="astdef.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/astdef.nim#L454" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L454" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="10">
|
|
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
|
<dl class="item">
|
|
<div id="abstractInst">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L288" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L288" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="abstractVarRange">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L286" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L286" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="bodyPos">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L877" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L877" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="callableDefs">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L893" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L893" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="ConcreteTypes">
|
|
<dt><pre><a href="astdef.html#ConcreteTypes"><span class="Identifier">ConcreteTypes</span></a><span class="Other">:</span> <a href="astdef.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/astdef.nim#L850" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L850" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="ConstantDataTypes">
|
|
<dt><pre><a href="astdef.html#ConstantDataTypes"><span class="Identifier">ConstantDataTypes</span></a><span class="Other">:</span> <a href="astdef.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/astdef.nim#L859" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L859" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="ctfeWhitelist">
|
|
<dt><pre><a href="astdef.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">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">mXorSet</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/astdef.nim#L540" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L540" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="declarativeDefs">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L890" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L890" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="defaultAlignment">
|
|
<dt><pre><a href="astdef.html#defaultAlignment"><span class="Identifier">defaultAlignment</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/astdef.nim#L903" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L903" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="defaultOffset">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L904" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L904" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="defaultSize">
|
|
<dt><pre><a href="astdef.html#defaultSize"><span class="Identifier">defaultSize</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/astdef.nim#L902" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L902" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="dispatcherPos">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L879" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L879" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="effectListLen">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L170" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L170" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="ensuresEffects">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L166" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L166" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="exceptionEffects">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L164" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L164" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="ExportableSymKinds">
|
|
<dt><pre><a href="astdef.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></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L441" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L441" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="forbiddenEffects">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L169" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L169" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="GcTypeKinds">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L277" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L277" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="generatedMagics">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L568" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L568" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="genericParamsPos">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L873" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L873" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="GenericTypes">
|
|
<dt><pre><a href="astdef.html#GenericTypes"><span class="Identifier">GenericTypes</span></a><span class="Other">:</span> <a href="astdef.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/astdef.nim#L843" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L843" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="GrowthFactor">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L1061" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1061" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="IntegralTypes">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L857" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L857" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="miscPos">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L876" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L876" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="namePos">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L871" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L871" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nfAllFieldsSet">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L881" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L881" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="NilableTypes">
|
|
<dt><pre><a href="astdef.html#NilableTypes"><span class="Identifier">NilableTypes</span></a><span class="Other">:</span> <a href="astdef.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">tyError</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L861" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L861" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkEffectList">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L162" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L162" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkFloatLiterals">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L888" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L888" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkIdentKinds">
|
|
<dt><pre><a href="astdef.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>
|
|
<span class="DecNumber">nkOpenSym</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L883" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L883" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkLambdaKinds">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L889" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L889" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkLastBlockStmts">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L171" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L171" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkLiterals">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L887" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L887" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkPragmaCallKinds">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L886" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L886" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkStrKinds">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L896" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L896" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkSymChoices">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L895" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L895" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkWhen">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L160" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L160" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="nkWhenExpr">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L161" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L161" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="OverloadableSyms">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L840" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L840" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="paramsPos">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L874" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L874" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="patternPos">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L872" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L872" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="PersistentNodeFlags">
|
|
<dt><pre><a href="astdef.html#PersistentNodeFlags"><span class="Identifier">PersistentNodeFlags</span></a><span class="Other">:</span> <a href="astdef.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">nfSkipFieldChecking</span><span class="Other">,</span> <span class="DecNumber">nfDisabledOpenSym</span><span class="Other">,</span>
|
|
<span class="DecNumber">nfLazyType</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L864" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L864" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="pragmasEffects">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L168" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L168" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="pragmasPos">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L875" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L875" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="procDefs">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L892" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L892" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="PtrLikeKinds">
|
|
<dt><pre><a href="astdef.html#PtrLikeKinds"><span class="Identifier">PtrLikeKinds</span></a><span class="Other">:</span> <a href="astdef.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/astdef.nim#L863" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L863" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="requiresEffects">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L165" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L165" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="resultPos">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L878" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L878" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="routineDefs">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L891" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L891" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="routineKinds">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L439" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L439" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="sfCompileToCpp">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L151" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L151" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="sfCompileToObjc">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L152" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L152" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="sfCppMember">
|
|
<dt><pre><a href="astdef.html#sfCppMember"><span class="Identifier">sfCppMember</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">sfVirtual</span><span class="Other">,</span> <span class="DecNumber">sfMember</span><span class="Other">,</span> <span class="DecNumber">sfConstructor</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L156" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L156" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="sfExperimental">
|
|
<dt><pre><a href="astdef.html#sfExperimental"><span class="Identifier">sfExperimental</span></a> <span class="Other">=</span> <span class="DecNumber">sfOverridden</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L153" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L153" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="sfNoForward">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L146" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L146" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="sfNoInit">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L144" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L144" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="sfReorder">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L148" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L148" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="sfWrittenTo">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L154" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L154" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="skError">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L451" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L451" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="skLocalVars">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L898" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L898" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="skProcKinds">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L899" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L899" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="StartSize">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L1062" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1062" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="StructuralEquivTypes">
|
|
<dt><pre><a href="astdef.html#StructuralEquivTypes"><span class="Identifier">StructuralEquivTypes</span></a><span class="Other">:</span> <a href="astdef.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/astdef.nim#L846" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L846" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tagEffects">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L167" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L167" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tfGcSafe">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L444" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L444" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tfGenericHasDestructor">
|
|
<dt><pre><a href="astdef.html#tfGenericHasDestructor"><span class="Identifier">tfGenericHasDestructor</span></a> <span class="Other">=</span> <span class="DecNumber">tfExplicitCallConv</span></pre></dt>
|
|
<dd>
|
|
|
|
tyGenericBody where an instance has a generated destructor
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L449" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L449" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tfNonConstExpr">
|
|
<dt><pre><a href="astdef.html#tfNonConstExpr"><span class="Identifier">tfNonConstExpr</span></a> <span class="Other">=</span> <span class="DecNumber">tfExplicitCallConv</span></pre></dt>
|
|
<dd>
|
|
|
|
tyFromExpr where the expression shouldn't be evaluated as a static value
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L447" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L447" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tfObjHasKids">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L445" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L445" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tfReturnsNew">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L446" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L446" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tfUnion">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L443" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L443" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tyMetaTypes">
|
|
<dt><pre><a href="astdef.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>
|
|
<span class="DecNumber">tyConcept</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L283" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L283" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tyPureObject">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L276" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L276" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tyTypeClasses">
|
|
<dt><pre><a href="astdef.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">tyConcept</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/astdef.nim#L279" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L279" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="tyUserTypeClasses">
|
|
<dt><pre><a href="astdef.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/astdef.nim#L284" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L284" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="12">
|
|
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
|
<dl class="item">
|
|
<div id="$-procs-all">
|
|
<div id="$,ItemId">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#%24%2CItemId"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="astdef.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/astdef.nim#L576" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L576" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="==-procs-all">
|
|
<div id="==,ItemId,ItemId">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CItemId%2CItemId"><span class="Identifier">`==`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="astdef.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/astdef.nim#L579" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L579" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="forcePartial-procs-all">
|
|
<div id="forcePartial,PSym">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#forcePartial%2CPSym"><span class="Identifier">forcePartial</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Resets all impl-fields to their default values and sets state to Partial. This is useful for creating a stub symbol that can be lazily loaded later. The fields itemId, name, and disamb are preserved.
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L1009" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1009" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="forcePartial,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#forcePartial%2CPType"><span class="Identifier">forcePartial</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Resets all impl-fields to their default values and sets state to Partial. This is useful for creating a stub type that can be lazily loaded later. The fields itemId, kind, uniqueId are preserved.
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L1043" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1043" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="hash-procs-all">
|
|
<div id="hash,ItemId">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#hash%2CItemId"><span class="Identifier">hash</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <a href="astdef.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/astdef.nim#L582" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L582" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="len-procs-all">
|
|
<div id="len,PNode">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#len%2CPNode"><span class="Identifier">len</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">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>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L907" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L907" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="mustRehash-procs-all">
|
|
<div id="mustRehash,int,int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#mustRehash%2Cint%2Cint"><span class="Identifier">mustRehash</span></a><span class="Other">(</span><span class="Identifier">length</span><span class="Other">,</span> <span class="Identifier">counter</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L1070" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1070" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</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="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L974" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L974" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</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="nodekinds.html#TNodeKind"><span class="Identifier">TNodeKind</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
new node with unknown line info, no type, and no children
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L946" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L946" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newNode,TNodeKind,TLineInfo">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newNode%2CTNodeKind%2CTLineInfo"><span class="Identifier">newNode</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="nodekinds.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="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
new node with line info, no type, and no children
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L969" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L969" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</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="nodekinds.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="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
new node with line info, no type, and no children
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L951" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L951" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</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="nodekinds.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="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
new node with line info, type, and children
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L956" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L956" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</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="nodekinds.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="astdef.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span 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/astdef.nim#L963" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L963" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</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="nodekinds.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="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L985" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L985" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</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="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L989" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L989" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="newSymNode-procs-all">
|
|
<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="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L979" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L979" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="nextTry-procs-all">
|
|
<div id="nextTry,Hash,Hash">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#nextTry%2CHash%2CHash"><span class="Identifier">nextTry</span></a><span class="Other">(</span><span class="Identifier">h</span><span class="Other">,</span> <span class="Identifier">maxHash</span><span class="Other">:</span> <span class="Identifier">Hash</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Hash</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L1064" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1064" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</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="astdef.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/astdef.nim#L910" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L910" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="strTableAdd-procs-all">
|
|
<div id="strTableAdd,TStrTable,PSym">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#strTableAdd%2CTStrTable%2CPSym"><span class="Identifier">strTableAdd</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L1113" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1113" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="strTableContains-procs-all">
|
|
<div id="strTableContains,TStrTable,PSym">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#strTableContains%2CTStrTable%2CPSym"><span class="Identifier">strTableContains</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="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/astdef.nim#L1074" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1074" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="strTableGet-procs-all">
|
|
<div id="strTableGet,TStrTable,PIdent">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#strTableGet%2CTStrTable%2CPIdent"><span class="Identifier">strTableGet</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</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="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L1155" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1155" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="strTableIncl-procs-all">
|
|
<div id="strTableIncl,TStrTable,PSym">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#strTableIncl%2CTStrTable%2CPSym"><span class="Identifier">strTableIncl</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">onConflictKeepOld</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<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/astdef.nim#L1151" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1151" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="strTableInclReportConflict-procs-all">
|
|
<div id="strTableInclReportConflict,TStrTable,PSym">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#strTableInclReportConflict%2CTStrTable%2CPSym"><span class="Identifier">strTableInclReportConflict</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span>
|
|
<span class="Identifier">onConflictKeepOld</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L1118" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1118" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="symTabReplace-procs-all">
|
|
<div id="symTabReplace,TStrTable,PSym,PSym">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#symTabReplace%2CTStrTable%2CPSym%2CPSym"><span class="Identifier">symTabReplace</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="astdef.html#TStrTable"><span class="Identifier">TStrTable</span></a><span class="Other">;</span> <span class="Identifier">prevSym</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span> <span class="Identifier">newSym</span><span class="Other">:</span> <a href="astdef.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L1103" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L1103" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="15">
|
|
<h1><a class="toc-backref" href="#15">Iterators</a></h1>
|
|
<dl class="item">
|
|
<div id="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="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L921" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L921" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="18">
|
|
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
|
<dl class="item">
|
|
<div id="[]-templates-all">
|
|
<div id="[].t,PNode,BackwardsIndex">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#%5B%5D.t%2CPNode%2CBackwardsIndex"><span class="Identifier">`[]`</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">BackwardsIndex</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L918" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L918" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="[].t,PNode,int">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#%5B%5D.t%2CPNode%2Cint"><span class="Identifier">`[]`</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L915" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L915" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="[]=-templates-all">
|
|
<div id="[]=.t,PNode,BackwardsIndex,PNode">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#%5B%5D%3D.t%2CPNode%2CBackwardsIndex%2CPNode"><span class="Identifier">`[]=`</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">BackwardsIndex</span><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/astdef.nim#L919" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L919" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="[]=.t,PNode,int,PNode">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#%5B%5D%3D.t%2CPNode%2Cint%2CPNode"><span class="Identifier">`[]=`</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="astdef.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <a href="astdef.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/astdef.nim#L916" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/astdef.nim#L916" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="19">
|
|
<h1><a class="toc-backref" href="#19">Exports</a></h1>
|
|
<dl class="item">
|
|
<a href="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"><</span></a>, <a href="int128.html#<=,BiggestInt,Int128"><span class="Identifier"><=</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"><=</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"><</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,Int128"><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#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"><</span></a>, <a href="int128.html#bitor,Int128,Int128"><span class="Identifier">bitor</span></a>, <a href="int128.html#<=,Int128,Int128"><span class="Identifier"><=</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#parseDecimalInt128,string,int"><span class="Identifier">parseDecimalInt128</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,Int128"><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,int32"><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>, <a href="nodekinds.html#nkCallKinds"><span class="Identifier">nkCallKinds</span></a>, <a href="nodekinds.html#TNodeKind"><span class="Identifier">TNodeKind</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: 2025-12-28 15:55:42 UTC</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
|
|
|
</body>
|
|
</html>
|