# sem

Theme:

- Index

Search:
Group by:
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, layeredtable, 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, ValueError, OSError, Exception, IOError, ERecoverableError], tags: [
        ReadDirEffect, RootEffect, ReadIOEffect, WriteIOEffect, ReadEnvEffect],
        forbids: [].}

  Source Edit

    proc commonType(c: PContext; x, y: PType): PType {.
        ...raises: [KeyError, ValueError, OSError, Exception],
        tags: [ReadDirEffect, RootEffect], forbids: [].}

  Source Edit

    proc commonType(c: PContext; x: PType; y: PNode): PType {.
        ...raises: [Exception, KeyError, ValueError, OSError],
        tags: [RootEffect, ReadDirEffect], forbids: [].}

  Source Edit

    proc instGenericConvertersArg(c: PContext; a: PNode; x: TCandidate) {....raises: [
        KeyError, Exception, ValueError, OSError, IOError, ERecoverableError,
        EOFError], tags: [RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect,
                          ReadEnvEffect, WriteDirEffect, TimeEffect], forbids: [].}

  Source Edit

    proc instGenericConvertersSons(c: PContext; n: PNode; x: TCandidate) {....raises: [
        KeyError, Exception, ValueError, 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 markConvertersUsed(c: PContext; n: PNode) {....raises: [Exception, ValueError,
        OSError, KeyError, IOError, ERecoverableError], tags: [RootEffect,
        ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].}

  Source Edit

    proc newSymG(kind: TSymKind; n: PNode; c: PContext): PSym {....raises: [Exception,
        ValueError, OSError, KeyError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
        forbids: [].}

  Source Edit

    proc notFoundError(c: PContext; n: PNode; errors: CandidateErrors) {....raises: [
        Exception, ValueError, OSError, KeyError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
        forbids: [].}

  Source Edit

    proc preparePContext(graph: ModuleGraph; module: PSym; idgen: IdGenerator): PContext {....raises: [
        IOError, Exception, ValueError, OSError, KeyError, 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