Svyatoslav Kuzmich
0945c110bf
[JS IR] Support init blocks in inline classes
2020-12-25 17:00:23 +03:00
Mikhail Glukhikh
776c4ba6ca
Add test for KT-25489 (to reproduce, turn UL classes OFF)
2020-12-25 14:06:16 +03:00
Victor Petukhov
50a388aec1
Mute wasm tests around builder inference and callable references
2020-12-25 11:53:21 +03:00
Victor Petukhov
0dde5ddd7e
Fail calls constraints of which contain uninferred type parameter
...
^KT-44055 Fixed
It's possible only if there is a callable reference among subcalls which go though the old type inference (and the error for uninferred type parameter wasn't reported)
2020-12-25 11:53:16 +03:00
Victor Petukhov
4c56962678
Report errors on callable references which contains postponed type variables in the receiver type
2020-12-25 11:53:15 +03:00
Victor Petukhov
1926434b18
Report error about uninferred type parameter for some special call' subcalls
2020-12-25 11:53:14 +03:00
Victor Petukhov
0b472f858b
Don't create DONT_CARE type for CR and lambdas within builder inference calls
...
It leads to leak such type to the back-end. Calls within a builder call should be updated without marking CR and lambdas with DONT_CARE type.
^KT-43845 Fixed
^KT-43956 Fixed
^KT-42622 Fixed
2020-12-25 11:53:14 +03:00
Victor Petukhov
b4d8adeeb4
Don't clean type info for containment operator if the resolution was unsuccessful, but all diagnostics were about only input types and non-strict only input types check was enabled
2020-12-25 11:53:09 +03:00
Victor Petukhov
954c9cecca
Compute type for callable references and lambdas inside not null assertion if couldn't get already recorded type
2020-12-25 11:52:59 +03:00
Victor Petukhov
39e579db91
Move tests for builder inference into the corresponding directory
2020-12-25 11:25:39 +03:00
Zalim Bashorov
df6635085b
[JS IR] Replace calls with invalid type arguments for type parameters with call to errorCode function from runtime.
2020-12-24 20:03:22 +03:00
Dmitry Petrov
a1574bf50a
JVM box tests for KT-30548
2020-12-24 19:35:36 +03:00
Ilmir Usmanov
9c67d8f89e
IC Mangling: Correctly mangle functions with generic return type
...
if the type's parent is inline class.
#KT-43050 Fixed
#KT-26130 Fixed
#KT-32384 Fixed
2020-12-24 14:29:48 +01:00
Dmitry Petrov
4e261cc358
JVM_IR KT-24258 fix NPE message for delegated properties
2020-12-23 21:50:10 +03:00
Dmitry Petrov
ad8bed078f
JVM box tests for KT-24193
2020-12-23 21:50:09 +03:00
Dmitry Petrov
a8d848ccbd
JVM box tests for KT-23974
2020-12-23 21:50:08 +03:00
Dmitry Petrov
3f7a776fb8
JVM box tests for KT-21092
2020-12-23 21:50:07 +03:00
Dmitry Petrov
9f908cdf7c
JVM box tests for KT-16752
2020-12-23 21:50:05 +03:00
Ilmir Usmanov
8bfcef415e
Do not generate variables for non-generated fields
...
Use attributes instead of classes.
#KT-43048 Fixed
2020-12-23 19:45:15 +01:00
Iaroslav Postovalov
8a7bc2ef6f
Rename continuation fields according the convention and count them in IR
2020-12-23 19:45:13 +01:00
Iaroslav Postovalov
6f34f00c61
Do not generate the field for unused parameters in suspend lambdas
2020-12-23 19:45:04 +01:00
Ilmir Usmanov
f49cf2d5ca
IC Mangling: correctly mangle inline default functions
...
#KT-43682 Fixed
2020-12-23 18:13:09 +01:00
Georgy Bronnikov
076272f7ca
FIR2IR: avoid descriptors computing hashCode
...
When synthesizing the hashCode function for data classes, descriptors
were used, in partcular, memberScope for primitive classes.
IrBasedDescriptors have no member scope, so we compute the hashCode
function based on IR structures.
2020-12-23 18:50:52 +03:00
Jinseong Jeon
aaa3f2e2c1
FIR2IR: correct IR origin for substitution overrides
...
#KT-44054 Fixed
2020-12-23 16:13:05 +03:00
Jinseong Jeon
34dbbdce07
FIR2IR: use lookupTag or class to getLocalClass, not classId
...
Before this commit, we sometimes tried to fetch anonymous object by id,
getting sometimes a wrong result because it's singleton.
Now we use lookupTag or FIR class itself instead.
#KT-44050 Fixed
2020-12-23 16:12:58 +03:00
Dmitry Petrov
632f5af442
Minor: kt21014.kt - add JVM_TARGET 1.8
2020-12-23 11:25:36 +03:00
Dmitry Petrov
3ae8521f12
Minor: drop kt21014.kt (SIGSEGV on HotSpot 6.0_45-b06)
2020-12-22 19:56:54 +03:00
Dmitry Petrov
796d821776
JVM_IR box tests for JDK9
2020-12-22 16:09:48 +03:00
Dmitry Petrov
c9d330207b
JVM_IR no nullability annotations on SAM wrapper constructor parameters
2020-12-22 16:09:46 +03:00
Dmitry Petrov
0dff583070
JVM KT-36984 SAM wrappers are anonymous inner classes
2020-12-22 16:09:45 +03:00
Dmitry Petrov
57dd9fc87a
JVM_IR KT-36984 SAM wrappers are anonymous inner classes
2020-12-22 16:09:45 +03:00
Dmitry Petrov
443cd0fc2c
Tests for issues fixed in JVM_IR
2020-12-22 16:07:06 +03:00
Jinseong Jeon
3bca6ae893
FIR: allow lower bound of flexible type when finding contributed invoke
2020-12-21 18:01:25 +03:00
Jinseong Jeon
d5a6991b2d
FIR: extend SAM conversion to subtype of functional type
2020-12-21 18:01:22 +03:00
Jinseong Jeon
dea01125d6
FIR deserializer: keep SourceElement for more precise Fir2IrLazyClass's source
2020-12-18 12:17:23 +03:00
Jinseong Jeon
4608431682
FIR2IR: correct base symbols of fake overrides for delegated member
...
#KT-43984 Fixed
2020-12-18 11:21:02 +03:00
Shagen Ogandzhanian
4f96f9d6a1
[JS IR] Initialize enum fields before accessing them in companion object
...
see https://youtrack.jetbrains.com/issue/KT-43901
2020-12-18 01:54:59 +01:00
Dmitry Petrov
8999fd88b1
JVM_IR KT-43401 KT-43518 fix ACC_STRICT and ACC_SYNCHRONIZED flags
2020-12-16 14:10:36 +03:00
Dmitry Petrov
7ed3860c70
JVM_IR KT-43043 fix nullability annotations for inline class members
2020-12-16 13:43:29 +03:00
Jinseong Jeon
6239301f4e
FIR: no constraint for coerced-to-Unit last expression of lambda
2020-12-15 17:52:49 +03:00
Dmitry Petrov
b0f6461fa9
JVM_IR KT-42020 special IdSignature for some fake override members
2020-12-15 12:56:45 +03:00
Jinseong Jeon
12cfba9ca9
FIR BB: remove stale test ignoring tags in old language versions
...
Since bf06d381 (move old Java nullability assertion tests...),
these tests aren't used by (Fir|Ir)BlackBoxCodegenTest anymore.
2020-12-15 11:52:50 +03:00
Jinseong Jeon
f7ade2b0b8
FIR2IR: introduce implicit casts for extension receivers
2020-12-15 11:52:49 +03:00
Kristoffer Andersen
8a5f260d04
[IR] Align debugging of suspend lambdas with old BE
...
The existing backend restores LVs and parameters from the suspend lambda
fields used for spilling between suspension points, hence they are
visible in the debugger as local variables, plain and simple.
This PR introduces the same pattern to the IR backend, to bring the
debugging experience in line with the existing backend.
Both backends are still at the mercy of the liveness analysis
performed in the coroutine transformer where a liveness analysis
minimizes live ranges of entries in the LVT. E.g. an unused parameter
will be dropped entirely.
Adjusted existing test expectations accounting for the differences in
LV behavior.
2020-12-12 11:48:47 +01:00
Dmitry Petrov
b7330a9e14
JVM_IR KT-43877 fix generic signatures for SAM-converted lambdas
2020-12-11 20:26:29 +03:00
Ilmir Usmanov
2b0a99b7b0
IC Mangling: Use correct java field type if the type is inline class
...
in old JVM BE.
#KT-26445
2020-12-11 17:51:37 +01:00
Ilmir Usmanov
69bb65496f
IC Mangling: Change test since we pass boxed inline class to java method
...
#KT-28214
2020-12-11 17:51:34 +01:00
Ilmir Usmanov
0cab69a7a0
IC Mangling: Do not mangle functions with inline classes from Java
...
in old JVM BE. Map types to boxed variants, when mapping signatures.
#KT-26445
2020-12-11 17:51:30 +01:00
Mikhael Bogdanov
b143cb9ae5
Disable new test on WASM
2020-12-11 06:36:42 +01:00
Mads Ager
c922484758
[JVM_IR] Use direct field access to backing fields on current class.
...
The current backend uses direct field access to the backing field
instead of calling the companion object accessor, which calls
an accessibility bridge, which then gets the field for code such as:
```
class A {
companion object {
val s: String = "OK"
}
// f uses direct access to the A.s backing field.
fun f() = s
}
```
This change does the same for the IR backend.
2020-12-11 06:24:55 +01:00