This module implements lifting for type-bound operations (=sink, =copy, =destroy, =deepCopy, =wasMoved, =dup).
Procs
proc createTypeBoundOps(g: ModuleGraph; c: PContext; orig: PType; info: TLineInfo; idgen: IdGenerator) {....raises: [ Exception, OSError, KeyError, ValueError, IOError, ERecoverableError], tags: [ RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect], forbids: [].}
- Source Edit
proc cyclicType(g: ModuleGraph; t: PType): bool {. ...raises: [Exception, OSError, KeyError, ValueError, IOError], tags: [ RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect], forbids: [].}
- Source Edit
proc genBuiltin(g: ModuleGraph; idgen: IdGenerator; magic: TMagic; name: string; i: PNode): PNode {....raises: [Exception, OSError, KeyError, ValueError, IOError], tags: [RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect], forbids: [].}
- Source Edit
proc produceDestructorForDiscriminator(g: ModuleGraph; typ: PType; field: PSym; info: TLineInfo; idgen: IdGenerator): PSym {....raises: [ Exception, OSError, KeyError, ValueError, IOError, ERecoverableError], tags: [ RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect], forbids: [].}
- Source Edit