pragmas
Imports
- condsyms, ast, astalgo, idents, semdata, msgs, renderer, wordrecg, ropes, options, extccomp, magicsys, trees, types, lookups, lineinfos, pathutils, linter
Consts
FirstCallConv = wNimcall
- Source Edit
LastCallConv = wNoconv
- Source Edit
procPragmas = {wMagic..wThread, wConstructor, wDelegator, wImportCpp..wExportNims, wNodecl, wSideEffect..wMerge, wDynlib..wProcVar, wUsed, wError, wStackTrace..wLineTrace, wDeprecated..wVarargs, wNimcall..wNoconv, wNonReloadable, wRaises, wTags..wEnsures, wNoDestroy, wCompileTime..wNoInit, wBorrow..wDiscardable, wGensym..wInject, wAsmNoStackFrame, wCodegenDecl, wLocks, wLiftLocals, wExtern}
- Source Edit
converterPragmas = {wMagic..wThread, wConstructor, wDelegator, wImportCpp..wExportNims, wNodecl, wSideEffect..wMerge, wDynlib..wProcVar, wUsed, wError, wStackTrace..wLineTrace, wDeprecated..wVarargs, wNimcall..wNoconv, wNonReloadable, wRaises, wTags..wEnsures, wNoDestroy, wCompileTime..wNoInit, wBorrow..wDiscardable, wGensym..wInject, wAsmNoStackFrame, wCodegenDecl, wLocks, wLiftLocals, wExtern}
- Source Edit
methodPragmas = {wMagic..wThread, wConstructor, wDelegator, wImportObjC..wExportNims, wNodecl, wSideEffect..wMerge, wDynlib..wUsed, wError, wStackTrace..wLineTrace, wDeprecated..wVarargs, wNimcall..wNoconv, wNonReloadable, wRaises, wTags..wEnsures, wNoDestroy, wCompileTime..wNoInit, wBorrow..wDiscardable, wGensym..wInject, wAsmNoStackFrame, wCodegenDecl, wLocks, wLiftLocals, wExtern}
- Source Edit
templatePragmas = {wDeprecated, wError, wGensym, wInject, wDirty, wDelegator, wExportNims, wUsed, wPragma}
- Source Edit
macroPragmas = {wMagic, wDelegator, wImportCpp..wImportObjC, wImportc..wExportNims, wNodecl, wNoSideEffect, wCompilerProc..wCore, wUsed, wError, wDeprecated, wNimcall..wNoconv, wNonReloadable, wDiscardable, wGensym..wInject, wExtern}
- Source Edit
iteratorPragmas = {wMagic, wImportCpp..wImportObjC, wImportc..wExportNims, wNodecl, wSideEffect, wNoSideEffect..wGcSafe, wUsed, wError, wDeprecated, wNimcall..wNoconv, wRaises, wTags..wEnsures, wBorrow..wDiscardable, wGensym..wInject, wLocks, wExtern}
- Source Edit
exprPragmas = {wLine, wLocks, wNoRewrite, wGcSafe, wNoSideEffect}
- Source Edit
stmtPragmas = {wChecks, wObjChecks, wFieldChecks, wRangeChecks, wBoundChecks, wOverflowChecks, wNilChecks, wStaticBoundchecks, wStyleChecks, wAssertions, wWarnings, wHints, wLineDir, wStackTrace, wLineTrace, wOptimization, wHint, wWarning, wError, wFatal, wDefine, wUndef, wCompile, wLink, wLinksys, wPure, wPush, wPop, wPassl, wPassc, wLocalPassc, wDeadCodeElimUnused, wDeprecated, wFloatChecks, wInfChecks, wNanChecks, wPragma, wEmit, wUnroll, wLinearScanEnd, wPatterns, wTrMacros, wEffects, wNoForward, wReorder, wComputedGoto, wInjectStmt, wExperimental, wThis, wUsed, wInvariant, wAssume, wAssert}
- Source Edit
lambdaPragmas = {wNimcall..wNoconv, wNoSideEffect, wSideEffect, wNoreturn, wNosinks, wDynlib, wHeader, wThread, wAsmNoStackFrame, wRaises, wLocks, wTags, wRequires, wEnsures, wGcSafe, wCodegenDecl, wNoInit}
- Source Edit
typePragmas = {wMagic, wFinal, wImportCpp..wImportObjC, wImportc..wRequiresInit, wNodecl..wPure, wHeader, wGcSafe, wCompilerProc..wCore, wUsed, wError, wDeprecated, wSize, wPackage, wBorrow, wAcyclic..wShallow, wGensym..wInject, wInheritable, wUnchecked, wPartial..wExplain, wExtern, wUnion..wPacked, wByCopy..wByRef}
- Source Edit
fieldPragmas = {wCursor..wNoalias, wImportCpp..wImportObjC, wImportc..wExportCpp, wRequiresInit..wAlign, wUsed, wError, wDeprecated, wGuard, wExtern, wBitsize}
- Source Edit
varPragmas = {wMagic, wCursor..wNoalias, wImportCpp..wImportObjC, wImportc..wExportNims, wAlign..wNodecl, wHeader, wDynlib..wCore, wUsed, wError, wDeprecated, wCompileTime..wNoInit, wGensym..wInject, wThreadVar, wGlobal..wCodegenDecl, wGuard, wExtern, wGoto, wRegister, wVolatile}
- Source Edit
constPragmas = {wMagic, wIntDefine..wBoolDefine, wImportCpp..wImportObjC, wImportc..wExportNims, wNodecl, wHeader, wCompilerProc..wCore, wUsed, wError, wDeprecated, wGensym..wInject, wExtern}
- Source Edit
paramPragmas = {wNoalias, wInject, wGensym}
- Source Edit
letPragmas = {wMagic, wCursor..wNoalias, wImportCpp..wImportObjC, wImportc..wExportNims, wAlign..wNodecl, wHeader, wDynlib..wCore, wUsed, wError, wDeprecated, wCompileTime..wNoInit, wGensym..wInject, wThreadVar, wGlobal..wCodegenDecl, wGuard, wExtern, wGoto, wRegister, wVolatile}
- Source Edit
procTypePragmas = {wNimcall..wNoconv, wVarargs, wNoSideEffect, wThread, wRaises, wLocks, wTags, wGcSafe, wRequires, wEnsures}
- Source Edit
forVarPragmas = {wInject, wGensym}
- Source Edit
allRoutinePragmas = {wMagic..wThread, wConstructor, wDelegator, wImportCpp..wExportNims, wNodecl, wSideEffect..wMerge, wDynlib..wUsed, wError, wStackTrace..wLineTrace, wDeprecated..wVarargs, wNimcall..wNoconv, wNonReloadable, wRaises, wTags..wEnsures, wNoDestroy, wCompileTime..wNoInit, wBorrow..wDiscardable, wGensym..wInject, wAsmNoStackFrame, wCodegenDecl, wLocks, wLiftLocals, wExtern}
- Source Edit
enumFieldPragmas = {wDeprecated}
- Source Edit
Procs
proc getPragmaVal(procAst: PNode; name: TSpecialWord): PNode {...}{.raises: [], tags: [].}
- Source Edit
proc invalidPragma(c: PContext; n: PNode) {...}{. raises: [Exception, ValueError, IOError, ERecoverableError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
- Source Edit
proc illegalCustomPragma(c: PContext; n: PNode; s: PSym) {...}{. raises: [Exception, ValueError, IOError, ERecoverableError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
- Source Edit
proc pragmaAsm(c: PContext; n: PNode): char {...}{. raises: [Exception, ValueError, IOError, ERecoverableError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
- Source Edit
proc semAsmOrEmit(con: PContext; n: PNode; marker: char): PNode {...}{. raises: [Exception, ValueError, IOError, ERecoverableError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
- Source Edit
proc implicitPragmas(c: PContext; sym: PSym; n: PNode; validPragmas: TSpecialWords) {...}{.raises: [Exception, ValueError, IOError, ERecoverableError, OSError, KeyError, EOFError], tags: [ RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect, ReadDirEffect, WriteDirEffect].}
- Source Edit
proc hasPragma(n: PNode; pragma: TSpecialWord): bool {...}{.raises: [], tags: [].}
- Source Edit
proc pragma(c: PContext; sym: PSym; n: PNode; validPragmas: TSpecialWords; isStatement: bool = false) {...}{.raises: [Exception, ValueError, IOError, ERecoverableError, OSError, KeyError, EOFError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect, ReadDirEffect, WriteDirEffect].}
- Source Edit
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/compiler/pragmas.html