summary refs log tree commit diff stats
path: root/compiler/packagehandling.nim
Commit message (Collapse)AuthorAgeFilesLines
* Refactor and doc package handling, module name mangling (#19821)quantimnot2022-05-301-20/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor and doc package handling, module name mangling * Consolidate, de-duplicate and extend package handling * Alter how duplicate module names of a package are handled * Alter how module names are mangled * Fix crash when another package is named 'stdlib' (test case added) * Doc what defines a package in the manual Modules with duplicate names within a package used to be given 'fake' packages to resolve conflicts. That prevented the ability to discern if a module belonged to the current project package or a foreign package. They now have the proper package owner and the names are mangled in a consistent manner to prevent codegen clashes. All module names are now mangled the same. Stdlib was treated special before, but now it is same as any other package. This fixes a crash when a foreign package is named 'stdlib'. Module mangling is altered for both file paths and symbols used by the backends. Removed an unused module name to package mapping that may have been intended for IC. The mapping was removed because it wasn't being used and was complicating the issue of package modules with duplicate names not having the proper package owner assigned. * Fix some tests * Refactor `packagehandling` * Remove `packagehandling.withPackageName` and its uses * Move module path mangling from `packagehandling` to `modulepaths` * Move `options.toRodFile` to `ic` to break import cycle * Changed import style to match preferred style Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
* IC: next steps (#16550)Andreas Rumpf2021-01-071-1/+2
| | | | | | | | | | | | | | | | | | * cleanups * ast.nim: cleanups * IC: no more sym.tab field, stored externally in the module graph * nimble compiles again * rodfiles: store bitwidth of integers and the endianness in the cookie because we serialize 'int' directly * rodfiles: added compilerproc and export sections * rodfiles: added all the missing sections * rodfiles: track the missing information * IC: architecture for lazy loading of proc bodies * make tests green again * completed the lazy loading of proc bodies * symbol lookup integration, part 1 * symbol lookup integration, part 2 * symbol lookup integration, part 3 * make tcompilerapi work again * rodfiles: fixed config change handling
* Correct all eggs (#15906)Miran2020-11-101-2/+2
| | | | * "eg" is a misspelled "egg", "e.g." is "exempli gratia" * Also, "ie" is "i.e.".
* Big compiler Cleanup (#14777)Clyybber2020-08-281-2/+0
|
* fix #13150 `nim doc --project` now works reliably (#13223)Timothee Cour2020-02-061-5/+8
| | | | | | | | | | * fix #13150 `nim doc --project` works with duplicate names and with imports below main project file * add to help; fixup after #13212 isRelativeTo got merged * fix test tests/compilerapi/tcompilerapi.nim * remove nimblePkg field; compute on the fly instead * kochdocs: compiler docs now under compiler/ * --docRoot now has smart default: best among @pkg, @path
* Fixes #12734 (#12784)Tomohiro2019-12-011-1/+4
|
* fixes #12420 [backport] (#12456)Andreas Rumpf2019-10-181-8/+5
|
* Fix #12242, replacing ":" with "@c" in packages [backport] (#12265)Endeg2019-09-251-2/+2
|
* changed name mangling for generated C filesAraq2019-09-131-2/+2
|
* Fixed c filenames mangling (#12161)Yuriy Glukhov2019-09-111-3/+3
|
* fix #12130 ; improve naming scheme in fakePackageNameTimothee Cour2019-09-061-5/+3
|
* typoAraq2019-05-081-1/+1
|
* fixes #11196Araq2019-05-081-2/+2
|
* nicer 'CC' output messagesAraq2019-05-061-0/+4
|
* remove the restriction that module names need to be unique per Nimble… ↵Andreas Rumpf2019-04-201-4/+10
| | | | | | | | | | (#11064) * remove the restriction that module names need to be unique per Nimble package * make tests green again * use the 'response' linker file also on Unix in order to fix megatest
* compiler refactoring; use typesafe path handing; docgen: render symbols ↵Andreas Rumpf2018-09-071-3/+3
| | | | between modules
* even more strict isNil handling for strings/seqs in order to detect bugsAraq2018-08-221-1/+2
|
* guards.nim does compileAndreas Rumpf2018-05-111-15/+8
|
* happy new yearAraq2017-01-071-1/+1
|
* expr and stmt are now deprecatedAndreas Rumpf2016-07-301-1/+1
|
* fixes #4485; package handling works better; docgen works with --project on ↵Andreas Rumpf2016-07-191-0/+56
Nimble package level