sem

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, passes, semdata, semtypinst, sigmatch, transf, vmdef, vm, idgen, aliases, cgmeth, lambdalifting, evaltempl, patterns, parampatterns, sempass2, linter, semmacrosanity, lowerings, plugins/active, rod, lineinfos, int128, isolation_check, typeallowed, modulegraphs, spawn

Consts

tyUserDefinedGenerics = {tyGenericInst, tyGenericInvocation, tyUserTypeClassInst}
Source Edit
tyMagicGenerics = {tySet, tySequence, tyArray, tyOpenArray}
Source Edit
tyGenericLike = {tyGenericInvocation, tyGenericInst, tyArray, tySet, tySequence,
                 tyOpenArray, tyUserTypeClassInst..tyCompositeTypeClass}
Source Edit
semPass = (myOpen, myProcess, myClose, true)
Source Edit

Procs

proc commonType(x, y: PType): PType {...}{.raises: [Exception], tags: [RootEffect].}
Source Edit
proc commonType(x: PType; y: PNode): PType {...}{.raises: [Exception],
    tags: [RootEffect].}
Source Edit
proc newSymG(kind: TSymKind; n: PNode; c: PContext): PSym {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
Source Edit
proc pushProcCon(c: PContext; owner: PSym) {...}{.raises: [], tags: [].}
Source Edit
proc notFoundError(c: PContext; n: PNode; errors: CandidateErrors) {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
Source Edit
proc instGenericConvertersArg(c: PContext; a: PNode; x: TCandidate) {...}{.raises: [
    Exception, ValueError, IOError, ERecoverableError, OSError, KeyError,
    EOFError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
                      ReadDirEffect, WriteDirEffect, TimeEffect].}
Source Edit
proc instGenericConvertersSons(c: PContext; n: PNode; x: TCandidate) {...}{.raises: [
    Exception, ValueError, IOError, ERecoverableError, OSError, KeyError,
    EOFError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
                      ReadDirEffect, WriteDirEffect, TimeEffect].}
Source Edit

Templates

template commonTypeBegin(): PType
Source Edit

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