semtypinst

Imports

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

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, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
Source Edit
proc searchInstTypes(key: PType): PType {...}{.
    raises: [Exception, ERecoverableError], tags: [RootEffect].}
Source Edit
proc cacheTypeInst(inst: PType) {...}{.raises: [], tags: [].}
Source Edit
proc initLayeredTypeMap(pt: TIdTable): LayeredIdTable {...}{.raises: [], tags: [].}
Source Edit
proc newTypeMapLayer(cl: var TReplTypeVars): LayeredIdTable {...}{.raises: [],
    tags: [].}
Source Edit
proc replaceTypeVarsT(cl: var TReplTypeVars; t: PType): PType {...}{.
    raises: [Exception], tags: [RootEffect].}
Source Edit
proc replaceTypeVarsN(cl: var TReplTypeVars; n: PNode; start = 0): PNode {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
Source Edit
proc instCopyType(cl: var TReplTypeVars; t: PType): PType {...}{.raises: [], tags: [].}
Source Edit
proc eraseVoidParams(t: PType) {...}{.raises: [], tags: [].}
Source Edit
proc skipIntLiteralParams(t: PType) {...}{.raises: [], tags: [].}
Source Edit
proc instAllTypeBoundOp(c: PContext; info: TLineInfo) {...}{.raises: [Exception],
    tags: [RootEffect].}
Source Edit
proc initTypeVars(p: PContext; typeMap: LayeredIdTable; info: TLineInfo;
                  owner: PSym): TReplTypeVars {...}{.raises: [], tags: [].}
Source Edit
proc replaceTypesInBody(p: PContext; pt: TIdTable; n: PNode; owner: PSym;
                        allowMetaTypes = false): PNode {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
Source Edit
proc recomputeFieldPositions(t: PType; obj: PNode; currPosition: var int) {...}{.
    raises: [], tags: [].}
Source Edit
proc generateTypeInstance(p: PContext; pt: TIdTable; info: TLineInfo; t: PType): PType {...}{.
    raises: [Exception], tags: [RootEffect].}
Source Edit
proc prepareMetatypeForSigmatch(p: PContext; pt: TIdTable; info: TLineInfo;
                                t: PType): PType {...}{.raises: [Exception],
    tags: [RootEffect].}
Source Edit

Templates

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

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