compiler/sempass2

  Source   Edit

Procs

proc checkForSink(config: ConfigRef; idgen: IdGenerator; owner: PSym; arg: PNode) {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc checkMethodEffects(g: ModuleGraph; disp, branch: PSym) {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
checks for consistent effects for multi methods.   Source   Edit
proc setEffectsForProcType(g: ModuleGraph; t: PType; n: PNode; s: PSym = nil) {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc trackProc(c: PContext; s: PSym; body: PNode) {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
    TimeEffect].}
  Source   Edit
proc trackStmt(c: PContext; module: PSym; n: PNode; isTopLevel: bool) {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
    TimeEffect].}
  Source   Edit