Marco Pennekamp
a777ffcd8a
[AA] KT-55566 StandaloneProjectFactory: Setup JDK default module roots
...
- Setup JDK default module roots in `StandaloneProjectFactory` (compare
with `KotlinCoreEnvironment`). The implementation is a distilled
version of `ClasspathRootsResolver`'s default module handling.
- This fixes an issue where some LL FIR tests with JDK 17 and 11 had
mismatched types between Kotlin and Java sources.
^KT-55566 fixed
2023-01-04 11:46:11 +00:00
Vladimir Dolzhenko
4542b3947b
Clean up: rename Jet* to Kt*
2023-01-03 16:36:53 +01:00
Ilya Chernikov
19a0a1fcd8
K2: add missing MPP warning in LightTree mode
2023-01-02 19:54:57 +00:00
Ilya Chernikov
47a4532ea0
K2: update LightTree support in modularized tests
2023-01-02 19:54:56 +00:00
Ilya Chernikov
1a373317ed
K2: temporarily disable scripts compilation in LT mode
...
Should be addressed in the new K2 scripting support soon
2023-01-02 19:54:56 +00:00
Ilya Chernikov
23a27864e5
K2: introduce LT mode config property
2023-01-02 19:54:56 +00:00
Ilya Chernikov
16f52f4c50
K2: use LightTree by default with K2
2023-01-02 19:54:55 +00:00
Alexander Udalov
3f2b51151f
Remove -Xexclude-from-dumping
...
Apparently the underlying logic was removed in b07690fccf and no one
noticed.
2023-01-02 15:26:07 +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
Igor Yakovlev
71afbb36f5
[Wasm] Introduce Xwasm-generate-wat compiler flag (disabled by default)
2022-12-29 11:57:48 +00:00
Denis.Zharkov
d3549c2c5b
Optimize CoreJrtFileSystem
...
Do not recompute children on each file request
At the same time, we should clear the roots after each compilation
just the same way as we do for common jars
2022-12-29 09:59:16 +00:00
Svyatoslav Kuzmich
dd53998c2d
[Wasm] Add uninstantiated MJS wrapper
...
It allows
* Custom imports
* Ability to skip initializer
2022-12-28 12:13:52 +01:00
Kevin Bourrillion
70cd547c26
Fix two other tests to treat both old and new JSpecify packages the same
2022-12-27 11:11:00 +00:00
Andrey Uskov
f07f193938
Make line number field public in PerformanceMeasurement
...
Required for KT-55537
2022-12-26 17:16:02 +03:00
Evgeniy.Zhelenskiy
25db5bf6e1
[IR] Enable -Xvalue-classes flag
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-12-22 12:24:16 +00:00
Sergey Bogolepov
366edcfe3c
[K/N] Drop obsolete static driver
2022-12-20 06:30:36 +00:00
Ilya Muradyan
db5913bbb6
KTIJ-8463: add possibility to pass additional analyzer flags
2022-12-15 10:30:43 +01:00
Ilya Kirillov
7bac119f20
[FIR] add lazy resolution contract checks in resolve
2022-12-12 16:21:06 +00:00
Dmitriy Novozhilov
f8487ba545
[CLI] Filter out blank arguments from system environment
2022-12-09 12:02:09 +00:00
Dmitriy Novozhilov
5d6cb2b691
[Test] Use IrPluginContext for searching declarations for DUMP_EXTERNAL_CLASS check
2022-12-09 12:02:07 +00:00
Troels Bjerre Lund
bb1acf729b
[K/N] Add custom allocator prototype ^KT-55364
...
Enable custom allocator with -Xallocator=custom.
If the gc is cms (default):
* a patched version of the memory manager is used that does not build a
list of allocated objects.
* a patched version of the cms is used that defers to the allocator for
sweeping.
Otherwise, a warning is printed, and the allocator is used using the
standard api.
Design doc:
https://docs.google.com/document/d/15xMp-nE-DWL8OrtOc8DoXB80AHUphFICEGjj5K0aNFc
Co-authored-by: Troels Lund <troels@google.com >
Merge-request: KOTLIN-MR-546
Merged-by: Alexander Shabalin <alexander.shabalin@jetbrains.com >
2022-12-08 17:22:04 +00:00
Zalim Bashorov
49c3ba33f1
[Wasm] Add a basic end-to-end sourcemap generation in wasm backend
...
More constructions/instructions will be supported separately.
2022-12-08 12:44:26 +00:00
Alexander Korepanov
0a35d84193
[JS IR] DTS generation refactoring
...
Keep a DTS fragment in JsIrProgramFragment
for each file and build the module DTS from them.
2022-12-07 18:05:52 +00:00
Zalim Bashorov
fb4dcc6a6a
[Sourcemap] Introduce getCurrentColumn and stop using TextOutput directly
...
The general goal is remove dependency on TextOutput and
make it simpler to use for wasm backend.
2022-12-07 12:03:54 +00:00
Alexander Korepanov
c31705240a
[JS IR] Support a module friendship in IC infrastructure
...
^KT-55097 Fixed
2022-12-02 13:50:36 +00:00
Artem Kobzar
76e629340f
[K/JS] Add miss LazyIr into klib Ir generation process
2022-12-02 13:28:18 +00:00
Sergej Jaskiewicz
1539d7ef1a
[klib] Bring package names in sync with the directory layout
...
Basically, some package names were Native-specific, whilst the packages
themselves were not Native-specific at all. This was already reflected
in the directory layout, but not in the package names.
This is fixed here.
NFC, just an automatic rename of packages with fixes of imports.
2022-12-01 21:46:43 +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
Sergey Bogolepov
c22cad07ed
Introduce FlexiblePhaseConfig
...
For dynamic Kotlin/Native driver we need a PhaseConfigurationService
that does not force us to provide a list of phases upfront.
2022-11-30 11:24:38 +00:00
Alexander Korepanov
9dab8637a8
[JS Gradle] Pass incremental cache root dir to K2JS compiler
2022-11-28 20:46:40 +00:00
Alexander Korepanov
693258ae91
[JS IR] Invalidate all klib dependencies after removing it
...
Without the invalidation, broken JS code
(with broken cross-module references) may appear.
^KT-54911 Fixed
2022-11-28 20:46:40 +00:00
Alexander Korepanov
ca19d71a00
[JS IR] Commit cache header after lowering
...
Commiting cache header before lowering may
break caches in case of lowering errors.
^KT-54912 Fixed
2022-11-28 20:46:40 +00:00
Alexander Korepanov
8cde0a81bc
[JS IR] Use topological order for loading klibs in JS IR IC
...
Generally, the library order doesn't matter.
However, after lowering we need to post process
lowered klibs in topological order:
- commit incremental cache artifacts,
- produce JS AST.
The patch uses an ability of the Kotlin library resolver to load klibs
in topological order and drops its reimplementation from IC infrastructure.
There is one side effect:
klibs which are not reachable from the main module, will produce their JS.
This should be more correct than just ignoring them.
2022-11-28 20:46:39 +00:00
Alexander Korepanov
ec6a7094e6
[JS IR] Manage cache root dir from IC cache updater
...
- pass cache root directory instead of dir list
- manage klib cache dirs from cache updater
2022-11-28 20:46:39 +00:00
Ilya Chernikov
e4a361a4b4
K2 Scripting: disable scripts in source roots by default
...
fixes ultimate FP test
2022-11-28 15:10:55 +00:00
Sebastian Sellmair
7870c82221
[Gradle][Native] K2NativeCompilerArguments.refinesPaths: Use Array<String> instead of String
...
^KT-55071 Verification Pending
2022-11-24 14:42:11 +00:00
Sebastian Sellmair
752ff04245
[Gradle][Native] Setup refinesPaths as expectedBy module dependencies
...
Previously, dependsOn dependencies were just passed as friend modules
to shared native compilations.
^KT-55071 Verification Pending
2022-11-24 14:42:10 +00:00
Artem Kobzar
c1c5933c72
[K/JS] Deprecate old JS-compiler
2022-11-23 11:22:29 +00:00
Svyatoslav Kuzmich
78bd6dbdcd
[Wasm] Allow implementing function interfaces
2022-11-14 11:23:18 +01:00
Mikhael Bogdanov
edc54524aa
Xjdk-release: support mixed compilation of Java and Kotlin
...
#KT-52815 Fixed
2022-11-14 06:57:12 +00:00
Ilya Chernikov
7a57e8d903
FIR JS: Add K2 support to K2JsIrCompiler
2022-11-12 16:28:24 +01:00
Ilya Chernikov
1f11a2865f
FIR: refactor session factory to better support JS scenarios
2022-11-12 16:28:23 +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
Xin Wang
7b3ce35613
JVM_IR: Prevent writing output after an error is reported
...
#KT-53825 Fixed
2022-11-09 23:14:11 +01:00
Alexander Korepanov
731dd9c3e8
[JS IR] More detailed time measurement for the IC infrastructure
2022-11-08 15:18:43 +00:00
Alexander Korepanov
92638573ce
[JS IR] Add messages about unused cli arguments
2022-11-07 17:57:42 +00:00
Alexander Korepanov
cb7df4d428
[JS IR] IrModuleToJsTransformerTmp.kt -> IrModuleToJsTransformer.kt
2022-11-07 17:57:41 +00:00
Alexander Korepanov
041e755c70
[JS IR] Cleanup BackendContext flags
2022-11-07 17:57:41 +00:00
Alexander Korepanov
d17794481d
[JS IR] Replace IrModuleToJsTransformer with IrModuleToJsTransformerTmp
2022-11-07 17:57:38 +00:00
Alexander Korepanov
d5e9e87538
[JS BE] Drop JS scripting support
...
JS scripting uses the old IR to JS transformer.
The new IR to JS transformer can not be used for
JS scripting out of the box. Patching the new transformer for
JS scripting is potentially dangerous and requires a lot of effort.
Dropping JS scripting and the old IR to JS transformer allows to
refactor and simplify JS BE codebase.
2022-11-04 14:15:15 +00:00