Commit Graph

6189 Commits

Author SHA1 Message Date
Ilya Goncharov cac286c915 [JS IR] Access with exported properties by its name, not accessor
[JS IR] Export properties to ts as getter/setter, not fields

[JS IR] Fix typescript tests



Merge-request: KT-MR-5074
2021-11-26 09:18:12 +00:00
Artem Kobzar 08b0e17d47 feat(polyfills): use stdlib for js polyfills. 2021-11-26 08:14:34 +00:00
Roman Artemev 979ddacd8c [JS IR] Add and generate IC invalidation tests 2021-11-25 11:22:52 +03:00
Roman Artemev 85025b85b8 [JS IR] Implement runner to test IC invalidation
- add corresponding gradle task
2021-11-25 11:22:51 +03:00
Roman Artemev 5b1ec561a9 [JS IR TESTS] Add ProjectModel parser to tests 2021-11-25 11:22:39 +03:00
Nikolay Krasko 4e806a6322 Bump junit-bom in our project 5.7.0 -> 5.8.1 and clean up old versions 2021-11-24 19:35:35 +03:00
Ilya Goncharov 1481ad21f5 Enum implementing exported interface
[JS IR] Not export get instance enum function

[JS IR] Enum corresponding class is not considered in export

[JS IR] All enums are abstract and with private constructor

[JS IR] Any methods is left in d.ts

[JS IR] Make enum with declarations inside corresponding class

[JS IR] Export of interface through fake override

[JS IR] Include enum entry corresponding class members into export model

Merge-request: KT-MR-5031

^KT-49779 fixed
^KT-49773 fixed
2021-11-24 12:25:50 +00:00
Mads Ager 8255118204 [JVM] Do not extend local ranges across control-flow merges.
The coroutine method transformer extends the range of locals
across code where the local is not live when it is safe to do
so. However, it only bailed out for one case of control-flow
merging, namely backwards branches for loops. That is not
sufficient as there can be control flow merges without loops
where the local is only defined on one control-flow path.

This change generalizes the bailout to any control-flow merge.

^KT-49834 Fixed
2021-11-23 13:49:45 +01:00
Ivan Kylchik 83d2d2cfcf [JS TESTS] Disable node js runner for IR 2021-11-22 21:06:42 +03:00
Ivan Kylchik 3aa88a6ebe [JS TESTS] Allow saving artifacts into build directory on teamcity
This is required to properly run node js tests.
2021-11-22 21:06:40 +03:00
Ilya Goncharov f48436b35e rra/ilgonmic/eager-like-native
[JS IR] Leave JsEagerInitialization until bootstrap update

[JS IR] Fix js stdlib api

[JS IR] Change annotation on eager initialization in sources

[JS IR] Make eager initialization consistent with native

Merge-request: KT-MR-5030
2021-11-22 12:45:37 +00:00
Ilya Goncharov a46c4cf0a5 [JS IR] Fix exportable super types for enum
^KT-49754 fixed
2021-11-22 12:40:27 +00:00
Victor Petukhov a6fd14d4e6 [FE 1.0] Eliminate resolution ambiguity on inherited SAM-interfaces
^KT-17765 Fixed
2021-11-22 14:18:30 +03:00
Victor Petukhov a5c6d370dd [FE 1.0] Eliminate resolution ambiguity with external type parameters
^KT-10926 Fixed
2021-11-22 14:18:29 +03:00
Dmitry Petrov e525e25518 JVM KT-47851 fix redundant checkcast elimination 2021-11-20 23:29:19 +03:00
Sergej Jaskiewicz 060074a9d6 [JS IR] Don't concatenate string template segments with '' when possible
If concatenating with an empty string is a sure no-op, just don't do it.
2021-11-19 11:16:33 +00:00
Roman Artemev 7d8f71d107 [JS IR] Add CLI flag and configuration key about partial linkage
- make possible to turn on/off linkage if klib contains unbound symbols
 - update jsExtraHelp test data
