modulepaths

Search:
Group by:
Source   Edit  

Procs

proc checkModuleName(conf: ConfigRef; n: PNode; doLocalError = true): FileIndex {....raises: [
    OSError, Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    ReadEnvEffect, ReadIOEffect, RootEffect, ReadDirEffect, WriteIOEffect],
    forbids: [].}
Source   Edit  
proc demangleModuleName(path: string): string {....raises: [], tags: [],
    forbids: [].}
Demangle a relative module path. Source   Edit  
proc getModuleName(conf: ConfigRef; n: PNode): string {....raises: [OSError,
    Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    ReadEnvEffect, ReadIOEffect, RootEffect, ReadDirEffect, WriteIOEffect],
    forbids: [].}
Source   Edit  
proc mangleModuleName(conf: ConfigRef; path: AbsoluteFile): string {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}

Mangle a relative module path to avoid path and symbol collisions.

Used by backends that need to generate intermediary files from Nim modules. This is needed because the compiler uses a flat cache file hierarchy.

Example: foo-#head/../bar becomes @foo-@hhead@s..@sbar

Source   Edit