This module implements code generation for methods.
Procs
proc generateIfMethodDispatchers(g: ModuleGraph; idgen: IdGenerator) {. ...raises: [Exception, KeyError, ValueError, IOError, ERecoverableError], tags: [ RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].}
- Source Edit
proc genIfDispatcher(g: ModuleGraph; methods: seq[PSym]; relevantCols: IntSet; idgen: IdGenerator): PSym {. ...raises: [KeyError, Exception, ValueError, IOError, ERecoverableError], tags: [ ReadDirEffect, RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].}
- Source Edit
proc getDispatcher(s: PSym): PSym {....raises: [], tags: [], forbids: [].}
- can return nil if is has no dispatcher. Source Edit
proc methodDef(g: ModuleGraph; idgen: IdGenerator; s: PSym) {. ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [ RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].}
- Source Edit
proc relevantCol(methods: seq[PSym]; col: int): bool {....raises: [Exception], tags: [RootEffect], forbids: [].}
- Source Edit
proc sortBucket(a: var seq[PSym]; relevantCols: IntSet) {....raises: [Exception], tags: [RootEffect], forbids: [].}
- Source Edit