summary refs log tree commit diff stats
path: root/compiler/semdata.nim
Commit message (Collapse)AuthorAgeFilesLines
* fixes #10930Andreas Rumpf2019-03-301-0/+1
|
* more destructor based changes (#10885)Andreas Rumpf2019-03-231-0/+2
| | | | | | | | | | | * mark user defined destructors with sfOverriden to simplify the logic * refactoring in preparation to merge liftings and generic instantiations for destructors * ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on * renamed 'patterns' switch to 'trmacros' as it was totally misleading before * destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking * test for invalid/too late destructor introductions * liftdestructors: make code robust for nimsuggest * --newruntime works for hello world again * newruntime: code generation for closures
* destructors: first step towards fixing #9617 (#10341)cooldome2019-01-181-0/+7
|
* compiler refactoring: TSymSeq is gone for goodAraq2018-12-111-3/+3
|
* Fix overload resolution for pragmas evaluation (#8902)LemonBoy2018-10-091-1/+4
| | | | Fixes #6448 Fixes #4384
* change runnableExamples implementation; fixes #8641; fixes #7135; ↵Andreas Rumpf2018-09-021-1/+0
| | | | runnableExamples works for templates and generics
* allow .experimental in a .push/pop environment; refs #8676Araq2018-08-271-0/+1
|
* WIP: disallow 'nil' for strings and seqsAndreas Rumpf2018-08-131-2/+5
|
* Implement the `is` operator for the new static and typedesc type classesZahary Karadjov2018-06-161-1/+2
| | | | | | | | | This also makes the first baby steps towards a sound treatment of higher-order kinds (type type int). Adds test cases showcasing the new features. * Also fixes breakage after the rebase
* baby steps for incremental compilationAndreas Rumpf2018-05-301-1/+1
|
* refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-2/+2
| | | | around explicitly
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
|
* make semantic checking free of globalsAndreas Rumpf2018-05-181-0/+2
|
* preparations of making compiler/msgs.nim free of global variablesAndreas Rumpf2018-05-171-1/+1
|
* fixes testament compilationAraq2018-05-141-0/+1
|\
| * A motivating example for the new `bindSym` behavior.Zahary Karadjov2018-05-071-0/+1
| | | | | | | | | | | | | | | | 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)
* | options.nim: no global variables anymoreAndreas Rumpf2018-05-131-2/+3
| |
* | lookups compiles againAndreas Rumpf2018-05-101-23/+25
|/
* semcheck: code cleanupsAndreas Rumpf2018-04-281-1/+1
|
* .experimental can now be used to enable specific featuresAndreas Rumpf2018-04-241-4/+2
|
* refactoring: make FileIndex a distinct type; make line information an ↵Andreas Rumpf2018-04-211-1/+1
| | | | uint16; fixes #7654
* preparations for language extensions: 'sink' and 'lent' typesAndreas Rumpf2018-01-071-5/+5
|
* the documentation generator now supports system.runnableExamplesAraq2017-11-261-0/+1
|
* Remove more usages of unary lt (fixes #6634) (#6641)Fabian Keller2017-10-311-1/+1
| | | | | | * fixes #6634 * remove more usages of unary <
* remove old implementation of the roof operator; make tests green again; ↵Andreas Rumpf2017-10-291-1/+0
| | | | close #6292
* destructors: supportsCopyMem finally works for recursive typesAraq2017-10-261-0/+6
|
* destructors: preparations for upcoming changesAraq2017-10-171-0/+1
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-1/+1
|
* .pure enums are much more convenient to use nowAndreas Rumpf2017-09-171-1/+3
|
* introduce a pre-processing pass for the concept bodiesZahary Karadjov2017-06-201-2/+7
| | | | | | | fixes #4982 fixes #3805 close #3414
* Allow tyOr,tyAnd and tyNot to be constructed in more contextsZahary Karadjov2017-04-281-0/+4
|
* move the object construction logic to a separate fileZahary Karadjov2017-04-061-1/+1
|
* cleaned up the code and implemented proper error messagesZahary Karadjov2017-04-061-2/+13
|
* fix #4556Zahary Karadjov2017-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | This implements a number of new safety checks and error messages when object constructors are used: In case objects: * the compiler will prevent you from initializing fields in conflicting branches * When a field from a particular branch is initialized, the compiler will demand that the discriminator field is also supplied with a maching compile-time value In all objects: * When the "requiresInit" pragma is applied to a type, all fields of the type must be initialized when object construction is used. The code will be simplified in a follow up commit.
* proper error reporting for concepts and the introduction of the {.explain.} ↵Zahary Karadjov2017-03-241-4/+5
| | | | pragma
* infer static parameters even when more complicated arithmetic is involvedZahary Karadjov2017-03-241-12/+3
|
* support for inferring static[T] concept paramsZahary Karadjov2017-03-241-4/+12
|
* support the full range of type modifiers when declaring concept vars and ↵Zahary Karadjov2017-03-241-2/+16
| | | | testing proc signatures
* nimsuggest: track type contextsAraq2017-03-011-0/+1
|
* nimsuggest supports prefix matching (first version)Araq2017-02-281-0/+1
|
* Merge branch 'devel' into faster-nimsuggestAndreas Rumpf2017-02-241-10/+8
|\
| * removed compiler internal list implementation (#5371)Arne Döring2017-02-221-10/+9
| |
* | big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-13/+11
|/
* fixes #5405Araq2017-02-161-0/+20
|
* fixes #5383Araq2017-02-161-0/+10
|
* happy new yearAraq2017-01-071-1/+1
|
* new shift ops for Nim; based on #4743Andreas Rumpf2016-12-291-1/+10
|
* recursive modules are only detected to improve error messagesAndreas Rumpf2016-11-241-0/+1
|
* new dependency tracking for nimsuggestAraq2016-11-051-3/+6
|
* big refactoring: step 1Araq2016-10-311-30/+16
|