# compiler/semtypinst

Dark Mode

- Index

Search:
Group by:
Source Edit

# Imports

ast, astalgo, msgs, types, magicsys, semdata, renderer, options, lineinfos, modulegraphs, concepts

# 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