Alexander Udalov
ac39e4d89c
Minor, add regression test
...
#KT-42554
2020-10-09 22:11:37 +02:00
Mark Punzalan
ccbf7cc2ee
ForLoopsLowering: Use last-exclusive for-loops for optimized until
...
progressions instead of decrementing "last".
#KT-41352 Fixed
2020-10-09 21:34:56 +02:00
Mark Punzalan
a093efde11
Add blackbox test for KT-42533.
2020-10-09 21:34:56 +02:00
Denis Zharkov
59bd7364ab
Enhance bounds for type parameters after loops disconnection
...
Otherwise behavior might change because enhancement may force computation
for other type parameters in cases like:
class A<X extends Y, Y extends X> {}
See the test:
org.jetbrains.kotlin.checkers.DiagnosticsTestGenerated.Tests.J_k#testRecursiveRawUpperBound3
2020-10-08 14:00:10 +03:00
Denis Zharkov
dfb1cb8642
Minor. Rename UnknownNullness -> NullnessUnknown
2020-10-08 14:00:09 +03:00
Alexander Udalov
2f003bdcb5
Minor, add regression test
...
#KT-42527
2020-10-07 21:31:43 +02:00
pyos
dd1682510f
JVM_IR: generate accessors for inherited abstract members too
...
#KT-41468 Fixed
2020-10-07 21:23:18 +02:00
pyos
98088f739d
PSI2IR: do not generate when subjects multiple times
...
`in x` is represented as `<subject expression> in x` in psi, so
generating the entire call and then replacing the argument with a read
of a temporary results in redundant regenerations of the subject.
#KT-42054 Fixed
#KT-42455 Fixed
2020-10-07 17:22:25 +03:00
Alexander Udalov
e280416fe2
Minor, add regression test
2020-10-07 14:31:01 +02:00
pyos
a6c62d3339
JVM_IR: do not inherit delegated property trackers
...
This is no longer needed now that lambdas are generated before
`$$delegatedProperties`.
2020-10-07 14:30:36 +02:00
Pavel Punegov
93b2ea2feb
Regenerate tests
2020-10-07 12:18:12 +03:00
pyos
a6d5c02d9b
JVM_IR: add a transformChildren call to PropertyReferenceLowering
...
#KT-42354 Fixed
2020-10-06 17:06:34 +02:00
Roman Artemev
a52e045c91
[IR BE] Remap references in default arg value in inner class constructor
...
Make sure that there is no reference into zombie declarations.
- fix KT-40771
- add test
2020-10-06 00:06:47 +03:00
Ilmir Usmanov
5e02a4efd7
Mark implicit receiver as captured if the function is expression
...
#KT-40260 Fixed
#KT-42280 Fixed
2020-10-05 09:36:54 +02:00
Dmitry Petrov
e018f2bd3e
JVM_IR more precise check for special bridges in super class
...
KT-41123
2020-10-02 12:51:49 +03:00
Mark Punzalan
b58d75440b
[FIR] Fix tests for vararg execution order after rebase.
2020-10-02 12:08:07 +03:00
Mark Punzalan
a2a4d94834
[FIR] Capture array and indices for postfix/prefix increment/decrement
...
of array element (including overloaded indexed access operators, e.g.,
`a[b, c]++`).
This prevents double-evaluation of the array and indices expressions,
which may have side-effects.
2020-10-02 12:08:03 +03:00
Mark Punzalan
eb631bc429
[FIR] Keep vararg argument order in resolved calls (KT-17691).
2020-10-02 12:08:02 +03:00
Mark Punzalan
f6ce2d893c
[FIR] Handle varargs in overloaded indexed access operator.
2020-10-02 12:08:01 +03:00
Victor Petukhov
d02432cf93
Introduce warning for the changing arguments execution order for named varargs (KT-17691)
2020-10-01 12:15:13 +03:00
Victor Petukhov
d62c665e99
Introduce language feature to enable the correct arguments execution order for named varargs (KT-17691)
2020-10-01 12:14:49 +03:00
pyos
6dc08cb2fd
Add a bytecode test that checks inlining of adapted references
2020-09-29 19:49:46 +02:00
pyos
0e8a664c9b
JVM_IR: fix bound suspend-converted references
...
Note: inlining of adapted callable references is still suboptimal.
#KT-42021 Fixed
2020-09-29 19:49:46 +02:00
Dmitry Petrov
1fc459ab4c
JVM_IR KT-42260 add abstract overrides for generated stubs
2020-09-29 14:06:12 +03:00
pyos
bd6ead0467
JVM_IR: check for null when converting unboxed inline classes to strings
...
`C?` can be unboxed into `T?` if if wraps a reference type `T!!`, but in
this case `null` is not a valid value to pass to `toString-impl`.
#KT-42005 Fixed
2020-09-25 16:50:34 +02:00
Steven Schäfer
20a5c44e41
JVM IR: Fix types in generated function reference constructor
...
For references to suspend functions this fixes an IllegalStateException
in the type mapper, which is what the "suspendFunctionMethodReference"
test is about.
2020-09-25 14:52:19 +02:00
Dmitry Petrov
a45b409e23
Minor: update generated JS tests
2020-09-25 11:57:32 +03:00
Dmitriy Novozhilov
0d29d6d361
[FIR] Transform when conditions with boolean expected type
...
#KT-42130 Fixed
2020-09-24 14:59:35 +03:00
Roman Artemev
6670e4b21d
[JS IR] Fix callable reference to generic constructor
...
- add tests
- fix KT-42025
2020-09-24 12:50:47 +03:00
Steven Schäfer
3a7cc93c4e
JVM IR: More precise check for calls to the implementation method in a default stub
2020-09-24 07:53:31 +02:00
Dmitriy Novozhilov
0f868ff83f
[TEST] Regenerate tests
2020-09-23 17:12:14 +03:00
Roman Artemev
76ed09482f
[IR BE] Fix inline class lowering
...
- provide additional type parameters from context when transforming
constructor into static function.
- fix KT-41771
- add test
2020-09-23 14:49:38 +03:00
Alexander Udalov
d48307ec34
JVM IR: do not copy type parameters into suspend lambda classes
...
Declarations inside that class are referencing the type parameters of
the containing function anyway, since we don't do any remapping. So the
resulting IR is slightly more correct, and doesn't lead to type
parameter/argument size mismatch error on IrBased/Wrapped-descriptors.
This reverts a part of 01da7f289b , which looks like it was no longer
necessary after 8d0ffa1444 .
#KT-42028 Fixed
2020-09-23 12:21:37 +02:00
Georgy Bronnikov
8990344bb2
Varargs: add test
2020-09-22 23:53:41 +03:00
Georgy Bronnikov
67d7bf3269
IR: take care of supertypes when copying IrTypeParameters
2020-09-22 23:53:40 +03:00
Georgy Bronnikov
33a2c69122
IR: remap types in LocalDeclarationsLowering
2020-09-22 23:53:40 +03:00
Ilmir Usmanov
b406022315
Mark Unit unspillable if it is merged with unspillable Unit
...
#KT-42004: Fixed
2020-09-17 23:23:14 +02:00
Ilmir Usmanov
dfd7f33bd3
Minor. Add test with reified type parameter
2020-09-17 16:14:07 +02:00
Ilmir Usmanov
9ecf5dc9af
Support is/as operations on suspend callable reference conversion
2020-09-17 16:14:04 +02:00
Ilmir Usmanov
f960201f52
Ignore type parameters of inline class
...
when checking whether we can return unboxed inline class
from suspend function
2020-09-17 11:20:48 +02:00
Alexander Udalov
2f86554d5a
IR: don't produce fake overrides for static and private declarations
...
Note that only irrelevantStaticProperty.kt failed before this change.
Having private declarations caused no problems, but it seems incorrect,
so it's fixed now and irrelevantPrivateDeclarations is added just in
case.
#KT-41848 Fixed
2020-09-12 20:01:34 +02:00
Alexander Gorshenev
744f290fc4
A proper modality calculation was missing in IR fake override construction algorithm
...
#KT-41765 Fixed
2020-09-11 18:56:17 +03:00
Ilmir Usmanov
52f9569d33
Generate CHECKCAST Object inside the markers
...
otherwise, the unboxing interferes with bytecode analysis.
2020-09-09 17:43:42 +02:00
Ilmir Usmanov
e8a451072e
Minor. Add tests with same JvmType in covariant override
2020-09-09 17:43:41 +02:00
Ilmir Usmanov
7cbd067460
Add tests with resume path
2020-09-09 17:43:39 +02:00
Ilmir Usmanov
1c97eafea8
Check for COROUTINE_SUSPENDED inside callable reference
...
#KT-41429 Fixed
2020-09-09 17:43:37 +02:00
Alexander Udalov
3d7619421f
JVM IR: fix exception on star projection in type parameter upper bound
...
#KT-41761 Fixed
2020-09-09 17:07:52 +02:00
Victor Petukhov
c1ebd33833
Capture flexible intersection types properly: take into account both bounds and use the same captured arguments for them
...
^KT-41693 Fixed
2020-09-09 14:52:12 +03:00
Alexander Udalov
3a5d0ab427
JVM IR: fix HashCode intrinsic for generics substituted with primitives
...
The problem here was that although the IR type of the expression was
primitive, the type of the actual expression in the bytecode generated
after type erasure was `Ljava/lang/Object;`, and we were trying to call
a non-existing method `Object.hashCode(Object)`.
#KT-41669 Fixed
2020-09-08 23:37:00 +02:00
Dmitry Petrov
b00ce872ea
JVM: record JVM signature for equals/hashCode/toString in inline classes
2020-09-07 12:25:50 +03:00