Commit Graph

27 Commits

Author SHA1 Message Date
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