This module implements the symbol importing mechanism.
Procs
proc declarePureEnumField(c: PContext; s: PSym) {. ...raises: [KeyError, OSError, Exception, ValueError], tags: [ReadEnvEffect, ReadIOEffect, ReadDirEffect, RootEffect], forbids: [].}
- Source Edit
proc importAllSymbols(c: PContext; fromMod: PSym) {....raises: [KeyError, OSError, Exception, ValueError, IOError, ERecoverableError], tags: [ReadEnvEffect, ReadIOEffect, ReadDirEffect, RootEffect, WriteIOEffect], forbids: [].}
- Source Edit
proc readExceptSet(c: PContext; n: PNode): IntSet {....raises: [Exception, ValueError, OSError, KeyError, IOError, ERecoverableError], tags: [ RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].}
- Source Edit
proc reimportUnnamed(c: PContext; partners: openArray[PSym]) {. ...raises: [KeyError, OSError, Exception, ValueError], tags: [ReadEnvEffect, ReadIOEffect, ReadDirEffect, RootEffect], forbids: [].}
- The modules of a cycle group import each other before they declare anything, so the converters, patterns and pure enums that are not reachable by name have to be imported again once they exist. Source Edit
proc resolveCycleFromImports(c: PContext; final: bool) {....raises: [Exception, ValueError, OSError, KeyError, IOError, ERecoverableError], tags: [ RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].}
- Imports the symbols of the from m {.cyclic.} import x statements whose module m belongs to the cycle group, after m declared its types and again after its leading declarations: this imports the fields of enums and registers converters. final reports names that do not exist. Source Edit