pragmas

Source   Edit  

Consts

allRoutinePragmas = {wMagic..wThread, wEffectsOf, wConstructor, wDelegator,
                     wImportCpp, wImportObjC..wExportNims, wNodecl,
                     wSideEffect..wNosinks, wDynlib..wUsed, wError,
                     wStackTrace..wLineTrace, wDeprecated..wVarargs,
                     wNimcall..wNoconv, wNonReloadable, wRaises,
                     wTags..wEnsures, wNoDestroy, wCompileTime..wNoInit,
                     wBorrow..wDiscardable, wGensym..wInject, wAsmNoStackFrame,
                     wCodegenDecl, wLocks, wLiftLocals..wSystemRaisesDefect,
                     wQuirky..wExtern, wVirtual, wMember}
Source   Edit  
constPragmas = {wMagic, wIntDefine..wBoolDefine, wImportCpp, wImportObjC,
                wImportc..wExportNims, wNodecl, wHeader, wCompilerProc..wCore,
                wUsed, wError, wDefine, wDeprecated, wGensym..wInject, wExtern}
Source   Edit  
converterPragmas = {wMagic..wThread, wEffectsOf, wConstructor, wDelegator,
                    wImportCpp, wImportObjC..wExportNims, wNodecl,
                    wSideEffect..wNosinks, 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..wSystemRaisesDefect, wQuirky..wExtern,
                    wVirtual, wMember}
Source   Edit  
enumFieldPragmas = {wDeprecated}
Source   Edit  
exprPragmas = {wLine, wLocks, wNoRewrite, wGcSafe, wNoSideEffect}
Source   Edit  
fieldPragmas = {wCursor..wNoalias, wImportCpp, wImportObjC,
                wImportc..wExportCpp, wRequiresInit..wAlign, wUsed, wError,
                wDeprecated, wNoInit, wGuard, wExtern, wBitsize}
Source   Edit  
FirstCallConv = wNimcall
Source   Edit  
forVarPragmas = {wInject, wGensym}
Source   Edit  
iteratorPragmas = {wMagic, wEffectsOf, wImportCpp, wImportObjC,
                   wImportc..wExportNims, wNodecl, wSideEffect,
                   wNoSideEffect..wGcSafe, wUsed, wError, wDeprecated,
                   wNimcall..wNoconv, wRaises, wTags..wEnsures,
                   wBorrow..wDiscardable, wGensym..wInject, wLocks, wExtern}
Source   Edit  
lambdaPragmas = {wNimcall..wNoconv, wNoSideEffect, wSideEffect, wNoreturn,
                 wNosinks, wDynlib, wHeader, wThread, wAsmNoStackFrame, wRaises,
                 wLocks, wTags, wForbids, wRequires, wEnsures, wEffectsOf,
                 wGcSafe, wCodegenDecl, wNoInit, wCompileTime}
Source   Edit  
LastCallConv = wNoconv
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..wRegister, wVolatile}
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  
methodPragmas = {wMagic..wThread, wEffectsOf, wConstructor, wDelegator,
                 wImportObjC..wExportNims, wNodecl, wSideEffect..wNosinks,
                 wDynlib..wUsed, wError, wStackTrace..wLineTrace,
                 wDeprecated..wVarargs, wNimcall..wNoconv, wNonReloadable,
                 wRaises, wTags..wEnsures, wNoDestroy, wCompileTime..wNoInit,
                 wBorrow..wDiscardable, wGensym..wInject, wAsmNoStackFrame,
                 wCodegenDecl, wLocks, wLiftLocals..wSystemRaisesDefect,
                 wQuirky..wExtern, wVirtual, wMember}
Source   Edit  
paramPragmas = {wNoalias, wInject, wGensym, wByRef, wByCopy, wCodegenDecl}
Source   Edit  
procPragmas = {wMagic..wThread, wEffectsOf, wConstructor, wDelegator,
               wImportCpp, wImportObjC..wExportNims, wNodecl,
               wSideEffect..wNosinks, 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..wSystemRaisesDefect, wQuirky..wExtern, wVirtual,
               wMember}
