importer

Source   Edit  

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 evalFrom(c: PContext; n: PNode): PNode {....raises: [Exception, ValueError,
    OSError, KeyError, IOError, ERecoverableError], tags: [RootEffect,
    ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].}
Source   Edit  
proc evalImport(c: PContext; n: PNode): PNode {....raises: [KeyError, OSError,
    Exception, ValueError, IOError, ERecoverableError], tags: [ReadEnvEffect,
    ReadIOEffect, ReadDirEffect, RootEffect, WriteIOEffect], forbids: [].}
Source   Edit  
proc evalImportExcept(c: PContext; n: PNode): PNode {....raises: [Exception,
    ValueError, OSError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
    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