Dmitriy Novozhilov
1cdc8361d6
[IR] Rename IrAnnotationsFromPluginRegistrar to IrGeneratedDeclarationsRegistrar
...
In further commits, this service will be used not only for registering
annotations, but newly generated IR declarations too
2023-12-05 10:21:27 +02:00
Dmitriy Novozhilov
e38b25c278
[FIR2IR] Make convertAndActualize method the only entrypoint to fir2ir
...
Fir2Ir conversion consists of multiple steps with complex logic (like
conversion of each module, actualization, plugins application, constant
evaluation), and to ensure that they all are executed correctly it's
convenient to have the single entry point for all this machinery
2023-11-27 10:17:54 +00:00
Pavel Kunyavskiy
021a00f4ff
[IR] Avoid depending from fir2ir on ir.actualization module
...
^KT-62292
2023-11-20 08:31:41 +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
Ilya Goncharov
a79324037d
[JS] Fix JPS artifacts cordinates
2023-10-16 13:34:37 +00:00
Artem Kobzar
eef57f216c
[K/JS] Rework main function call to support it in per-file
2023-10-04 12:13:20 +00:00
Alexander Korepanov
522952db1f
[JS IR] Run diagnostics by IR before the klib serialization
...
Implement an infrastructure for checking IR before JS klib serialization.
Implement the EXPORTING_JS_NAME_CLASH and EXPORTING_JS_NAME_CLASH_ES checks.
^KT-61710 Fixed
2023-09-23 19:49:17 +02:00
Ilya Chernikov
e5ee364419
IC: Implement expect/actual tracking
...
fixes NewMultiplatformIT.testIncrementalCompilation
also #KT-61590 fixed
2023-09-19 15:46:30 +00:00
Dmitriy Dolovov
b3cb8870e0
[IR][JS] Always drop expect declarations prior IR serialization
...
^KT-61136
2023-09-14 09:13:39 +00:00
Alexander Udalov
fd68b9f49c
CLI: add -Xuse-ir-fake-override-builder
...
To be able to test IR fake override builder (KT-61514) outside of
compiler tests.
2023-09-13 15:01:52 +02: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
Anton Bannykh
387898056a
[JS] Report K2 diagnostics before Fir2IR
...
^KT-60531 fixed
2023-08-31 12:15:08 +00:00
Dmitriy Dolovov
033bb385b9
[IR] Drop expectDescriptorToSymbol completely
...
^KT-61136
2023-08-16 19:17:17 +00:00
Anton Bannykh
962bfaca9c
[JS] Support multimodule IC tests with K2
...
Includes supporting klib file generation.
2023-08-11 15:46:51 +00:00
Igor Yakovlev
60d35200f6
[Wasm] Wasi frontend diagnostics
2023-08-08 18:10:19 +02: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
Yan Zhulanow
7d88ade005
[fir2ir] Allow non-cached type parameters
...
In the IDE, there might come declarations from other files/modules
that we link against, but not compile. Type parameters are one of such
declaration kinds.
2023-07-28 16:05:34 +00:00
Ivan Kylchik
84159596bd
[FIR] Pass diagnosticReporter in Fir2IrConfiguration
...
This parameter will be used to report diagnostics from constant
evaluator, in addition to report diagnostic from actualizer.
2023-07-27 22:50:21 +00:00
Svyatoslav Kuzmich
75142230b6
[Wasm] Support Wasm K2 frontend in CLI (KT-57230)
2023-07-27 10:05:22 +00:00
Sergei Kharitontcev-Beglov
34c6afec5e
[Wasm] A name cache to distinguish same named declarations in DCE dump
2023-07-07 17:42:00 +00:00
Igor Yakovlev
750653e4b3
[Wasm] Add kotlin wasm wasi mode compiler flag
2023-07-07 15:23:18 +00:00
Sergei Kharitontcev-Beglov
55bfd3efcb
KT-52178: Argument propagation into IR backend & lowering dump action
2023-07-06 10:55:26 +00:00
Artem Kobzar
64158a8a2f
[K/JS] Add file-to-file compilation ^KT-6168 Fixed
2023-06-22 18:23:45 +00:00
Alexander Udalov
bb4d25dfc9
IR: do not copy calls/references in ExpectSymbolTransformer
...
This is just a refactoring/optimization that makes use of the fact that
IrCall.symbol and other similar fields are now mutable.
2023-06-22 17:18:59 +00:00
Dmitriy Novozhilov
5717b59f52
[FIR/IR] Introduce an ability to propagate generated IR annotation to metadata
...
^KT-58638 Fixed
2023-06-21 06:56:59 +00:00
Ivan Kylchik
0021a5f655
[K2] Save inlined java field into special InlineConstTracker
2023-06-14 19:02:39 +00:00
Dmitriy Novozhilov
ba41e8ec38
[IR] Use common expect/actual matching algorithm in IR actualizer
...
^KT-58578 Fixed
2023-06-10 07:33:29 +00:00
Nikolay Lunyak
23f87eda1f
[FIR] KT-57803: Report the error message for light tree
...
The renaming prevents the JVM clash.
^KT-57803 Fixed
2023-06-06 07:43:37 +00:00
Alexander Korepanov
e4d7897071
[JS IR] Check fir compilation errors after checking IC next round
2023-05-23 10:13:26 +00:00
Alexander Korepanov
28b781f60a
[JS IR] Move fir to klib serialization code in separate class
2023-05-23 10:13:26 +00:00
Nikolay Lunyak
c57d9097c2
[FIR] Add the syntax tree suffix to buildResolveAndCheckFir
2023-05-16 12:11:47 +00:00
Nikolay Lunyak
d72a50b3f5
[FIR] KT-58065: Support LT in K2JsIrCompiler
2023-05-16 12:11:46 +00:00
Sergej Jaskiewicz
a74df3b4b4
[IR] Store manglers used for signature computation in IrBackendInput
...
We will need them in signature dump tests later.
2023-05-04 14:58:06 +00:00
Zalim Bashorov
4e36f5b391
[Wasm, JS] Add a warning that dumping reachability and size infos to file is supported only for Kotlin/Wasm
2023-04-25 19:44:03 +02:00
Zalim Bashorov
bd852e87ab
[Wasm] Add an option to dump declaration IR sizes to file
2023-04-25 19:44:03 +02:00
Zalim Bashorov
62b21ac078
[Wasm] Add an option to dump reachability info to file
2023-04-25 19:44:02 +02:00
Anton Bannykh
c839fdca3e
[JS IR] initial support for KLIB incremental compilation with K2
2023-04-23 14:47:48 +02:00
Dmitriy Dolovov
7da05d66e3
[PL][tests] Run JS tests with enabled PL with ERROR log level
...
#KT-57378
2023-04-20 10:23:47 +00:00
Ivan Kylchik
0b70b7904d
[K2] Create and add EvaluatedConstTracker in configuration
2023-04-19 13:52:43 +00:00
Ivan Kylchik
fe989d0ba7
[K2] Add languageVersionSettings to Fir2IrConfiguration class
2023-04-19 13:52:42 +00:00
Ivan Kylchik
e16231104e
[K2] Add Fir2IrConfiguration class to store configuration parameters
...
One example of such parameter is `linkViaSignatures`. There is
`Psi2IrConfiguration` as an analog for K1.
2023-04-19 13:52:41 +00:00
Ivan Kylchik
525098dea6
[K2] Unbind fir:fir2ir:jvm-backend from other non jvm modules
2023-04-19 13:52:41 +00: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
Dmitriy Dolovov
66797ff876
[PL] Temporarily disable PL for WASM
2023-04-18 09:22:54 +00:00
Dmitriy Dolovov
000cf47c21
[PL][JS] Fix: Pass PL CLI arguments properly
2023-04-18 09:22:53 +00:00
Dmitriy Dolovov
16da1af525
[PL] Support handling IR error types
2023-04-18 09:22:50 +00:00
Ivan Kochurkin
3a60b30dae
Minor: IrActualizationResult -> IrActualizedResult
2023-04-17 19:55:35 +00:00
Sergej Jaskiewicz
78d19e143c
[JS IR] Don't use JVM-specific mangler in JS IR backend
...
^KT-54638 Fixed
2023-04-05 14:23:51 +00:00
Dmitriy Novozhilov
92a59279d5
[FIR] Properly implement serializer extension for klib compilation
...
^KT-57654 Fixed
2023-04-05 07:31:33 +00:00
Ivan Kylchik
32297c0f21
Serialize and deserialize const val's properly for K2 klib
...
#KT-57312 Fixed
2023-04-04 12:35:54 +00:00