# compiler/pragmas

Dark Mode

- Index

Search:
Group by:
Source Edit

# Imports

condsyms, ast, astalgo, idents, semdata, msgs, renderer, wordrecg, ropes, options, extccomp, magicsys, trees, types, lookups, lineinfos, pathutils, linter, ic/ic

# 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