compiler/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.

Consts

semPass = (myOpen, myProcess, myClose, true)
  Source   Edit
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 commonType(c: PContext; x, y: PType): PType {....raises: [Exception],
    tags: [RootEffect].}
  Source   Edit
proc commonType(c: PContext; x: PType; y: PNode): PType {....raises: [Exception],
    tags: [RootEffect].}
  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].}
  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].}
  Source   Edit
proc newSymG(kind: TSymKind; n: PNode; c: PContext): PSym {....raises: [Exception,
    ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc notFoundError(c: PContext; n: PNode; errors: CandidateErrors) {....raises: [
    Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc pushProcCon(c: PContext; owner: PSym) {....raises: [], tags: [].}
  Source   Edit

Templates

template commonTypeBegin(): PType
  Source   Edit