Ivan Kochurkin
241f457943
[IR] Use full name for expect/actual functions linking, simplify code
...
Don't put type parameters to expect-actual map since it's useless
^KT-56329 Fixed
2023-02-08 17:21:34 +00:00
Igor Chevdar
12d0b1e846
[K/N][codegen] Fixed wrong arguments evaluation order for IrSetField
...
#KT-56326 Fixed
2023-02-08 06:56:09 +00:00
Ivan Kochurkin
d401ff7b09
[FIR & IR] Implement JS MPP test infrastructure
...
^KT-55295 Fixed
2023-02-07 14:16:29 +00:00
Ilmir Usmanov
e42efe1ee6
JVM IR: Ignore class type parameters if function is static
...
Otherwise, it leads to type parameters duplication in case of
suspendImpls, since they inherit type parameters from containing class.
#KT-56407: Fixed
2023-02-07 13:39:25 +00:00
Dmitriy Novozhilov
075e025452
[FIR2IR] Properly generate GetObject expression for callable reference on companion object
...
^KT-55909 Fixed
2023-02-07 09:49:20 +00:00
Vladimir Sukharev
e75d739c7a
Add tests for property const initializers
...
Merge-request: KT-MR-8661
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-02-06 15:43:41 +00:00
Vladimir Sukharev
441c74e2c8
Unmute test, fixed by KT-55462
...
Merge-request: KT-MR-8640
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-02-05 16:37:13 +00:00
Denis.Zharkov
6d7096b5e9
IR: Fix StackOverflowError caused by using DNN type in lambda
...
^KT-54140 Fixed
2023-02-03 14:08:57 +00:00
Ilmir Usmanov
901ff06e90
JVM IR: Copy type parameters from class to suspendImpl
...
These type parameters where used in function parameters,
but since suspendImpl is static function, it has no access
to class type parameters. Solution is to copy them to
the function itself.
#KT-55125 Fixed
2023-02-02 15:48:10 +00:00
Mikhail Glukhikh
6d642c88f5
FIR2IR: make enum with abstract members from interfaces abstract
...
Related to KT-55828
2023-02-02 10:53:20 +01:00
Svyatoslav Kuzmich
abf70a586c
[Wasm] stdlib API: make kotlin.assert internal
...
Being disabled by default
and not well-documented, these functions cause confusion among early
adopters as to why their code don't work properly.
Assert APIs need a proper design across Kotlin platforms.
Since APIs are not available in common code and K/JS, it is premature
to have such a general feature in a new experimental platform.
Compiler tests:
* Mute tests that rely on assert.
* Replace JVM-specific assert calls with require calls and unmute passed K/JS tests.
Merge-request: KT-MR-8636
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com >
2023-02-02 07:06:12 +00:00
Ivan Kochurkin
c89770c450
[IR] Consider extension receivers during expect functions actualization
...
^KT-56199 Fixed
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
e601b01be2
[FIR2IR] Use single IrBuiltInsOverFir for all MPP source modules
...
^KT-56229 Fixed
2023-02-01 11:42:45 +00:00
Vladimir Sukharev
fbcb07d375
[K2/N] KT-55828 Enable already fixed and accidentally disabled tests
...
Merge-request: KT-MR-8605
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-02-01 10:44:26 +00:00
Mikhail Glukhikh
f0ea8ab81b
FIR2IR: make IrGetValue type consistent with IrVariable type
...
#KT-55458 Fixed
2023-01-31 13:43:26 +00:00
Pavel Kunyavskiy
cb655d2d37
[K/N] Fix work with adapted function references
...
Their parsing was totally incorrect for K2, and sometimes incorrect for
K1. After this commit it uses same code as for JVM.
^KT-55462
2023-01-30 19:44:49 +00:00
Marco Pennekamp
9a693fa967
[FIR] Update backend tests with actual/expect in same module
...
- The fix for KT-55570 caused some backend tests to fail, because errors
are now correctly reported for simple classes and actual/expect in
the same module is not supported in FIR. See KT-55177.
- The commit also adds separate tests for K2. Unfortunately, these have
to be disabled for K1 because K1 then reports "expect without actual"
errors.
2023-01-30 17:17:58 +00:00
Mikhail Glukhikh
bf090cdc6d
Add different black box tests around KT-52338
2023-01-30 14:55:41 +00:00
Mads Sig Ager
7c3cc1d5c1
[JVM_IR] Limit inner class attributes to types in class file ( #5081 )
...
* [JVM_IR] Limit inner class attributes to types in class file
Inner class attributes should only be recorded for types that
are materialized in the result class file. In particular, we
should not emit inner classes attributes for types that appear
only in fake overrides. We do map these types to track the
fake overrides for JVM signature clashes but they are not
materialized in the class file.
^KT-56104 Fixed
* [JVM_IR] Consistently pass around materialized boolean in mapType.
2023-01-30 14:11:07 +01:00
Dmitriy Novozhilov
2fddb15539
[Test] Move some builder inference tests from codegen to diagnostics
...
^KT-56169
2023-01-30 09:29:58 +00:00
Dmitriy Novozhilov
88efa6bfb6
Update tests after switching to LV 1.9
2023-01-30 09:29:57 +00:00
Nikolay Lunyak
e2403c801f
[FIR] KT-55747: Report error for operator fun mod
...
^KT-55747 Fixed
Merge-request: KT-MR-8522
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-01-30 08:48:33 +00:00
Pavel Mikhailovskii
f308f33f9f
KT-56154 Fix PropertyReferenceLowering for Java synthetic properties
...
Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com >
2023-01-28 10:38:09 +00:00
Ivan Kylchik
706a8a91f6
Move kt55912 test into involvesIrInterpreter dir
2023-01-27 17:15:52 +00:00
Zalim Bashorov
b02279de14
[Wasm] Run wasm test using all available VMs: V8 & SpiderMonkey for now
...
Also, add a new directive, `WASM_FAILS_IN`, to specify VMs where a test is expected to fail for now.
#KT-56166 Fixed
2023-01-27 17:57:50 +01:00
Sergej Jaskiewicz
bd18fd40ea
[K/N] Remap type args of SAM interfaces in FunctionReferenceLowering
...
#KT-56188 Fixed
2023-01-27 15:26:32 +00:00
Ivan Kylchik
bc21753877
Move IR interpreter's tests from ir/loweredIr directory into box
2023-01-27 10:52:56 +00:00
Ivan Kylchik
13cad2a820
Don't save constant value for non-resolved array expression in K1
...
#KT-55912 Fixed
2023-01-27 09:56:35 +00:00
Mikhail Glukhikh
d436d56871
FE: add some more tests around static field fake overrides
2023-01-26 15:27:58 +00:00
Mikhail Glukhikh
4167a69e30
K2: generate implicit dispatch receivers for static members called
...
#KT-55371 Fixed
#KT-55372 Fixed
2023-01-26 15:27:57 +00:00
Mikhail Glukhikh
9cfcf057ef
K2: expand qualifier type aliases in visibility checker & in FIR2IR
...
#KT-55408 Fixed
2023-01-26 15:27:56 +00:00
Mikhail Glukhikh
416d4f57eb
K2: add test for KT-55371
2023-01-26 15:27:55 +00:00
pyos
9f17b5de97
FIR CFA: add edges according to constructor delegation
2023-01-26 13:12:11 +00:00
Vladimir Sukharev
1990883bdc
[K2/N] KT-55464, KT-56091 Fix various klib annotations, including critical ones
...
Merge-request: KT-MR-8457
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-26 11:15:15 +00:00
Igor Chevdar
9d911247fa
[K/N] Wrap continuation with ContinuationImpl on callable references
...
#KT-55869
2023-01-25 15:55:16 +00:00
Mikhail Glukhikh
f0a1d3e3b1
FIR2IR: generate modifiers in reference adapters as PSI2IR does
...
In particular, this commit makes isExternal, isExpect and isTailRec
always false for FIR2IR reference adapters
#KT-55461 Fixed
2023-01-25 12:31:34 +00:00
Mikhail Glukhikh
ae4b8be16b
FIR2IR: never generate empty when #KT-55459 Fixed
...
In details, this commit changes the following:
- it converts FIR when without branches to empty IR block without when
- it doesn't drop empty else branches in when anymore
2023-01-25 12:31:34 +00:00
Svyatoslav Kuzmich
e1f72d60dc
[Wasm] stdlib API: Mark primitives constructor properties as private
...
These are implementation detail and were not meant to be public
2023-01-24 14:55:00 +01:00
Alexander Udalov
c58314fddf
Reflection: improve and optimize kotlinFunction/kotlinProperty
...
- Make the implementations very similar, to fix KT-54833 where the
companion object case was forgotten for kotlinProperty.
- Optimize both functions to look up the function/property by name
first, to cover the most probable case when the JVM name of a
declaration is equal to its Kotlin name. This fixes KT-55937.
#KT-54833 Fixed
#KT-55937 Fixed
2023-01-23 20:43:00 +01:00
Ilmir Usmanov
945cdc8884
Minor. Ignore tests in JS_IR_ES6, regenerate tests
2023-01-19 17:04:31 +01:00
Ilmir Usmanov
d18672bfb1
Wrap continuation with ContinuationImpl on callable references
...
in startCoroutineUninterceptedOrReturn. Otherwise, the coroutine will
not be interceptable later.
Add a test, which checks, that intercepted continuation is released.
#KT-55869
2023-01-19 00:35:36 +00:00
Pavel Kunyavskiy
2843c0ad1e
[K/N] Fix cleaning stack-local primitive array
...
^KT-55984
2023-01-18 11:52:43 +00:00
Artem Kobzar
71486a321c
[K/JS] Add support of compilation with ES-classes
2023-01-17 18:14:17 +00:00
Dmitriy Novozhilov
8bd3c9d019
[FIR] Don't transform nested classes during class update because of @JvmRecord annotation
...
^KT-55703 Fixed
2023-01-17 14:51:28 +00:00
Dmitriy Novozhilov
ad191eb179
[Test] Add test for KT-55703
2023-01-17 14:51:28 +00:00
Dmitriy Novozhilov
83cbd322fd
[Test] Prohibit declaring dependency on the same module with different kinds in module structure
2023-01-17 14:51:27 +00:00
Vladimir Sukharev
e4d209cbde
[K2] [KN-55977] Fix suspend type serialization
...
Merge-request: KT-MR-8328
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-17 13:07:21 +00:00
Pavel Kunyavskiy
6ab00a65dd
[K/N] Support volatile intrinsics on globals
...
Also, make intrinsics signature more consistent with other intrinsics,
e.g. with isInitialized on lateinit field.
^KT-54944
2023-01-16 08:34:24 +00:00
Pavel Kunyavskiy
fc95b88eef
[K/N] Tests for volatile
...
^KT-54944
2023-01-16 08:34:23 +00:00
Svyatoslav Kuzmich
d14d4c8510
[Wasm] Support JsModule and JsQualifier
2023-01-13 21:58:34 +00:00