2021-11-19 01:16:32 +03:00
Anton Bannykh de0b3e5b20 [JS IR] temporary skip some IC checks 2021-11-19 00:39:40 +03:00
Anton Bannykh 75368a2c06 [JS IR] tie together IC code in tests and K2JsIrCompiler 2021-11-19 00:39:37 +03:00
Anton Bannykh bb601042df [JS IR] unmute most RECOMPILE IR tests 2021-11-19 00:38:58 +03:00
Anton Bannykh 58bd4ffd71 [JS IR] disable some AST checks for now 2021-11-19 00:38:55 +03:00
Anton Bannykh 1ae042edc3 [JS IR] make old Ir2Js pass all tests 2021-11-19 00:38:46 +03:00
Anton Bannykh d565cc4262 [JS IR] support new Ir2Js in tests and in K2JsTranslator 2021-11-19 00:38:42 +03:00
Anton Bannykh 0506d422a3 [JS IR] support per-module in the new Ir2JS 2021-11-19 00:38:27 +03:00
Anton Bannykh bdf31b8e52 [JS IR] unmute enumUsage IC test 2021-11-19 00:38:21 +03:00
Anton Bannykh 03b9caa439 [JS IR] export external declarations 2021-11-19 00:38:15 +03:00
Artem Kobzar d5dd35cb20 feat(@JsExport for interfaces): add ability to export interfaces in TypeScript. 2021-11-18 10:07:38 +00:00
Svyatoslav Kuzmich f833fc4bcb [Wasm] Default parameter values for external functions
+ import top-level external functions wrapped in lambdas
2021-11-17 19:28:14 +00:00
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Artem Kobzar af924fd3d1 feat: add implicit export support for Kotlin/JS 2021-11-16 16:59:18 +00:00
Igor Yakovlev 71bf36b613 [JS] Fix test testdata for InlineMultiFile.testTrait test 2021-11-15 19:53:50 +03:00
Igor Yakovlev a7f0f62f69 [WASM] Generate missing WASM tests and mute failing ones 2021-11-15 19:53:49 +03:00
Igor Yakovlev ee7f4c7278 [WASM] Implementation typeOf support 2021-11-15 19:53:48 +03:00
Steven Schäfer a6dae0b37b JVM IR: Fix value class mangling in SAM wrappers from different modules
KT-49659
2021-11-14 21:52:39 +01:00
Ivan Kylchik 41547174a7 [JS TESTS] Enable directive processing for js ir 2021-11-12 21:24:32 +03:00
Ivan Kylchik 8d1459d8c2 [JS TESTS] Move js ir tests to separate folder to fix jsIrTest task 2021-11-12 21:24:32 +03:00
Ivan Kylchik 103d948dc8 [JS TESTS] Remove common handlers from abstract test classes 2021-11-12 21:24:31 +03:00
Ivan Kylchik a3239288a7 [JS TESTS] Rename testNew to test 2021-11-12 21:24:31 +03:00
Ivan Kylchik ab1d0d0b74 [JS TESTS] Rename test to testOld 2021-11-12 21:24:31 +03:00
Ivan Kylchik 8c2e9fdc89 [JS TESTS] Drop old basic tests 2021-11-12 21:24:30 +03:00
Ivan Kylchik 33c799b6d9 [JS TESTS] Drop pir tests 2021-11-12 21:24:30 +03:00
Ivan Kylchik 4d5ba7e956 [JS TESTS] Drop ES6 tests 2021-11-12 21:24:29 +03:00
Svyatoslav Kuzmich 49d63abc88 [Wasm] Add JS box/native tests 2021-11-12 18:44:47 +03:00
Ilya Goncharov c30292a472 [Gradle, JS] Close zip file after reading 2021-11-11 10:25:53 +00:00
Ilya Goncharov 4efde83772 [Gradle, JS] New rules for zipped klib in zip 2021-11-11 10:25:53 +00:00
Ilya Goncharov 3ef5e36425 [Gradle, JS] Use formal check of klibs in gradle plugin 2021-11-11 10:25:53 +00:00
Alexander Udalov 27cfcb9b3d IR: fix thisReceiver parameter type for function classes
Incorrect builder was used at line 269, which led to non-sensible type
in `IrClass.thisReceiver` for function types, such as
`SuspendFunction1<SuspendFunction1, SuspendFunction1>` in the linked
issue.

Avoid creating types manually completely to simplify this code and fix
the bug.

 #KT-49168 Fixed
2021-11-10 21:58:41 +01:00
Dmitry Petrov 76bdf4ff1a JVM KT-49548 extra test 2021-11-10 19:37:25 +03:00
Dmitry Petrov 9a4cff0dc7 JVM KT-49548 progression iterators can be tainted 2021-11-10 19:37:24 +03:00
Svyatoslav Kuzmich a5aee29baa [Wasm] Fix createDirectoryToRunInBrowser
Helper function to import stringFromWasm no longer needed.
2021-11-09 19:54:26 +00:00