Igor Yakovlev
1e798a2527
[Wasm] Implement IrLinkageError end enable partial linker
...
KT-58088
2024-03-12 14:36:45 +00:00
Igor Yakovlev
84a5a9ff53
Revert "[Wasm] Implement IrLinkageError end enable partial linker"
...
This reverts commit c0f387dbd1 .
2024-03-11 19:27:12 +00:00
Ivan Kylchik
fd961452b3
[K2] Move IRTranslation perf calculation inside convertToIr* methods
2024-03-08 15:58:33 +00:00
Artem Kobzar
77f0cba23f
[K/JS] Introduce v2015 target
2024-03-06 12:21:38 +00:00
Ilya Goncharov
b157a8eae5
[Wasm] Add wasm target to Klib manifest
...
^KT-66327 fixed
2024-03-06 10:57:50 +00:00
Igor Yakovlev
c0f387dbd1
[Wasm] Implement IrLinkageError end enable partial linker
...
KT-58088
2024-03-05 17:17:32 +00:00
Ilya Goncharov
2340d59f40
[JS] Get rid of outputFile in compiler args (KT-61116)
...
^KT-56753 fixed
2024-02-09 18:20:08 +00:00
Sergej Jaskiewicz
f39335b3f7
[klib] Don't pass around metadata serialization closure
...
Pass the metadata serializer instance instead. This allows to further
reduce code duplication by introducing the common interface
`KlibSingleFileMetadataSerializer` for abstracting away K1 and K2
representation of a source file, as well as reusing
`Fir2KlibMetadataSerializer` across different backends.
KT-64392
2024-01-29 21:07:43 +00:00
Sergej Jaskiewicz
93a1ceae75
[klib] Deduplicate KLIB serialization logic in K/JS and K/N
...
Introduce the new `serializeModuleIntoKlib` function that all KLIB-based
backends can use to serialize a module to a KLIB.
^KT-64392 Fixed
2024-01-29 21:07:43 +00:00
Sergej Jaskiewicz
c335cd0b1e
[IR] Remove unused IrMessageLogger from serialization logic
2024-01-29 21:07:43 +00:00
Dmitriy Novozhilov
ed874262e3
[FIR] Part 3. Setup running platform checkers in CLI
...
^KT-58881
2024-01-24 10:45:00 +02:00
Sergej Jaskiewicz
bc5810ee67
[FIR2IR] Don't use descriptor manglers in FIR2IR
...
They don't do anything, only complicate the initial configuration.
KT-64990
2024-01-19 13:36:00 +00:00
Dmitriy Novozhilov
0741250b12
[FIR] Use proper FirProvider in the FirKLibSerializerExtension
...
3aa84906 changed native metadata serialization to use proper platform
session, but it caused a new bug: FirKLibSerializerExtension uses
FirProvider from the passed session to get a containing file of
serialized declaration to put some extension into the metadata. And
platform session doesn't contain information about any declarations
except platform ones
So it's needed to use the proper FirProvider in it, which can be
extracted from Fir2IrComponents. This provider contains providers from
all sessions that are being compiled plus providers for top-level
declarations generated by compiler plugins
^KT-65024 Fixed
2024-01-17 17:38:44 +00:00
Artem Kobzar
a55c65e3e2
[K/Wasm] Add simple TypeScript definitions generating ^KT-65009 Fixed
2024-01-16 11:10:27 +00:00
Sergej Jaskiewicz
a0ba878b1d
[FIR2IR] De-duplicate creation of Fir2IrConfiguration
...
This will help to prevent inconsistencies between creating
the configuration in the actual compiler pipeline and in compiler tests.
2024-01-11 12:16:54 +00:00
Pavel Kunyavskiy
f45d92eebc
[K/N, K/JS, K/WASM] Enable FakeOverrideRebuilder by default
...
While not beeing final solution, this is closer to what
we want to have in the end. Enabling on non-JVM targets
would help better testing.
Enabling in JVM is now not possible yet, as some of the bugs are
not fixed yet (check KT-61360 for details)
^KT-62476
2024-01-08 07:46:07 +00:00
Artem Kobzar
2530cba82a
[K/JS] Compile Kotlin coroutines as JS generator ^KT-63038 Fixed
2023-12-18 17:13:07 +00:00
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