Alexey Andreev
d2ff821a3b
JS: prove that lambdas in inline function compiled correctly
...
Obsoletes KT-19712
2017-09-08 10:57:42 +03:00
Alexey Andreev
5bf4540458
JS: fix inlining of functions derived from other modules
...
See KT-16408
2017-09-06 17:55:31 +03:00
Alexey Andreev
593aa72439
Fix bug in new JS inliner when inlining nested calls
2017-09-04 15:33:15 +03:00
Alexey Andreev
918ce78c5a
Support inlining internal functions to friend modules in JS BE
...
There's one exception: if an inline internal function calls
private function, this will fail at run time.
2017-09-04 15:33:13 +03:00
Alexey Andreev
7646c2fc72
Use local aliases for Kotlin runtime functions in JS BE
2017-09-04 15:33:11 +03:00
Alexey Andreev
8c256b24dc
Avoid duplication of imports introduced during JS inlining
2017-09-04 15:33:10 +03:00
Alexey Andreev
b90885d1cb
Support new inline function format in JS DCE tool
2017-09-04 15:33:09 +03:00
Alexey Andreev
901346243d
JS: fix inlining of function that calls functions from other modules
2017-09-04 15:33:08 +03:00
Alexey Andreev
eb6186b74d
Fix translation of classes to work with new JS inliner
2017-09-04 15:33:05 +03:00
Alexey Andreev
7c421b0b83
Refactor JS translator to generate code for new inliner
2017-09-04 15:33:03 +03:00
Anton Bannykh
e43a145614
fixup: updated EXPECTED_REACHABLE_NODES
2017-07-19 12:24:09 +03:00
Alexey Andreev
7634673213
Fix module re-importing when inlining functions in JS BE
...
When inliner reads function's body from other module, it performs
substitution _ -> moduleAlias. However, local alias can't be used
for this purpose, since call site can be in public inline function
itself, so the correct substitution would be -> _.$$imports$$.alias
2017-07-11 19:27:08 +03:00
Alexey Andreev
e2c2fcf1ff
Generate EXPECTED_REACHABLE_NODES directive on JS box tests
2017-05-26 18:20:20 +03:00
Alexey Andreev
ca7062d776
Fix JS parser to properly handle "." <keyword> sequence
2017-05-26 18:20:16 +03:00
Anton Bannykh
c7d4a4edf4
JS: test property inline through fake override
2017-02-09 15:46:06 +03:00
Anton Bannykh
a74fffeac8
JS: companion object dispatch receiver translation fixed (KT-16160); imported function inlining fixed.
2017-02-08 09:21:18 +03:00
Anton Bannykh
a2431f0d85
JS: fixed inlining functions called through inheritor ("fake" override) from another module (#KT-16144)
2017-02-08 09:19:50 +03:00
Alexey Andreev
dcb8b7b92c
JS: fix inlining of callable references
2017-01-24 20:09:30 +03:00
Alexey Andreev
2907eafa18
JS: make functions called call to inline properly. See KT-7004
2017-01-12 18:12:39 +03:00
Alexey Andreev
c285e5ba3b
JS: add tests too prove that operator conventions are correctly inlined. Support inlining of invoke operator. See KT-7588
2016-12-20 15:47:39 +03:00
Alexey Andreev
c411a8febe
JS: update tests
2016-12-20 15:47:37 +03:00
Dmitry Petrov
4c47d77a9f
Report error on non-top-level type aliases (unsupported in 1.1).
...
Get rid of nested type aliases in project.
2016-11-21 10:25:51 +03:00
Anton Bannykh
0dc9121a91
JS property accessors inlining (KT-13456)
2016-11-17 15:25:29 +03:00
Alexey Andreev
20396b0e5f
JS: fix inlining in a new flat JS generator
2016-11-11 16:26:32 +03:00
Alexey Andreev
5ce158f297
KT-2752: add basic tests for JsName
2016-10-08 19:25:28 +03:00
Alexey Andreev
9bf124af3f
JS: move more test to box tests
2016-09-29 12:00:42 +03:00
Alexey Andreev
efb82a044f
JS: move inline test to box tests
2016-09-29 12:00:40 +03:00