Artem Kobzar
8d1a90c23c
[K/JS] Support essential Kotlin collections (List, MutableList, Set, MutableSet, Map, MutableMap) for exporting into JS
...
^KT-34995 Fixed
^KT-44871 Fixed
2024-01-24 11:14:46 +00:00
Pavel Kunyavskiy
32de968531
[Names] Avoid deadlock in initialization of classId constants
...
StandardClassIds was using Annotations subclass in its initialization.
At the same time, Annotations subclass was using StandardClassIds in its
initialization implicitly through baseId() method.
This leads to a rare deadlock on CI in case where two different threads
tried to initialize both classes at the same time.
It can't be reproduced robustly, as a single thread was able to
successfully initialize both, and will do it on an attempt to
initialize any of them.
^KT-64720 Fixed
2024-01-05 09:53:05 +00:00
Alexander Korepanov
d5aaa29a7f
[JS FIR] Implement FirJsReflectionAPICallChecker diagnostic
...
^KT-60899 Fixed
2024-01-02 16:45:12 +00:00
Artem Kobzar
2530cba82a
[K/JS] Compile Kotlin coroutines as JS generator ^KT-63038 Fixed
2023-12-18 17:13:07 +00:00
Artem Kobzar
2eb1e65bbf
[K/Wasm] Allow to export unsigned numbers
2023-12-08 09:06:19 +00:00
Svyatoslav Kuzmich
e901629cf0
[Wasm] Support WASI target in K2
...
- Support WASI mode in CLI and test infrastructure
- Add external declaration checker
- Split Fir diagnostic lists into Base, JS and WASI
#KT-56849 Fixed
2023-11-28 11:51:53 +00:00
Svyatoslav Kuzmich
b3bc99a44a
[Build] Use impl dependencies for compiler.common.{web,wasm}
...
Refactor build scripts to use implementation dependencies instead of api
for finer grained recompilations.
2023-11-23 15:52:55 +00:00
Artem Kobzar
1832f5a3f7
[K/JS] Introduce the ability to consume platform-specific cli arguments inside the main function ^KT-16981 Fixed
2023-11-18 11:01:34 +00:00
Alexander Korepanov
720fe2ac89
[JS PSI] Deprecate using not constant variables in js() calls
...
Added JSCODE_ARGUMENT_NON_CONST_EXPRESSION warning which
checks non constant variable usages in js() argument expressions.
The fix is related to KT-57156.
2023-10-26 19:22:13 +00:00
Ilya Goncharov
a79324037d
[JS] Fix JPS artifacts cordinates
2023-10-16 13:34:37 +00:00
Artem Kobzar
2578bfefd5
[K/JS] Add useEsClasses to list of compiler arguments that invalidate IC cache ^KT-61795 Fixed
2023-09-13 09:50:24 +00:00
Bogdan Mukvich
7b00323b89
[Build] Update guava
...
Fix some reports from "Show Vulnerable Dependencies"
^KTI-1342
2023-08-25 14:10:37 +00:00
Svyatoslav Kuzmich
47ade4530c
[Wasm] Add compiler flag to disable exception handling proposal
...
Fail with unreachable instead of throwing an exception
Merge-request: KT-MR-11481
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com >
2023-08-07 16:19:29 +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
Igor Yakovlev
750653e4b3
[Wasm] Add kotlin wasm wasi mode compiler flag
2023-07-07 15:23:18 +00:00
Svyatoslav Kuzmich
1dc0b054ed
Deprecate PlatformDiagnosticSuppressors::shouldReportUnusedParameter with one parameter
2023-06-13 15:37:54 +00:00
Svyatoslav Kuzmich
dc4aa8c15e
[Wasm] Restore binary compatibility of PlatformDiagnosticSuppressor
...
Keep the original shouldReportUnusedParameter method without
BindingContext parameter
^KT-58188 Fixed
2023-06-13 15:37:53 +00:00
Ilya Goncharov
bcefa1cd66
[Gradle, Wasm] Add wasm platform kind
...
KTIJ-25583
2023-05-17 13:28:20 +00:00
Zalim Bashorov
62b21ac078
[Wasm] Add an option to dump reachability info to file
2023-04-25 19:44:02 +02:00
Alexander Korepanov
79d378f2bd
[JS IR] Perform optimizations on the generated JS code
...
The patch adopts and reuses the optimizations from the legacy backend.
The optimizations remove useless temporary variables,
statements and simplify generated JS code.
The optimizations can be disabled by `-Xoptimize-generated-js=false`.
Related to KT-51139
2023-04-18 12:49:33 +00:00
Alexander Korepanov
e8be3043cc
[JS IR] Allow restriction of function argument by external type
...
Add a special annotation @JsExternalTypeArgument for
marking function parameters. The marked parameter
accepts an argument with an external type only.
^KT-57479 Fixed
2023-04-17 08:21:10 +00:00
Alexander Korepanov
4813b659ab
[JS IR] Control an inheritance of non-external entity from external
...
Add a special annotation @JsExternalInheritorsOnly for marking
external interfaces and classes. The marked interface or class
can’t be a parent for non external interfaces, classes or objects.
^KT-57423 Fixed
2023-04-05 09:00:45 +00:00
Dmitriy Dolovov
a450866db3
[PL] Commonize Native & JS compiler configuration keys
2023-03-30 12:38:07 +00:00
Dmitriy Dolovov
831611d577
[PL] Introduce new CLI parameter: -Xpartial-linkage-loglevel
...
The parameter controls the level of logs produced during the compile time by the partial linkage: 'info', 'warn' (default for now), and 'error'.
2023-03-30 12:38:06 +00:00
Artem Kobzar
633d840c88
[K/JS] Deprecate external enum declarations
...
^KT-57254 Fixed
2023-03-10 12:55:43 +00:00
Alexander Korepanov
2cad26f4cc
[JS IR] Use cacheable ZIP file system accessor in JS IR BE
...
Related to KT-51712
2023-03-10 09:38:52 +00:00
Svyatoslav Kuzmich
60ef7fcb49
[Wasm] Suppress unused parameters warning for functions with JS body
...
These parameters can be used in js(code)
2023-03-03 19:39:09 +00:00
Svyatoslav Kuzmich
54a45c49f8
[Wasm] Add Wasm platform and K1 FE infrastructure
2023-02-24 01:05:23 +01:00
Vladimir Dolzhenko
3e99807436
Add ability to provide specific AbsentDescriptorHandler
...
#EA-457188
Merge-request: KT-MR-8900
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com >
2023-02-22 12:44:46 +00:00
Ilya Goncharov
1150ec6882
[JS] Implementation dependencies for JS klibs
...
^KT-56158 fixed
2023-01-27 13:31:59 +00:00
Mikhail Glukhikh
89dd28226b
BinaryVersion: introduce isCompatibleWithCurrentCompilerVersion
2023-01-16 18:12:55 +01:00
Nikolay Lunyak
e6efde76dc
[FIR JS] Reuse declarations from JsStandardClassIds in both frontends
2023-01-09 08:57:13 +00:00
Nikolay Lunyak
85bcef537c
[FIR JS] Support NON_EXTERNAL_DECLARATION_IN_INAPPROPRIATE_FILE
2023-01-09 08:57:12 +00:00
Nikolay Lunyak
a20e29e8b7
[FIR JS] Implement FirJsExternalChecker
...
The JsAllowValueClassesInExternals feature is enabled explicitly,
because otherwise it's enabled
implicitly depending on the backend. See:
org/jetbrains/kotlin/test/builders/LanguageVersionSettingsBuilder.kt:90
A property may have a fake source return kind, while its accessor
has a real source kind. In this case we can't "just copy"
the property return type down to the accessor.
2023-01-09 08:57:11 +00:00
Nikolay Lunyak
56285bb2d6
[FIR JS] Report CALL_TO_DEFINED_EXTERNALLY_FROM_NON_EXTERNAL_DECLARATION
2023-01-09 08:57:11 +00:00
Nikolay Lunyak
f422a3a4e8
[FIR JS] Report WRONG_JS_QUALIFIER for the argument of JsQualifier
2023-01-09 08:57:08 +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
Vladimir Dolzhenko
4542b3947b
Clean up: rename Jet* to Kt*
2023-01-03 16:36:53 +01:00
Igor Yakovlev
71afbb36f5
[Wasm] Introduce Xwasm-generate-wat compiler flag (disabled by default)
2022-12-29 11:57:48 +00:00
Pavel Kunyavskiy
4928e284f6
Make LateinitIntrinsicApplicabilityChecker warning for Native and JS
...
This checker was enabled only on JVM by mistake.
It's now fixed, but we don't want to make it an error in minor release.
So it will be an warning in 1.8.20 and an error in 1.9.0
^KT-27002
2022-12-20 20:06:52 +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
Svyatoslav Kuzmich
78bd6dbdcd
[Wasm] Allow implementing function interfaces
2022-11-14 11:23:18 +01:00
Ilya Chernikov
fa0cda6236
FIR JS: enable full JS box tests with FIR
2022-11-12 14:34:07 +01:00
Sergej Jaskiewicz
7b7c517dbb
[JS IR] Emit original names for local vars to sourcemaps
...
#KT-35655 Fixed
2022-11-09 12:35:44 +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
7b9aed25da
[K/JS] Add the ability to turn off polyfills generating
2022-10-19 12:52:23 +00:00
Sergej Jaskiewicz
227864c6ec
[JS IR] Add a compiler option for generating name entries in sourcemaps
2022-10-14 10:09:39 +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
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
0bb0be8703
feat(KT-48814): represent all of the external declarations nullable properties as an optional fields inside d.ts.
2022-09-02 10:50:20 +00:00