compiler/semtypinst

  Source   Edit

Types

LayeredIdTable {.acyclic.} = ref object
  topLayer*: TIdTable
  nextLayer*: LayeredIdTable
  Source   Edit
TReplTypeVars = object
  c*: PContext
  typeMap*: LayeredIdTable
  symMap*: TIdTable
  localCache*: TIdTable
  info*: TLineInfo
  allowMetaTypes*: bool
  skipTypedesc*: bool
  isReturnType*: bool
  owner*: PSym
  recursionLimit: int
  Source   Edit

Procs

proc checkConstructedType(conf: ConfigRef; info: TLineInfo; typ: PType) {....raises: [
    Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc eraseVoidParams(t: PType) {....raises: [], tags: [].}
  Source   Edit
proc generateTypeInstance(p: PContext; pt: TIdTable; info: TLineInfo; t: PType): PType {.
    ...raises: [Exception], tags: [RootEffect].}
  Source   Edit
proc initLayeredTypeMap(pt: TIdTable): LayeredIdTable {....raises: [], tags: [].}
  Source   Edit
proc initTypeVars(p: PContext; typeMap: LayeredIdTable; info: TLineInfo;
                  owner: PSym): TReplTypeVars {....raises: [], tags: [].}
  Source   Edit
proc instCopyType(cl: var TReplTypeVars; t: PType): PType {....raises: [], tags: [].}
  Source   Edit
proc newTypeMapLayer(cl: var TReplTypeVars): LayeredIdTable {....raises: [],
    tags: [].}
  Source   Edit
proc prepareMetatypeForSigmatch(p: PContext; pt: TIdTable; info: TLineInfo;
                                t: PType): PType {....raises: [Exception],
    tags: [RootEffect].}
  Source   Edit
proc recomputeFieldPositions(t: PType; obj: PNode; currPosition: var int) {.
    ...raises: [], tags: [].}
  Source   Edit
proc replaceTypesInBody(p: PContext; pt: TIdTable; n: PNode; owner: PSym;
                        allowMetaTypes = false): PNode {....raises: [KeyError,
    Exception, ValueError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc replaceTypeVarsN(cl: var TReplTypeVars; n: PNode; start = 0): PNode {....raises: [
    KeyError, Exception, ValueError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc replaceTypeVarsT(cl: var TReplTypeVars; t: PType): PType {.
    ...raises: [Exception], tags: [RootEffect].}
  Source   Edit
proc searchInstTypes(g: ModuleGraph; key: PType): PType {.
    ...raises: [KeyError, Exception, ERecoverableError],
    tags: [ReadDirEffect, RootEffect].}
  Source   Edit
proc skipIntLiteralParams(t: PType; idgen: IdGenerator) {....raises: [], tags: [].}
  Source   Edit

Templates

template generateTypeInstance(p: PContext; pt: TIdTable; arg: PNode; t: PType): untyped
  Source   Edit