W3cubDocs

/Nim

sem

Source Edit

This module implements semantic checking for calls.this module does the semantic checking of statementsThis module does the semantic transformation of the fields* iterators.This module implements Nim's object construction rules.

Imports

ast, options, astalgo, trees, wordrecg, ropes, msgs, idents, renderer, types, platform, magicsys, nversion, nimsets, semfold, modulepaths, importer, procfind, lookups, pragmas, semdata, semtypinst, sigmatch, transf, vmdef, vm, aliases, cgmeth, lambdalifting, evaltempl, patterns, parampatterns, sempass2, linter, semmacrosanity, lowerings, lineinfos, int128, isolation_check, typeallowed, modulegraphs, enumtostr, concepts, astmsgs, extccomp, vtables, spawn

Consts

tyGenericLike = {tyGenericInvocation, tyGenericInst, tyArray, tySet, tySequence,
                 tyOpenArray, tyUserTypeClassInst..tyCompositeTypeClass}
Source Edit
tyMagicGenerics = {tySet, tySequence, tyArray, tyOpenArray}
Source Edit
tyUserDefinedGenerics = {tyGenericInst, tyGenericInvocation, tyUserTypeClassInst}
Source Edit

Procs

proc closePContext(graph: ModuleGraph; c: PContext; n: PNode): PNode {....raises: [
    KeyError, Exception, ValueError, IOError, OSError, ERecoverableError], tags: [
    ReadDirEffect, RootEffect, ReadIOEffect, WriteIOEffect, ReadEnvEffect],
    forbids: [].}
Source Edit
proc commonType(c: PContext; x, y: PType): PType {.
    ...raises: [KeyError, Exception], tags: [ReadDirEffect, RootEffect],
    forbids: [].}
Source Edit
proc commonType(c: PContext; x: PType; y: PNode): PType {.
    ...raises: [Exception, KeyError], tags: [RootEffect, ReadDirEffect],
    forbids: [].}
Source Edit
proc instGenericConvertersArg(c: PContext; a: PNode; x: TCandidate) {....raises: [
    Exception, ValueError, KeyError, OSError, IOError, ERecoverableError,
    EOFError], tags: [RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect,
                      ReadEnvEffect, WriteDirEffect, TimeEffect], forbids: [].}
Source Edit
proc instGenericConvertersSons(c: PContext; n: PNode; x: TCandidate) {....raises: [
    Exception, ValueError, KeyError, OSError, IOError, ERecoverableError,
    EOFError], tags: [RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect,
                      ReadEnvEffect, WriteDirEffect, TimeEffect], forbids: [].}
Source Edit
proc isRecursiveType(t: PType): bool {....raises: [], tags: [], forbids: [].}
Source Edit
proc newSymG(kind: TSymKind; n: PNode; c: PContext): PSym {....raises: [Exception,
    ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
    forbids: [].}
Source Edit
proc notFoundError(c: PContext; n: PNode; errors: CandidateErrors) {....raises: [
    Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
    forbids: [].}
Source Edit
proc preparePContext(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PContext {....raises: [
    IOError, Exception, ValueError, KeyError, OSError, ERecoverableError], tags: [
    ReadIOEffect, RootEffect, ReadDirEffect, WriteIOEffect, ReadEnvEffect],
    forbids: [].}
Source Edit
proc pushProcCon(c: PContext; owner: PSym) {....raises: [], tags: [], forbids: [].}
Source Edit
proc semWithPContext(c: PContext; n: PNode): PNode {....raises: [OSError,
    Exception, ValueError, KeyError, IOError, ERecoverableError, EOFError,
    ESuggestDone, OSError, Exception, ValueError, KeyError, IOError, EOFError,
    ERecoverableError], tags: [ReadEnvEffect, ReadIOEffect, RootEffect,
                               ReadDirEffect, WriteIOEffect, WriteDirEffect,
                               TimeEffect, ExecIOEffect], forbids: [].}
Source Edit

Templates

template commonTypeBegin(): PType
Source Edit

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/compiler/sem.html