Artem Kobzar
bff433f4e9
[K/JS] Support eager initialization for per-file granularity
2023-09-06 09:27:28 +00:00
Artem Kobzar
9d00dfd76e
[K/JS] Unmute custom binaries tests for JS because of fixed KT-54905
2023-08-29 09:17:17 +00:00
Artem Kobzar
05ed134fbb
[K/Wasm] Introduce stepping tests for Wasm
2023-08-15 17:03:11 +00:00
Artem Kobzar
4dc0d68288
[K/JS] Fix autoboxing for inlined function ^KT-60785 Fixed
2023-08-11 09:19:51 +00:00
Artem Kobzar
a29fa428b3
[K/JS] Add warning for ES-modules on the klibgen stage on the uniqueness of the exported names from the module
2023-08-08 15:45:02 +00:00
Artem Kobzar
2c4569568b
[K/JS] Fix importing behavior for external interfaces in case of implementing them
2023-08-03 13:10:03 +00:00
Artem Kobzar
cd840997b1
[K/Wasm] Rework Wasm enumEntriesIntrinsic declaration to fix stdlib compilation
2023-08-01 11:53:14 +00:00
Artem Kobzar
12715c062d
[K/JS] Reexport exported declarations in a proxy module file with per-file compilation
2023-08-01 09:42:33 +00:00
Artem Kobzar
08bd0d6ce1
[K/JS] Generate tests for K2 + ES-classes compilation
2023-08-01 09:16:20 +00:00
Artem Kobzar
85ee2d71d2
[K/JS] Remove FILE target from JsName annotation and use the new experimental JsFileName annotation instead
2023-07-27 09:44:28 +00:00
Artem Kobzar
029c71ebb1
[K/JS, K/Wasm] Implement enumEntries top-level function ^KT-59712 Fixed
2023-07-27 09:43:01 +00:00
Artem Kobzar
53aa8eddfe
[K/JS] Generate unstable names on Frontend-checks for declarations with the JsExport.Ignore annotation ^KT-60202 Fixed
2023-07-24 09:52:58 +00:00
Artem Kobzar
044c0adae7
[K/JS] Implement an incremental compilation for the per-file granularity
2023-07-19 15:57:56 +00:00
Artem Kobzar
e4bdd3560c
[K/JS] Change order of exported properties definition for non ES-classes compilation ^KT-60131 Fixed
2023-07-19 14:33:19 +00:00
Artem Kobzar
b1884456b8
[K/JS] Fix initialization issue for objects which annotated with @JsExport and contain nested classes
...
Merge-request: KT-MR-11146
Merged-by: Artem Kobzar <Artem.Kobzar@jetbrains.com >
2023-07-19 10:41:25 +00:00
Artem Kobzar
69c8942462
[K/JS] Remove trivial JS constructors from JS AST
2023-07-19 10:41:04 +00:00
Artem Kobzar
41f27d19b5
[K/JS, K/Wasm] Generate star imports for external objects with the @JsModule annotation for ES modules
2023-07-18 15:36:19 +00:00
Artem Kobzar
df0e4e0b53
[K/JS] Remove declarations with @JsExport.Ignore from klib explicit roots
2023-07-17 15:11:47 +00:00
Artem Kobzar
fdda394a77
[K/JS] Calculate generated function names based on signatures of argument types (instead of fqNames) ^KT-49077 Fixed
2023-07-11 13:14:45 +00:00
Artem Kobzar
7c7aa98875
[K/JS] Throw error when a module contains file with the same name and package (ignoring case)
2023-07-07 13:50:04 +00:00
Artem Kobzar
cf949e8760
[K/JS] Support KClass<*>.createInstance reflection method ^KT-58684 Fixed
2023-07-06 18:18:14 +00:00
Artem Kobzar
9ad5910de9
[K/JS] Remove isObject check from runtime ^KT-57926 Fixed
2023-07-03 13:19:43 +00:00
Artem Kobzar
966a342bf1
[K/JS] Migrate invalidation tests to ES modules
2023-06-30 16:13:35 +00:00
Artem Kobzar
89507c1b82
[K/JS] Remove dead branches for jsIsType
2023-06-26 14:00:09 +00:00
Artem Kobzar
64158a8a2f
[K/JS] Add file-to-file compilation ^KT-6168 Fixed
2023-06-22 18:23:45 +00:00
Artem Kobzar
c53b49d7fa
[K/Wasm] Remove custom equals because this kind of equality is lowered in duration of the compilation ^KT-58126 Fixed
2023-06-20 17:36:01 +00:00
Artem Kobzar
039b5fca7a
[K/JS] Use declared upper-bound types for parameters inside inlined functions body, instead of the provided types
2023-06-20 12:01:28 +00:00
Artem Kobzar
66bdb9ce79
[K/JS] Fix private constructor delegating inside single class with ES6 mode ^KT-59335 Fixed
2023-06-20 11:07:08 +00:00
Artem Kobzar
d2b64cd481
[K/JS] Generate .js files from .ts if they were not created, because of the incremental flag in tsconfig
...
The incremental option will prevent creating file if there is an incremental cache from TS compiler even if the file doesn't exist.
The situation could happen if `./gradlew clean` was executed (js file will be removed and ts incremental cache - not)
Merge-request: KT-MR-10229
Merged-by: Artem Kobzar <Artem.Kobzar@jetbrains.com >
2023-06-14 09:26:18 +00:00
Artem Kobzar
bfd57fd2df
[K/JS, K/Wasm] Optimize simple objects declaration and usage ^Fixed KT-58797
2023-06-02 14:23:40 +00:00
Artem Kobzar
669efc781d
[K/JS] Import @JsModule declarations without asterisk
2023-05-11 12:39:57 +00:00
Artem Kobzar
302623c388
[K/JS] Skip static members in fake overrides generating ^KT-58396 Fixed
2023-05-11 12:32:21 +00:00
Artem Kobzar
c7853c61b6
[K/JS] Make TS tests generating faster
2023-05-10 13:27:46 +00:00
Artem Kobzar
27b103e2ca
[K/JS] Eliminate duplication of init block inside exported ES-classes ^KT-58246 Fixed
2023-04-25 16:21:08 +00:00
Artem Kobzar
4327c6645a
[K/JS] Save order for modulesWithReachableTopLevels and deserializersForModules to make partial linkage work again
2023-04-25 12:20:14 +00:00
Artem Kobzar
9bcfd093c5
[K/JS] Remove super keyword insertion if the body of method was moved into another place (private methods, lambdas, coroutines) ^KT-57990 Fixed
2023-04-24 13:54:36 +00:00
Artem Kobzar
c5b60a16bb
[K/JS TESTS] Remove .ts files genereting from generateTests command to enable Gradle execution optimizations
...
Warning Context:
> Task :js:js.tests:generate-ts-for-regular-classes-in-exported-file
Execution optimizations have been disabled for task ':js:js.tests:generate-ts-for-regular-classes-in-exported-file' to ensure correctness due to the following reasons:
- Gradle detected a problem with the following location: './js/js.translator/testData/typescript-export/regular-classes-in-exported-file'. Reason: Task ':js:js.tests:generate-ts-for-regular-classes-in-exported-file' uses this output of task ':js:js.tests:generate-js-export-on-file-for-regular-classes' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.6.1/userguide/validation_problems.html#implicit_dependency for more details about this problem.
> generateTypeScriptTests
> tsc --build ./typescript-export/regular-classes-in-exported-file/tsconfig.json
2023-04-20 16:13:40 +00:00
Artem Kobzar
33c5068b79
[K/JS] Rework IR deserialization and lowering phases to consume less memory
2023-04-19 13:10:19 +00:00
Artem Kobzar
20dea37be0
[K/JS TEST] Run TestGenerated check on generated TS tests
2023-04-14 14:45:11 +00:00
Artem Kobzar
73f8c984a1
[K/JS TEST] Fix the problem with running JS tests on Windows if the test has a long name
2023-04-14 10:46:52 +00:00
Artem Kobzar
5dc6da2b33
[K/JS] Add serialization/deserialization for JsImport/JsExport nodes
2023-04-13 12:58:46 +00:00
Artem Kobzar
c695da1bed
[K/JS] Allow declare inline functions inside external declarations with a million suppresses ^KT-48154 Fixed
2023-04-13 08:53:57 +00:00
Artem Kobzar
09bccd272d
[K/JS] Prevent Char boxing on value or reference equals call
2023-04-13 08:39:03 +00:00
Artem Kobzar
f0aa6c6d32
[K/JS Gradle] Remove forceLegacyBackendUsage from KotlinGradlePlugin previously added with the compiler flags refactoring, also fix bootstrap compilation of atomicfu plugin
2023-04-12 14:04:34 +00:00
Artem Kobzar
fa0f9a9201
[K/JS] Change strategy for implicitly exported declarations if there is a cycled reference
...
^KT-57356 Fixed
2023-04-11 13:48:47 +00:00
Artem Kobzar
96a25b7b7d
[K/JS TESTS] Migrate generating and running of invalidation tests to JUnit 5
2023-04-11 07:25:56 +00:00
Artem Kobzar
c6e4858bc9
[K/JS] Remove the ability to run Legacy JS backend from the Gradle Plugin
2023-03-28 12:47:04 +00:00
Artem Kobzar
6b62499c85
[K/JS] Add previousOffset to InteropCallableReferenceLowering + include SYNTHETIC_OFFSET branch into previousOffset calculation
2023-03-27 21:45:00 +00:00
Artem Kobzar
7a79de6d16
[K/JS] Move JS IR box tests setup into separated function
2023-03-19 22:53:05 +00:00
Artem Kobzar
4da81b2b6e
[K/JS] Remove an internal system property and replace it with the new compiler flag
2023-03-17 12:38:34 +00:00
Artem Kobzar
758b0ab457
[K/JS] Fix Windows test run with a long test name
2023-03-16 16:48:53 +00:00
Artem Kobzar
948c511284
[K/JS] Rework ES modules part with squashed JsImport and right renaming strategy inside import/export statements
2023-03-16 10:28:39 +00:00
Artem Kobzar
633d840c88
[K/JS] Deprecate external enum declarations
...
^KT-57254 Fixed
2023-03-10 12:55:43 +00:00
Artem Kobzar
ab7b429298
[K/JS] Add ability to use is checks on external objects
2023-03-10 11:33:30 +00:00
Artem Kobzar
484e5afb59
[K/JS] Remove unused Unit_getInstance import into generated code
2023-03-09 16:51:07 +00:00
Artem Kobzar
26f6661d1e
[K/JS] Remove the possibility to have negative lines and columns in Source Maps
2023-03-06 16:55:26 +00:00
Artem Kobzar
4eb5af68f4
[K/JS] Add @deprecated commentary if @Deprecated annotation exists on a declaration.
...
^KT-56405 Fixed
2023-03-03 10:18:11 +00:00
Artem Kobzar
50a462fed1
[K/JS] Exclude kotlinx.serialization synthetic declarations from JsExport
...
^KT-57024 Fixed
2023-02-28 18:11:36 +00:00
Artem Kobzar
deb6ca66ea
[K/JS] Add undefined type to parameter with default argument that are placed before non-optional parameters
...
^KT-53180 Fixed
2023-02-28 11:53:28 +00:00
Artem Kobzar
cf10bb8871
[K/JS] Fix problem with deployment of artifacts (temporary solution before the KT-MR-9000 will be merged and bootstrapped)
2023-02-27 19:52:17 +00:00
Artem Kobzar
775da5d3d2
[K/JS] Fix publishing of the stdlib compiled with the legacy js compiler
2023-02-21 18:10:15 +00:00
Artem Kobzar
d39fd9416a
[Build] Fix compilation of kotlin-js(-ir) libraries in 1.9.0 (stdlib and test)
2023-02-18 13:26:53 +00:00
Artem Kobzar
e401c29c26
[K/JS] Add separate test configuration just for the ES6 test ^KTI-1098 Fixed
2023-02-02 11:35:05 +00:00
Artem Kobzar
d58d9a5c77
fix runing legacy js maven tests in integration tests.
2023-01-30 09:29:59 +00:00
Artem Kobzar
c4eca5f2df
[K/JS] Exclude componentN methods from JsExport
2023-01-17 21:18:50 +00:00
Artem Kobzar
71486a321c
[K/JS] Add support of compilation with ES-classes
2023-01-17 18:14:17 +00:00
Artem Kobzar
6a6308bef2
[K/JS] add miss StartProjection for the substitution inside lowerings ^KT-55852 Fixed
2023-01-13 13:28:42 +00:00
Artem Kobzar
7156200953
[K/JS] serialize enum entries as a byte instead of int
2023-01-12 21:15:01 +00:00
Artem Kobzar
642bbd38ba
[K/JS] Move global interface id state into an object to prevent interface ids reinitialization ^Fixed KT-55758
2023-01-09 20:56:19 +00:00
Artem Kobzar
7d881842b4
[K/JS] Include protected member declarations into checked by JsExportDeclarationChecker declarations ^Fixed KT-55786
2023-01-05 16:30:23 +00:00
Artem Kobzar
97be632c9a
[K/JS] Add @ts-ignore for the case when there is a class with a private primary constructor (or excluded from export) which has an exported subclass ^Fixed KT-52563
2023-01-04 15:21:40 +00:00
Artem Kobzar
fbf06b5495
[K/JS] Add a secret system property to enable the old Kotlin/JS compiler only for tests until it will be removed from the sources
2022-12-29 13:32:01 +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
Artem Kobzar
76e629340f
[K/JS] Add miss LazyIr into klib Ir generation process
2022-12-02 13:28:18 +00:00
Artem Kobzar
3f4a937ad6
[K/JS] Don't generate TypeScript definitions from ExportModel if the -Xgenerate-dts flag was not provided ^Fixed KT-53940
2022-12-01 15:47:08 +00:00
Artem Kobzar
0f0421ea3d
[K/JS] Generating TypeScript definitions for exceptions and rest of the types ^Fixed KT-53940
2022-12-01 15:01:24 +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
c1c5933c72
[K/JS] Deprecate old JS-compiler
2022-11-23 11:22:29 +00:00
Artem Kobzar
725a224f74
[K/JS] Make available transitive reexport for ES modules
2022-11-18 16:54:10 +00:00
Artem Kobzar
14e4febb05
[K/JS] Exclude default from the regular reserved keywords to give ability to export declarations with default export ^KT-54480 Fixed
...
fix(KT-54480): exclude default from the regular reserved keywords to give ability to export intities with default export.
Merge-request: KT-MR-7459
Merged-by: Artem Kobzar <Artem.Kobzar@jetbrains.com >
2022-10-24 10:12:30 +00:00
Artem Kobzar
8a89b2f29f
[K/JS] Remove the old interface runtime check because of bootstrapping
...
Merge-request: KT-MR-7457
Merged-by: Artem Kobzar <Artem.Kobzar@jetbrains.com >
2022-10-21 11:34:31 +00:00
Artem Kobzar
ea6b784e41
[K/JS] Exclude Enum.entries property from export to JS
2022-10-21 10:31:06 +00:00
Artem Kobzar
7b9aed25da
[K/JS] Add the ability to turn off polyfills generating
2022-10-19 12:52:23 +00:00
Artem Kobzar
23384dd57d
[K/JS] Remove @Suppress from stdlib @JsExport.Ignore
2022-10-19 10:22:15 +00:00
Artem Kobzar
cd87830ffa
[K/JS] Generate the similar variant of newlines on different OS in the @file:JsExport tests generating task
2022-10-17 16:48:40 +00:00
Artem Kobzar
6d888e8e31
[K/JS] Fix stdlib long path problem on Windows for ES modules tests
2022-10-14 13:29:36 +00:00
Artem Kobzar
9a4a30c9bb
[K/JS] Add flag for disabling signature uniqueness checks at klib generating phase
2022-10-14 13:08:58 +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
Artem Kobzar
34c32e91e8
[K/JS] Don't remvove @JsExport.Ignore while test generating running
2022-10-11 17:02:23 +00:00
Artem Kobzar
574d774277
[K/JS] Remove illegal chars from the new js-minimal-stdlib path
2022-10-03 15:59:07 +00: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
Artem Kobzar
d7ef5efa6a
[K/JS] Remove ligature that breaks map files comparison pipeline (hack for KT-50589 issue)
2022-09-22 16:03:14 +00:00
Artem Kobzar
2081dc327c
[K/JS] Trick-out the D8 bug related to a long path on Windows
2022-09-22 15:22:00 +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
Artem Kobzar
443f7d1048
[K/JS] Do not run generate-file-tests task if the source was not changed
2022-09-21 13:53:43 +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
d9c5f100db
[K/JS] Use intrinsics instead of new functions in IR backend.
2022-09-19 13:04:16 +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