Andreas Rumpf
0d11e09729
fixes #6753
2017-11-18 15:19:06 +01:00
skilchen
e4b0818629
fixes #6532 array bounds check for non zero based arrays on the js backend ( #6550 )
2017-11-06 09:14:28 +01:00
Andreas Rumpf
70ea45cdba
deprecated unary '<'
2017-10-29 08:37:13 +01:00
Andreas Rumpf
f7f3a25be8
first steps of making 'opt' a first class type for Nim
2017-09-25 13:19:36 +02:00
Andreas Rumpf
e879da5791
some work to make 'opt' a first class type
2017-09-24 11:21:52 +02:00
Andreas Rumpf
1a61c4d46d
first implementation of the 'func' keyword
2017-09-23 23:22:53 +02:00
Araq
f127a7f7aa
fixes #6096
2017-07-17 16:43:10 +02:00
Andreas Rumpf
5932ad9ae8
fixes a JS codegen regression
2017-07-10 16:40:23 +02:00
Andreas Rumpf
674db58a24
fixes #5608
2017-07-09 12:03:50 +02:00
Araq
4de989d1c5
fixes #6035
2017-06-30 12:01:51 +02:00
Andreas Rumpf
d9d61fbeb4
fixes #5517
2017-06-30 00:43:19 +02:00
Andreas Rumpf
ac63a99892
fixes #5974
2017-06-29 20:25:42 +02:00
Andreas Rumpf
6f29041f09
fixes #5563
2017-06-29 18:48:24 +02:00
Andreas Rumpf
5d6c2f89de
fixes #4703
2017-06-29 18:37:53 +02:00
Andreas Rumpf
326e8fdc2f
JS gen: fixes regression
2017-06-26 08:49:52 +02:00
Andreas Rumpf
42c9bb3ace
fixes #5933
2017-06-03 21:08:32 +02:00
Andreas Rumpf
d1f5e3b110
fixes #4139
2017-06-03 14:30:16 +02:00
zah
39aef12446
review and merge zahary's work ( #5849 )
...
* proper indentation for the generated JS code
* improved dead-code elimination for JavaScript
* test the JS dead-code elimination
A new test spec has been added - "maxcodesize". It specifies the
maximum size of the generated code in bytes.
2017-06-03 12:45:10 +02:00
Yuriy Glukhov
6e0e3b75cf
Fixed const sets in JS ( #5790 )
2017-05-10 09:29:30 +02:00
Andreas Rumpf
56a5c249c9
JS codegen: produce better code for constant sets
2017-05-01 09:30:56 +02:00
Andreas Rumpf
3d34a9f6d3
js codegen: emit more line information
2017-04-26 12:50:36 +02:00
Silvio
2946c7a4b9
Implementing repr for JS ( #5578 )
2017-03-31 22:00:48 +02:00
Andreas Rumpf
529609f7ed
Merge remote-tracking branch 'origin/concepts-rebased' into araq
2017-03-31 16:40:21 +02:00
Andreas Rumpf
720eca5744
added a codegen note
2017-03-29 10:58:01 +02:00
Zahary Karadjov
8cd5f1f8f5
introduce tyInferred for the unbound concept type params
...
* Why is tyInferred needed?
The bindings in TCandidate are capable of inferring types within a single
call expression. In concepts, we need to infer types in the same way, but
across the whole body of the concept.
Previously, once a concept type param was inferred, it was destructively
mutated using t.assignType, but this proved to be problematic in the presence
of overloads, because the bindings established while a non-matching overload
is tested must be reverted/forgotten. tyInferred offers a non-destructive way to
keep track of the inference progress.
While introducing new types usually requires a lot of code paths in the compiler
to updated, currently tyInferred is only a short-lived type within the concept body
pass and it's unlikely to introduce breakage elsewhere in the compiler.
2017-03-24 16:58:15 +02:00
Silvio
51cd3bd86f
Fixes #5062 ( #5527 ); JS: holes in enums
2017-03-15 10:33:37 +01:00
Andreas Rumpf
46f33515d7
Merge branch 'devel' into faster-nimsuggest
2017-02-24 01:28:50 +01:00
Arne Döring
92c2a51bf7
removed compiler internal list implementation ( #5371 )
2017-02-22 17:33:12 +01:00
Andreas Rumpf
46efaf294b
big compiler refactoring; avoid globals for multi method dispatcher generation
2017-02-22 16:27:52 +01:00
Michael Jendrusch
d75760f5d3
made nodecl implicit for vars in the js backend. ( #5297 )
2017-01-29 17:34:08 +01:00
shsnow23
c7e54eba91
fix genderef of jsgen ( #5274 )
2017-01-24 16:59:34 +01:00
Yuriy Glukhov
0ead17bf0e
Fixes #5271 ( #5273 )
2017-01-24 06:19:28 +01:00
Yuriy Glukhov
268c899b98
Fixup #5240 ( #5270 )
2017-01-23 20:09:43 +01:00
Michael Jendrusch
953b8cbcc2
fixes #5234 ( #5240 )
2017-01-20 05:16:42 +01:00
Yuriy Glukhov
05dec08cea
Fixes #5244 ( #5245 )
2017-01-18 20:13:08 +01:00
Michael Jendrusch
454547da8e
Removed mangling of object fields for the js target only. ( #5226 )
...
* removed mangling of object fields for the js target only.
* changed default mangling behaviour for the php target as well.
* Added test for unorthodox field names (reserved words and operators). Adjusted field accessors and object constructors / new to be ECMAScript first edition compatible, when using fieldnames which are reserved words.
2017-01-17 16:43:06 +01:00
Araq
9c47bb9cc0
happy new year
2017-01-07 22:35:09 +01:00
Araq
e6c5622aa7
removed tyArrayConstr completely from the compiler; introduced tyAlias instead in preparation for further bugfixes
2016-11-14 23:18:30 +01:00
Araq
9e6fb3f696
new dependency tracking for nimsuggest
2016-11-05 01:19:23 +01:00
Araq
29db0d8585
refactoring complete: explicit ident cache
2016-10-31 19:47:20 +01:00
Jacek Sieka
f5c3eb6a25
clean up tyMutable remnants
2016-10-24 23:30:10 +08:00
Jacek Sieka
b3de34548d
clean up tyConst remnants
2016-10-24 23:19:46 +08:00
Jacek Sieka
f488ed973d
clean up tyBigNum remnants
2016-10-24 23:11:38 +08:00
Jacek Sieka
6f7b891bdc
remove remnants of tyIter
2016-10-24 21:10:48 +08:00
Yuriy Glukhov
82b022ebc6
JS: Fixed ICE on ptr assignment
2016-09-20 17:01:53 +03:00
Andreas Rumpf
3a13706d7d
fixes #4673
2016-09-01 13:02:53 +02:00
Yuriy Glukhov
e39138fe42
Fixed codegen for asmNoStackFrame pragma. More bulletproof frame restoration.
2016-08-27 19:37:49 +03:00
Yuriy Glukhov
62785be5a5
Restore framePtr after exceptions
2016-08-27 18:09:24 +03:00
Yuriy Glukhov
8bff930c7c
Fixed js codegen issue for uncaught exceptions.
2016-08-27 16:52:08 +03:00
Andreas Rumpf
84a09d2f5b
minor things
2016-08-24 11:48:40 +02:00