compiler/pragmas

  Source   Edit

Consts

allRoutinePragmas = {wMagic..wThread, wEffectsOf, wConstructor, wDelegator,
                     wImportCpp, 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..wEnforceNoRaises,
                     wExtern}
  Source   Edit
constPragmas = {wMagic, wIntDefine..wBoolDefine, wImportCpp, wImportObjC,
                wImportc..wExportNims, wNodecl, wHeader, wCompilerProc..wCore,
                wUsed, wError, wDeprecated, wGensym..wInject, wExtern}
  Source   Edit
converterPragmas = {wMagic..wThread, wEffectsOf, wConstructor, wDelegator,
                    wImportCpp, wImportObjC..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..wEnforceNoRaises, wExtern}
  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, 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, 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, wGoto, 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..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..wEnforceNoRaises, wExtern}
  Source   Edit
paramPragmas = {wNoalias, wInject, wGensym}
  Source   Edit
procPragmas = {wMagic..wThread, wEffectsOf, wConstructor, wDelegator,
               wImportCpp, wImportObjC..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..wEnforceNoRaises, wExtern}
  Source   Edit
procTypePragmas = {wNimcall..wNoconv, wVarargs, wNoSideEffect, wThread, wRaises,
                   wEffectsOf, wLocks, wTags, wGcSafe, wRequires, wEnsures}
  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, wExperimental, wThis, wUsed, wInvariant,
               wAssume, wAssert}
  Source   Edit
templatePragmas = {wDeprecated, wError, wGensym, wInject, wDirty, wDelegator,
                   wExportNims, wUsed, wPragma}
  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
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

Procs

proc getPragmaVal(procAst: PNode; name: TSpecialWord): PNode {....raises: [],
    tags: [].}
  Source   Edit
proc hasPragma(n: PNode; pragma: TSpecialWord): bool {....raises: [], tags: [].}
  Source   Edit
proc illegalCustomPragma(c: PContext; n: PNode; s: PSym) {....raises: [Exception,
    ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc implicitPragmas(c: PContext; sym: PSym; info: TLineInfo;
                     validPragmas: TSpecialWords) {....raises: [Exception,
    ValueError, KeyError, OSError, IOError, ERecoverableError, EOFError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
    WriteDirEffect].}
  Source   Edit
proc invalidPragma(c: PContext; n: PNode) {....raises: [Exception, ValueError,
    KeyError, OSError, IOError, ERecoverableError], tags: [RootEffect,
    ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc pragma(c: PContext; sym: PSym; n: PNode; validPragmas: TSpecialWords;
            isStatement: bool = false) {....raises: [Exception, ValueError,
    KeyError, OSError, IOError, ERecoverableError, EOFError], tags: [RootEffect,
    ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect, WriteDirEffect].}
  Source   Edit
proc pragmaAsm(c: PContext; n: PNode): char {....raises: [Exception, ValueError,
    KeyError, OSError, IOError, ERecoverableError], tags: [RootEffect,
    ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc pragmaCallable(c: PContext; sym: PSym; n: PNode;
                    validPragmas: TSpecialWords; isStatement: bool = false) {....raises: [
    Exception, ValueError, KeyError, OSError, IOError, ERecoverableError,
    EOFError], tags: [RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect,
                      ReadEnvEffect, WriteDirEffect].}
  Source   Edit
proc semAsmOrEmit(con: PContext; n: PNode; marker: char): PNode {....raises: [
    Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit