Svyatoslav Kuzmich
9bc6b420a9
[Wasm][Stdlib] Add public APIs for linear memory access
...
Needed for interop with APIs that use linear memory.
2022-12-29 19:25:23 +00:00
Artem Kobzar
cd0ae20c38
[K/JS] Capture stackTrace before the init function call ^Fixed KT-55315
2022-12-20 18:15:02 +00:00
Steven Schäfer
6af616d3c3
FIR: make declarations marked with 'override' implicitly open
...
#KT-52236 Fixed
2022-12-14 21:46:41 +00:00
Dmitriy Novozhilov
3cffb33ab7
[FE] Drop ApproximateIntegerLiteralTypesInReceiverPosition language feature
...
This feature is not needed because it is unconditionally disabled for K1
(because of not fully correct implementation) and unconditionally enabled
in K2 (K2 does not support old behavior)
^KT-38895
2022-12-09 15:10:02 +00:00
Artem Kobzar
67048151fb
[K/JS] Change js-call inlining strategy and + ability to referencethis safely from the js call ^Fixed KT-54134
2022-11-30 11:43:22 +00:00
Artem Kobzar
ad78f27cce
[K/JS] Fix problem with dynamic return type inside coroutine
2022-11-23 21:33:56 +00:00
Artem Kobzar
725a224f74
[K/JS] Make available transitive reexport for ES modules
2022-11-18 16:54:10 +00:00
Ilya Chernikov
c3197491a0
FIR JS: temporarily mute failing box tests
2022-11-12 16:28:25 +01:00
Ilya Chernikov
78ca733c38
FIR JS: add K2 variants of all other JS tests
...
except tests that are not possible to add without some modifications in
the test infra. See todos on the commented-out test declarations
2022-11-12 16:28:24 +01:00
Ilya Chernikov
44cce3ad52
FIR JS: mute remaining tests for now
2022-11-12 16:28:23 +01:00
Ilya Chernikov
5b3816cce5
Test infra: refactor IGNORE_BACKEND directive
...
treat it as a general one, introduce *_K1 and *_K2 variants for
more specific ignoring
2022-11-12 16:28:23 +01:00
Ilya Chernikov
e1d19516e8
[minor] fix import statement position in testdata
...
the import statement is (should be) ignored before FILE directive
2022-11-12 14:34:07 +01:00
Ilya Chernikov
fa0cda6236
FIR JS: enable full JS box tests with FIR
2022-11-12 14:34:07 +01:00
Ilya Chernikov
8bf108dc17
FIR JS: Prepare JS/KLib infrastructure for FIR integration
...
rearrange declarations, abstract things that should be done differently
with FIR, etc.
2022-11-12 14:34:07 +01:00
Zalim Bashorov
31f3fbcd78
[JS, Wasm] Improve readability of the message printed for failed tests for kotlin.test
2022-11-11 16:22:10 +01:00
Artem Kobzar
ea6b784e41
[K/JS] Exclude Enum.entries property from export to JS
2022-10-21 10:31:06 +00:00
Artem Kobzar
de880ce9aa
[K/JS] Move ES modules logic to a new transformer with IC
2022-10-13 07:32:44 +00:00
Anton Bannykh
9342356c38
JS IR: fix type checks for suspend function descendants (^KT-54382 fixed)
...
Consider `class A : suspend () -> Unit {}`. Type checks such as `is A`
are now performed via a regular `instanceof` check instead of the special
checks for suspend lambdas.
2022-10-12 17:38:23 +00:00
Zalim Bashorov
2c889f56fa
[K/JS] Add missed JsExport in the test, and uncomment part of it which passes with v8
...
#KT-41294 Fixed
2022-10-07 19:37:56 +02:00
Artem Kobzar
eb2326eabb
[K/JS] Add ability to exclude declarations from export by a new annotation @JsExport.Ignore.
2022-10-03 11:07:25 +00:00
Ilya Goncharov
7d8636aac4
[JS] Keep interfaces
...
^KT-54173 fixed
2022-09-29 16:12:19 +00:00
Artem Kobzar
39a44d4ccb
[K/JS] Add lateinit as exception for simple properties ^KT-53968 Fixed
2022-09-22 13:50:51 +00:00
Ilya Goncharov
d203dc35bf
[JS IR] Add to IR keep possibility similar to legacy-dce one
...
It helps to:
- keep declarations even if they are not reachable and not exported
- not minify names of not exported declarations
Compiler argument: -Xir-keep=A,B
Can be used for top-level declarations or for member
^KT-54118 fixed
2022-09-20 16:06:17 +00:00
Artem Kobzar
73e7053c35
[K/JS] Use only single variant of default arguments function wrapper for exported and not-exported functions
2022-09-19 17:49:04 +00:00
Artem Kobzar
a368fc37c7
[K/JS] Make interface subtyping faster and lighter.
2022-09-19 10:26:11 +00:00
Artem Kobzar
da367a467d
[K/JS] chore: stop unnecessary defineProperties generating.
2022-09-09 11:14:26 +00:00
Sergej Jaskiewicz
f07163125b
[JS Legacy] For Unit Elvis don't forget to generate code for the RHS
...
^KT-53780 Fixed
2022-09-02 11:44:17 +00:00
Artem Kobzar
dbda8dcad1
[K/JS] test: add @file:JsExport tests for each @JsExport test + auto-generate TypeScript export tests.
2022-08-26 09:51:59 +00:00
Sergej Jaskiewicz
a152bc2313
[JS IR] Don't parse/print JS code in js() call twice
...
#KT-51327 Fixed
2022-08-22 23:15:52 +00:00
Artem Kobzar
8e17c39cc9
[K/JS] fix(KT-53569): skip double traversing for nested annotation classes.
2022-08-18 16:39:48 +00:00
Artem Kobzar
ab6964d32e
[K/JS] test(Inner Classes): check exported and not-exported inner classes inside kotlin.
2022-08-17 14:58:31 +00:00
Alexander Korepanov
bb8da65188
[Common IR] Do inlining of callable references of inline functions
...
^KT-52805 Fixed
2022-08-08 17:40:45 +00:00
Artem Kobzar
0cef573a7b
[K/JS] test(@JsExport): add few more tests on export after ExportModel discussion meeting.
2022-08-01 12:17:35 +00:00
Artem Kobzar
b9189be728
[K/JS] fix(KT-46643): prevent removal of setter for overridden external field.
2022-07-29 12:41:17 +00:00
Alexander Korepanov
caa1570e25
[JS IR] Fix clashes between bridge and delegated function call
...
The patch fixes the js function signature rules to avoid clashes
between bridge and delegated call. Use overridden symbols dfs of
JsName annotation in order to get the correct bridge name.
^KT-52968 Fixed
2022-07-28 14:41:47 +00:00
Alexander Korepanov
0982872959
[JS IR] Fix clash between generic extension overloads
...
Type parameter constraints are used for calculating JS signature hash.
^KT-51151 Fixed
2022-07-22 16:14:51 +00:00
Victor Petukhov
42e71f8c53
Remove explicit enabling the new type inference from test data
2022-07-22 16:03:52 +00:00
Svyatoslav Kuzmich
11c8c01a50
[Wasm] Update v8 shell to v10.5.207
2022-07-19 18:46:52 +02:00
Sergej Jaskiewicz
da7ff5b868
[JS IR] Fix replacing super.toString() call with a runtime function call
...
#KT-52553 Fixed
2022-06-16 10:03:14 +00:00
Artem Kobzar
e790607af5
feat(KT-51123): save comments from js-function call inside arguments list.
2022-06-13 12:58:18 +00:00
Nikolay Lunyak
994e2970c7
[FIR JS] Suppress EQUALITY_NOT_APPLICABLE
2022-06-02 13:47:30 +00:00
Nikolay Lunyak
0e549e3329
[FIR JS] Suppress INVISIBLE_REFERENCE
2022-06-02 13:47:27 +00:00
Nikolay Lunyak
5e97a36680
[FIR JS] Ignore tests with unsupported features
2022-06-02 13:47:26 +00:00
Nikolay Lunyak
bdc3b5fe6f
[FIR JS] Mute 170 failing multi-module tests
2022-06-02 13:47:24 +00:00
Sergej Jaskiewicz
58e2652ba6
[JS IR] Test in-line anonymous functions with extension functions
2022-06-01 09:02:32 +00:00
Sergej Jaskiewicz
e03747ea7d
[JS IR] Introduce the GENERATE_INLINE_ANONYMOUS_FUNCTIONS feature flag
2022-06-01 09:02:31 +00:00
Sergej Jaskiewicz
c10af22b27
[JS IR] Lower lambdas into in-line anonymous functions when possible
...
Previously we always generated factories for contextful lambdas:
```kt
fun foo(a: Int) = { a }
```
```js
function foo(a_38) {
return foo$lambda(a_38);
}
// factory!
function foo$lambda($a) {
return function () {
return $a;
};
}
```
After this patch, the generated code for `foo` is more concise:
```js
function foo(a) {
return function() { return a; };
}
```
2022-06-01 09:02:30 +00:00
Artem Kobzar
8bc5508f5c
fix(KT-52339): add newlines to SourceMap to calculate multiline comments in a right way.
2022-05-20 13:35:54 +00:00
Svyatoslav Kuzmich
d1c81eb6ba
[Wasm] Support Wasm GC milestone 5
2022-05-20 12:22:43 +03:00
Ilya Goncharov
0c24d0ec9f
[JS IR]Add case with file-exported class inherited from non-exported int
...
KT-52252
Merge-request: KT-MR-6270
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com >
2022-05-13 10:41:16 +00:00