Procs
proc checkModuleName(conf: ConfigRef; n: PNode; doLocalError = true): FileIndex {....raises: [ OSError, Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [ ReadEnvEffect, ReadIOEffect, RootEffect, ReadDirEffect, WriteIOEffect].}
- Source Edit
proc demangleModuleName(path: string): string {....raises: [], tags: [].}
- 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].}
- Source Edit
proc mangleModuleName(conf: ConfigRef; path: AbsoluteFile): string {. ...raises: [Exception], tags: [RootEffect].}
-
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