Nim/compiler
alaviss e259f80fc7 msgs, ccgstmts: fixes #11572 (#11621)
* [refactor] msgs: toFilename now return just the filename

The C codegen uses just the file name for stacktrace when
excessiveStackTrace is off (see quotedName),
so there aren't any reason for other codegen to not do the same.

The file name is now cached in TFileInfo.shortName, which was introduced
for nimsuggest, and went unused after several refactoring of the
compiler.

A toProjPath() proc has been added for the previous behavior of
toFilename().

* ccgstmt: use quotedFilename() for raiseExceptionEx

This is the same proc used for stacktrace when --stacktrace:on

Fixes #11572

* msgs: handle case where file name is not available
2019-06-30 12:30:37 +02:00
..
nimfix implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1 2018-06-13 01:44:19 +02:00
plugins rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227) 2019-05-11 10:11:08 +02:00
aliases.nim fixes #11525 2019-06-26 23:15:58 +02:00
asciitables.nim add alignTable, parseTableCells to align/format a tab(etc) delimited table (#10182) 2019-01-09 09:46:44 +01:00
ast.nim [refactoring] remove zeroExtend and friends from the compiler builtins. (#11531) 2019-06-24 09:19:02 +02:00
astalgo.nim Remove immediate pragma (#11308) 2019-05-29 22:21:51 +02:00
bitsets.nim [refactoring] refactor the compiler and stdlib to deprecation warnings (#11419) 2019-06-11 16:49:56 +02:00
btrees.nim added btrees.contains 2018-06-03 20:15:37 +02:00
canonicalizer.nim Replace countup(x, y) with x .. y 2019-05-07 12:37:28 +02:00
ccgcalls.nim fixes #11412 2019-06-06 07:56:19 +02:00
ccgexprs.nim fixes #11098 2019-06-26 19:34:05 +02:00
ccgliterals.nim fixes #11048 2019-04-17 13:22:22 +02:00
ccgmerge.nim Compiler plugin for implementing incremental computation in user space (#10819) 2019-04-11 23:09:11 +02:00
ccgstmts.nim msgs, ccgstmts: fixes #11572 (#11621) 2019-06-30 12:30:37 +02:00
ccgthreadvars.nim Less ropes (#10979) 2019-04-11 09:48:10 +02:00
ccgtrav.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
ccgtypes.nim fixes #11611 2019-06-28 21:04:49 +02:00
ccgutils.nim right shift is now by default sign preserving (#11322) 2019-05-29 16:48:00 +02:00
cgen.nim fixes #11563 (#11594) 2019-06-26 06:55:43 +02:00
cgendata.nim fixes #11082 2019-04-23 21:51:38 +02:00
cgmeth.nim fixes #10912 (#11317) 2019-05-24 18:33:53 +02:00
closureiters.nim [refactoring] closureiters.nim: style change 2019-06-20 11:31:20 +02:00
cmdlinehelper.nim fixes #9120 2018-12-16 20:34:07 +01:00
commands.nim new compiler feature: --expandMacro 2019-05-29 20:47:28 +02:00
condsyms.nim [refactoring] remove zeroExtend and friends from the compiler builtins. (#11531) 2019-06-24 09:19:02 +02:00
configuration.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
cursors.nim explicit default values for a leaner codegen, .cursor variables for optimization 2019-03-07 12:50:33 +01:00
debuginfo.nim
depends.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
dfa.nim increase dfa instruction limit (#11579) 2019-06-24 22:34:54 -07:00
docgen.nim [bugfix] correct 'source' for documentation (#11540) 2019-06-20 21:03:48 +02:00
docgen2.nim docgen: generate docs for modules imported in system.nim, fixes #10972 (#11101) 2019-04-24 14:12:16 +02:00
enumtostr.nim fixes #11205 2019-05-28 21:30:41 +02:00
evalffi.nim rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227) 2019-05-11 10:11:08 +02:00
evaltempl.nim Remove immediate pragma (#11308) 2019-05-29 22:21:51 +02:00
extccomp.nim fixes #11405 2019-06-05 16:26:23 +02:00
filter_tmpl.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
filters.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
forloops.nim
gorgeimpl.nim Fix gorge caching (#10407) 2019-01-22 06:24:45 +01:00
guards.nim fixes #11436 2019-06-19 09:48:55 +02:00
hlo.nim more destructor based changes (#10885) 2019-03-23 00:12:05 +01:00
idents.nim Replace countup(x, y) with x .. y 2019-05-07 12:37:28 +02:00
idgen.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
importer.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
incremental.nim IC: further progress 2018-11-20 19:30:00 +01:00
injectdestructors.nim fixes #11577 2019-06-26 15:33:51 +02:00
installer.ini Add build support for Linux/alpha (#11386) 2019-06-03 08:18:15 +02:00
jsgen.nim [refactoring] remove zeroExtend and friends from the compiler builtins. (#11531) 2019-06-24 09:19:02 +02:00
jstypes.nim Replace countup(x, y) with x .. y 2019-05-07 12:37:28 +02:00
lambdalifting.nim fixes #11523 2019-06-26 23:41:20 +02:00
layouter.nim nimpretty: bugfix [bugfix] 2019-06-28 11:45:21 +02:00
lexer.nim [bugfix] fix #11469, new rules for a newline in nimpretty (#11512) 2019-06-26 15:36:44 +02:00
liftdestructors.nim [bugfix] owned closures (#11544) 2019-06-20 07:40:45 +02:00
liftlocals.nim refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
lineinfos.nim Warn about object case transitions at compile time (#11378) 2019-06-02 06:40:07 +02:00
linter.nim Nim style checker: document the switch; fixes #9564 2018-10-30 15:03:28 +01:00
llstream.nim Fixed order of output in repl and added a proc for opening a custom repl (#10802) 2019-03-10 20:02:47 +01:00
lookups.nim add whitespace on the right-hand side of -- 2019-05-03 11:33:29 +02:00
lowerings.nim [bugfix] owned closures (#11544) 2019-06-20 07:40:45 +02:00
macrocacheimpl.nim completed VM support for incremental compilations 2018-06-04 01:01:08 +02:00
magicsys.nim even more strict isNil handling for strings/seqs in order to detect bugs 2018-08-22 12:35:46 +02:00
main.nim make fullpaths the default in error messages and stack traces for mor… (#11385) 2019-06-05 08:02:54 +02:00
modulegraphs.nim Fix destructor injections for global variables (#11230) 2019-05-13 08:28:33 +02:00
modulepaths.nim fixes #10042 (allow spaces in import) (#10504) 2019-01-31 08:20:00 +01:00
modules.nim fixes #11057 (#11345) 2019-05-28 15:55:11 +02:00
msgs.nim msgs, ccgstmts: fixes #11572 (#11621) 2019-06-30 12:30:37 +02:00
ndi.nim fixes #10963, disallow implicit mixing of strings and ints/floats (#11292) 2019-05-21 21:32:37 +02:00
nim.cfg disable the new CaseTransition warning for the Nim compiler itself 2019-06-03 12:00:28 +02:00
nim.nim doc: move specific checks to advanced options, for a less intimidatin… (#10779) 2019-03-04 10:49:55 +01:00
nimblecmd.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
nimconf.nim [bugfix] nimpretty: fixes #11468 2019-06-13 10:42:37 +02:00
nimeval.nim Added nimscript support to repl (#10834) 2019-03-13 10:21:24 +01:00
nimlexbase.nim StringStream and parseJson, parseCfg, parseSql et al for the vm (#10746) 2019-02-28 22:57:57 +01:00
nimsets.nim Replace countup(x, y) with x .. y 2019-05-07 12:37:28 +02:00
nodejs.nim Initial version of the hot-code reloading support for native targets (#10729) 2019-02-26 15:48:55 +01:00
nversion.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
options.nim compiler/[msgs, options]: confine --listFullPaths to compiler messages (#11583) 2019-06-26 02:40:10 +02:00
packagehandling.nim typo 2019-05-08 15:05:21 +02:00
parampatterns.nim fixes #10942. Lent T bug (#10946) 2019-04-03 15:55:53 +02:00
parser.nim [bugfix] fix #11469, new rules for a newline in nimpretty (#11512) 2019-06-26 15:36:44 +02:00
passaux.nim Make the registered passes local to the ModuleGraph (#9259) 2018-10-09 19:24:02 +02:00
passes.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
pathutils.nim Initial version of the hot-code reloading support for native targets (#10729) 2019-02-26 15:48:55 +01:00
patterns.nim rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227) 2019-05-11 10:11:08 +02:00
platform.nim list available options for --cpu, --os and --cc if the passed option is not found (#11328) 2019-05-25 20:22:57 +02:00
pluginsupport.nim refactoring: fewer global variables 2018-05-27 19:19:12 +02:00
pragmas.nim [other] new experimental pragma .nodestroy for easier custom destructors 2019-06-20 19:41:03 +02:00
prefixmatches.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
procfind.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
readme.txt
renderer.nim docgen: do not render the ugly <//> operator; temporary hack until 0.20 has been released 2019-05-29 10:23:39 +02:00
reorder.nim [refactor] compiler/[msgs, reorder, semstmts]: use toMsgFilename where appropriate (#11595) 2019-06-26 14:38:19 +02:00
rod.nim IC: more things work 2018-12-03 18:57:44 +01:00
rodimpl.nim fixes #11202 2019-05-14 12:02:26 +02:00
rodutils.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
ropes.nim Replace countup(x, y) with x .. y 2019-05-07 12:37:28 +02:00
saturate.nim
scriptconfig.nim [feature] Added os.delEnv; add delEnv support to nimscript too (#11466) 2019-06-15 11:32:26 +02:00
sem.nim Remove immediate pragma (#11308) 2019-05-29 22:21:51 +02:00
semcall.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
semdata.nim Smarter variant object construction (#11273) 2019-05-26 21:22:02 +02:00
semexprs.nim fixes #11600 2019-06-26 15:55:27 +02:00
semfields.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
semfold.nim [refactoring] remove zeroExtend and friends from the compiler builtins. (#11531) 2019-06-24 09:19:02 +02:00
semgnrc.nim fixes #11188 (#11319) 2019-05-24 22:50:43 +02:00
seminst.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
semmacrosanity.nim fixes #11268 (#11299) 2019-05-22 07:37:25 +02:00
semmagic.nim fixes #7937 (#11244) 2019-05-14 07:44:39 +02:00
semobjconstr.nim parameter runtime discriminators (#11397) 2019-06-04 22:10:39 +02:00
semparallel.nim more destructor based changes (#10885) 2019-03-23 00:12:05 +01:00
sempass2.nim [refactoring] liftdestructors.nim is callable from lambdalifting; refs #11217 2019-06-12 10:44:45 +02:00
semstmts.nim [refactor] compiler/[msgs, reorder, semstmts]: use toMsgFilename where appropriate (#11595) 2019-06-26 14:38:19 +02:00
semtempl.nim Allow void macro result (#11286) 2019-05-21 21:31:40 +02:00
semtypes.nim pass typedesc as NimNode to macros (#11400) 2019-06-05 09:17:04 +02:00
semtypinst.nim fixes #7816 (#11261) 2019-05-15 21:12:07 +02:00
sighashes.nim Replace countup(x, y) with x .. y 2019-05-07 12:37:28 +02:00
sigmatch.nim sigmatch: use boolean algebra 2019-06-02 08:35:09 +02:00
sizealignoffsetimpl.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
suggest.nim rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227) 2019-05-11 10:11:08 +02:00
syntaxes.nim [bugfix] fix #11532, nimpretty should ignore source code filters (#11603) 2019-06-26 23:09:57 +02:00
tccgen.nim fixes the remaining fixable Nimrod->Nim renamings; closes #2032 2018-09-03 09:34:31 +02:00
transf.nim fix complex typdesc iterators 2019-05-08 14:29:42 -07:00
trees.nim Render deprecated pragmas (#8886) 2019-06-03 10:15:20 +02:00
treetab.nim Replace countup(x, y) with x .. y 2019-05-07 12:37:28 +02:00
types.nim [other] make typeAllowed easier to debug by using structured programming 2019-06-12 08:45:47 +02:00
typesrenderer.nim even more strict isNil handling for strings/seqs in order to detect bugs 2018-08-22 12:35:46 +02:00
unittest_light.nim improve formatting in assertEquals 2019-01-14 17:00:54 -08:00
vm.nim [refactoring] remove zeroExtend and friends from the compiler builtins. (#11531) 2019-06-24 09:19:02 +02:00
vmdef.nim [refactoring] remove zeroExtend and friends from the compiler builtins. (#11531) 2019-06-24 09:19:02 +02:00
vmdeps.nim rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227) 2019-05-11 10:11:08 +02:00
vmgen.nim [refactoring] remove zeroExtend and friends from the compiler builtins. (#11531) 2019-06-24 09:19:02 +02:00
vmhooks.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
vmmarshal.nim Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
vmops.nim Compiler plugin for implementing incremental computation in user space (#10819) 2019-04-11 23:09:11 +02:00
wordrecg.nim [other] new experimental pragma .nodestroy for easier custom destructors 2019-06-20 19:41:03 +02:00
writetracking.nim more destructor based changes (#10885) 2019-03-23 00:12:05 +01:00

This directory contains the Nim compiler written in Nim. Note that this
code has been translated from a bootstrapping version written in Pascal, so
the code is **not** a poster child of good Nim code.