modulepaths
Source Edit Imports
ast, renderer, msgs, options, idents, lineinfos, pathutils
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- becomes @foo-@hhead@s..@sbar
Source Edit