summary refs log tree commit diff stats
path: root/tests/macros
Commit message (Collapse)AuthorAgeFilesLines
* put the new for loop macros under an experimental switch named 'forLoopMacros'Andreas Rumpf2018-08-151-1/+1
|
* fixes #5617, 'copyLineInfo' addition (#8523)andri lim2018-08-051-0/+14
|
* fixes #7827, bindSym enhancement (#8499)andri lim2018-08-021-0/+42
| | | | | | | | | | | | | | | | * bindSym power up, working prototype * update bindSym doc * add bindSym test * fix some typo * fix bindSym doc * get rid of specialops field from vm * add experimental: dynamicBindSym
* Render bug: if expression with statement list expression as condition (#8375)cooldome2018-07-211-0/+16
| | | | * Fixes #8348
* Fixes #8343, Fixes #8344 (#8347)cooldome2018-07-181-1/+16
|
* make typesafeprintf test greenAndreas Rumpf2018-07-171-3/+4
|
* Fixes #8287 (#8288)cooldome2018-07-121-0/+20
|
* system.nim: remove deprecated symbolsAndreas Rumpf2018-06-281-16/+0
|
* Return an error symbol as macro output if needed (#8116)LemonBoy2018-06-271-0/+8
| | | | | | Return an error symbol if the macro output has no type and a typedesc is expected. Fixes #7454
* fix #5930Arne Döring2018-06-131-2/+2
|
* make tests green againAndreas Rumpf2018-06-111-3/+3
|
* A motivating example for the new `bindSym` behavior.Zahary Karadjov2018-05-071-0/+154
| | | | | | | | The example is a proof-of-concept logging library, allowing you to define lexically-scoped environments where certain logging attributes are applied automatically to all logging statements. fixes tmacro1 (use of `bindSym` inside static blocks)
* Better support for treating templates and macros as symbols.Zahary Karadjov2018-05-071-0/+173
| | | | | | | | | | | | | | | | | | | This allows you to pass a template or a macro to another macro which can then inspect the implementation of the former template/macro using `getImpl`. Since templates can be freely redefined, this allows you to treat their symbols as compile-time variables that have lexical scope. A motivating PoC example for a logging library taking advantage of this will be provided in the next commit. Implementation details: * The name of a template or a macro will be consider a symbol if the template/macro requires parameters * For parameterless templates/macros, you can use `bindSym`, which was extended to also work outside of compile-time procs.
* eqIdent new returns false on non identifier types (#7629)Arne Döring2018-04-171-0/+17
|
* move eqIdent to vm.nim (#7585)Arne Döring2018-04-151-0/+42
| | | | | | * Strutils comment changes. * fix typo
* implements first version of for-loop macrosAndreas Rumpf2018-04-151-0/+44
|
* Get symbol kind (#7491)Arne Döring2018-04-111-0/+2
|
* Add CommentStmt to astGenRepr (#7313)PMunch2018-03-161-4/+24
| | | | | | * Added codeRepr and dumpCode to the macros module. This allows those writing macros to write examples, get the code to generate the AST for that example, and then modify that code to be dynamic with the macro function.
* fixes #7093Andreas Rumpf2018-01-181-0/+19
|
* modify getTypeImpl to reduce result to final implementation (#6891)jcosborn2017-12-091-2/+12
| | | | | * added test case for getTypeImpl * modify getTypeImpl to reduce result to final implementation
* fix getTypeInst for tyGenericInst (#6868)jcosborn2017-12-041-6/+26
|
* make tests green againAraq2017-11-231-12/+0
|
* make tests green againAndreas Rumpf2017-10-011-2/+2
|
* the parser finally parses 'echo {1,2}' as it shouldAndreas Rumpf2017-09-301-1/+1
|
* Fix #6295 (#6296)BigEpsilon2017-08-301-0/+13
|
* Fixed NimTypeKind enum, added missing values. (#6157)Yuriy Glukhov2017-07-301-0/+7
|
* Added codeRepr and dumpCode to the macros module. (#5778)PMunch2017-07-261-0/+25
|
* Remove expr/stmt (#5857)Arne Döring2017-07-2532-68/+56
|
* newLit emty seq fix (#6091)Arne Döring2017-07-131-0/+9
| | | | * the type of the empty seq is still the correct type * updated test
* fixes anon procs created by macrosAndreas Rumpf2017-07-111-1/+32
|
* improved comment satement support in macros (#5904)Arne Döring2017-06-021-19/+19
|
* more and improved newLit procs in macros moduleArne Döring2017-05-231-0/+140
|
* Merge branch 'zahary' into araq2Andreas Rumpf2017-05-161-3/+2
|\
| * fix a regression in tlexerexZahary Karadjov2017-04-101-3/+2
| |
* | fixed macros.getTypeImpl for a symbol of type tyGenericBody (#5788) (#5812)jcosborn2017-05-141-18/+47
|/ | | | | * fixed macros.getTypeImpl for a symbol of type tyGenericBody * added test case and commented test code
* overloading resolution for getAst; breaking changeAraq2017-03-181-4/+4
|
* Fixes #5167 and related problems (#5475)zah2017-03-122-2/+2
| | | | | | | | | This commit returns to a bit less strict checking of the number of macro arguments, because some old immediate macros rely on a behavior where even the arity of the macro is not being checked. It may be better if such macros are just declared to use varargs[expr], but this remains for another day.
* Fix sigsegv in getTypeImpl for unnamed tuple (#5440)Fabian Keller2017-03-021-0/+4
| | | avoid sigsegv in getTypeImpl for unnamed tuple; fixes #4862
* template+emit supports volatileRead and volatileWrite opsAndreas Rumpf2017-01-231-3/+21
|
* fixes #5131Araq2016-12-201-0/+48
|
* make tvarargsuntyped test deterministic, independent of compiler's hashing orderAraq2016-12-131-1/+2
|
* Added a dump macro for debuggingAndrea Ferretti2016-09-221-0/+13
|
* added missing test filesAndreas Rumpf2016-08-261-0/+67
|
* stdlib and compiler don't use .immediate anymoreAndreas Rumpf2016-07-291-1/+1
|
* fixes a varargs of untyped regressionAndreas Rumpf2016-07-241-0/+79
|
* added test case for #537Andreas Rumpf2016-07-061-0/+42
|
* getTypeInst and getTypeImpl mostly working now and added testJames Osborn2016-05-041-0/+122
|
* fixes #1152Andreas Rumpf2016-04-031-0/+48
|
* use 'using' instead of 'sig' keyword; cleans up new features a bitAndreas Rumpf2016-02-291-1/+1
|
* fixes #3541Araq2015-11-182-18/+18
|