Source   Edit  
procTypePragmas = {wNimcall..wNoconv, wVarargs, wNoSideEffect, wThread, wRaises,
                   wEffectsOf, wLocks, wTags, wForbids, wGcSafe, wRequires,
                   wEnsures}
Source   Edit  
stmtPragmas = {wHint, wWarning, wError, wFatal, wDefine, wUndef, wCompile,
               wLink, wLinksys, wPure, wPush, wPop, wPassl, wPassc, wLocalPassc,
               wDeadCodeElimUnused, wDeprecated, wPragma, wEmit, wUnroll,
               wLinearScanEnd, wPatterns, wTrMacros, wEffects, wNoForward,
               wReorder, wComputedGoto, wExperimental, wDoctype, wThis, wUsed,
               wInvariant, wAssume, wAssert}
Source   Edit  
stmtPragmasTopLevel = {wChecks, wObjChecks, wFieldChecks, wRangeChecks,
                       wBoundChecks, wOverflowChecks, wNilChecks,
                       wStaticBoundchecks, wStyleChecks, wAssertions, wWarnings,
                       wHints, wLineDir, wStackTrace, wLineTrace, wOptimization,
                       wFloatChecks, wInfChecks, wNanChecks}
Source   Edit  
templatePragmas = {wDeprecated, wError, wGensym, wInject, wDirty, wDelegator,
                   wExportNims, wUsed, wPragma, wRedefine, wCallsite}
Source   Edit  
typePragmas = {wMagic, wFinal, wImportCpp..wImportObjC, wImportc..wRequiresInit,
               wNodecl..wPure, wHeader, wGcSafe, wCompilerProc..wCore, wUsed,
               wError, wDeprecated, wSize, wPackage, wNoInit, wBorrow,
               wAcyclic..wShallow, wGensym..wInject, wInheritable,
               wCodegenDecl..wUnchecked, wPartial..wExplain, wExtern,
               wUnion..wPacked, wByCopy..wByRef, wSendable}
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..wRegister, wVolatile}
Source   Edit  

Procs

proc getPragmaVal(procAst: PNode; name: TSpecialWord): PNode {....raises: [],
    tags: [], forbids: [].}
Source   Edit  
proc hasPragma(n: PNode; pragma: TSpecialWord): bool {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc illegalCustomPragma(c: PContext; n: PNode; s: PSym) {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
    forbids: [].}
Source   Edit  
proc implicitPragmas(c: PContext; sym: PSym; info: TLineInfo;
                     validPragmas: TSpecialWords) {....raises: [Exception,
    ValueError, KeyError, IOError, ERecoverableError, OSError, EOFError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
    WriteDirEffect], forbids: [].}
Source   Edit  
proc invalidPragma(c: PContext; n: PNode) {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
    forbids: [].}
Source   Edit  
proc pragma(c: PContext; sym: PSym; n: PNode; validPragmas: TSpecialWords;
            isStatement: bool = false) {....raises: [Exception, ValueError,
    KeyError, IOError, ERecoverableError, OSError, EOFError], tags: [RootEffect,
    ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect, WriteDirEffect],
    forbids: [].}
Source   Edit  
proc pragmaAsm(c: PContext; n: PNode): char {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
    forbids: [].}
Checks asm pragmas and get's the asm subschar (default: '`'). Source   Edit  
proc pragmaCallable(c: PContext; sym: PSym; n: PNode;
                    validPragmas: TSpecialWords; isStatement: bool = false) {....raises: [
    Exception, ValueError, KeyError, IOError, ERecoverableError, OSError,
    EOFError], tags: [RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect,
                      ReadEnvEffect, WriteDirEffect], forbids: [].}
Source   Edit  
proc pragmaNoForward(c: PContext; n: PNode; flag = sfNoForward) {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
    forbids: [].}
Source   Edit  
proc pragmaToOptions(w: TSpecialWord): TOptions {.inline, ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc semAsmOrEmit(con: PContext; n: PNode; marker: char): PNode {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
    forbids: [].}
Source   Edit