Alexander Korepanov
5f10e605a9
[JS IR] Don't check an interface method default impl during JS translation
...
We do not need to check a default implementation of the interface during
the translation to JS because it must be checked before.
Moreover, this check breaks the produced JS code
if IR is partial loaded, e.g. during the incremental rebuild.
^KT-55716 Fixed
2023-01-09 09:46:17 +00:00
Alexander Korepanov
155777e3fa
[JS IR] Detect broken cross-module references
...
The patch adds an error if the module can not find the cross-module reference.
The patch removes the DCE optimization which eliminates implement() intrinsic,
because it leads to a broken cross-module reference and
broken JS code with implement() call, albeit in an unreachable block.
2023-01-09 09:23:26 +00:00
Svyatoslav Scherbina
0f63cfecbd
Introduce KlibMetadataHeaderFlags
...
This class lists possible flags for KlibMetadataProtoBuf.Header, and
helps avoid using magic constants in the source code.
2023-01-06 16:57:38 +00:00
Igor Yakovlev
f7940a2d46
[Wasm] Fix invalid cast generation for inline classes
2023-01-04 17:16:04 +00:00
Vladimir Sukharev
924898afb7
[K/N] KFC-446: K2 platform: Native alpha
...
Merge-request: KT-MR-7905
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-04 16:10:40 +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
Alexander Korepanov
3744fbb31b
[JS IR] Write IrFile fingerprints to KotlinJs klib manifest
...
The file fingerprints are going to be used for
a cache invalidation in JS IR incremental cache.
It should reduce an incremental rebuild time in JS BE.
CityHash128 is used as IrFile fingerprint.
2023-01-03 12:30:23 +00:00
Alexander Udalov
ae6d4d268d
Use short copyright from COPYRIGHT_HEADER in generated files
2023-01-02 22:52:18 +01:00
Alexander Udalov
3c4b5529af
Update year to 2023 in COPYRIGHT_HEADER.txt
...
This commit is the result of changing the year to 2023 in
COPYRIGHT_HEADER.txt and running all `generate*` tasks in
`generators/build.gradle.kts`.
2023-01-02 22:52:15 +01:00
Alexander Udalov
7a9c59aeb5
JVM IR: do not serialize metadata for actualized optional expectations
...
Optional-expectation annotations which have an actual counterpart should
have never been serialized to the kotlin_module's proto. See for example
the original (correct) implementation in the old JVM backend in
`PackageCodegenImpl.addDescriptorToOptionalAnnotationsIfNeeded`.
#KT-55611 Fixed
2023-01-02 15:30:27 +00:00
Alexander Udalov
11504fda18
Minor, slightly improve rendering for -Xlist-phases
...
Remove ':' after phase name, render "(Disabled)" instead of "(Enabled)".
2023-01-02 15:26:07 +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
Alexander Udalov
28759a3ac3
Optimize rangeUntil operator in for-loops and contains
...
Newly added tests are basically copies of the existing tests on `until`.
Note that this operator is optimized for all backends, but the fact that
it's optimized is only checked for the JVM backend in bytecode text
tests.
#KT-53330 Fixed
2023-01-02 12:55:48 +00:00
Dmitriy Dolovov
4428971401
[LazyIR] Exclude INVISIBLE_FAKE callable members from class declarations
...
Fixes KT-55509
2023-01-02 07:38:53 +00:00
Svyatoslav Kuzmich
9bc6b420a9
[Wasm][Stdlib] Add public APIs for linear memory access
...
Needed for interop with APIs that use linear memory.
2022-12-29 19:25:23 +00:00
Igor Yakovlev
fc80104d55
[Wasm] Fix external functions import clashing
2022-12-29 11:57:47 +00:00
Igor Yakovlev
4e24a9caa5
[Wasm] Cache down-casted dispatcher receiver in virtual functions
2022-12-29 11:57:46 +00:00
Igor Yakovlev
3be3ae4895
[Wasm] Fix invalid boxing for non-primitive typed vararg
2022-12-29 11:57:46 +00:00
Igor Yakovlev
1b2b7ce34c
[Wasm] Support Number type for external functions
2022-12-29 11:57:45 +00:00
Igor Yakovlev
4dedd47172
[Wasm] Fix JsName external declarations
2022-12-29 11:57:45 +00:00
Pavel Mikhailovskii
0b38ab4f01
KT-51277 Fix matching of context receivers and parameter desriptors
2022-12-29 11:28:11 +00:00
Svyatoslav Kuzmich
9d099348ba
[Wasm] Disable interop adapters for WasmImport
...
Merge-request: KT-MR-8152
2022-12-28 17:33:51 +00:00
Alexander Udalov
d2b66e5004
IR: remove IrCallMatcher/IrFunctionMatcher and usages
...
There doesn't seem to be much value over a simple imperative code which
checks exactly the same things in the same order. The main downside of
the removed API is that it was more difficult to debug.
2022-12-28 14:06:57 +01:00
Alexander Udalov
18950b448c
IR: simplify for-loop lowering internals a bit
...
Remove ExpressionHandler, HeaderInfoFromCallHandler, ProgressionHandler.
2022-12-28 14:06:57 +01:00
Pavel Mikhailovskii
906c161068
KT-52791 Make it possible to pass multiple context receivers to a class
2022-12-28 11:21:03 +00:00
Svyatoslav Kuzmich
62217b39ec
[Wasm] Rename WasmImportPair -> WasmImportDescriptor
2022-12-28 12:14:16 +01: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
Svyatoslav Kuzmich
3bbd8c291a
[Wasm] Add @WasmImport annotation
...
Imports top-level function from given module
2022-12-28 12:13:18 +01:00
Pavel Mikhailovskii
3704d54101
KT-52459 Handle context receivers when generating a bridge
2022-12-27 16:19:59 +00:00
Pavel Mikhailovskii
9ca5e1b421
KT-54357 Fix passing of context receivers to object literal constructors
2022-12-27 11:52:36 +00:00
xiaozihan.larryxiao
22a9b84966
KT-55398 Fix nested inline variable not correctly
...
^KT-55398 Fixed
Add nested variable's ReifiedTypeParametersUsages into closureReifiedMarkers for MethodInliner to generate nested inline anonymous class
2022-12-23 01:15:18 +00:00
Svyatoslav Kuzmich
d788adcbb5
[Wasm] Move non-recursive function types out of rec group
...
This fixes linking with other wasm modules with non-rec types
2022-12-21 20:20:13 +00:00
Ilya Chernikov
a89dfdce03
K2 Scripting: add support for script args to FIR part
2022-12-21 14:34:20 +00:00
Ilya Chernikov
533a5671bc
K2 Scripting, IR: add script receiver on conversion to class
2022-12-21 14:34:19 +00:00
Mikhail Glukhikh
fc95889115
Move isCompilingAgainstJdk8OrLater to JvmBackendContext
...
This should solve multi-thread synchronization problem
Probably #KT-55483 Fixed
2022-12-20 21:41:43 +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
Alexander Korepanov
48daf0befe
[JS IR] Take into account file annotations for calculating symbol hashes
...
^KT-55367 Fixed
2022-12-20 16:04:14 +00:00
Alexander Korepanov
4136189114
[JS IR] Check all signatures of dependent file in IC graph
...
It is important to check all signatures, because signatures
can be simultaneously moved between files and modified.
2022-12-20 16:04:14 +00:00
Evgeniy.Zhelenskiy
53b98503ed
[IR] Support MFVC properties without backing fields
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-12-18 22:11:23 +00:00
Igor Chevdar
0e4e53786c
[K/N] Fixed a problem with built coroutine visibility
...
#KT-55494 Fixed
2022-12-16 18:32:43 +00:00
mcpiroman
a244aaf162
KT-53957 Fix indy lambdas with extension and context receivers ( #5021 )
2022-12-16 17:47:58 +01:00
Evgeniy.Zhelenskiy
f6c63c6e4f
[IR, Serialization] Support kotlinx-based (de)serialization of MFVC, nullable MFVC value assignment to nonnull variable
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-12-16 17:20:51 +01:00
Svyatoslav Kuzmich
62ac77ca39
[Wasm] Add comments to .wat files
2022-12-16 13:57:59 +00:00
Alexander Udalov
5dd1777624
IR: minor, deprecate nameForIrSerialization, use name instead
2022-12-15 12:31:11 +00:00
Steven Schäfer
6af616d3c3
FIR: make declarations marked with 'override' implicitly open
...
#KT-52236 Fixed
2022-12-14 21:46:41 +00:00
Svyatoslav Kuzmich
777bb0f0cb
[Wasm] Rename Wasm*CodegenContextImpl to Wasm*CodegenContext
2022-12-13 16:08:49 +01:00
Svyatoslav Kuzmich
b9b2723b0a
[Wasm] Remove Wasm*CodegenContext interfaces
...
Use classes instead
2022-12-13 16:08:48 +01:00
Ilya Chernikov
42a0acac4f
Scripting, IR: fix capturing of implicit receiver
...
#KT-55068 fixed
2022-12-11 09:08:55 +00:00
Pavel Mikhailovskii
1a76804862
KT-51290 Account for context receivers when generating delegate function bodies
2022-12-09 15:36:45 +00:00
Pavel Mikhailovskii
08767d572b
KT-51247 Fix resolution of functional types with context receivers
2022-12-09 15:29:39 +00:00