Ilya Gorbunov
f91ea4b4d9
Add more tests for 'contains' in ranges #KT-52933
...
- ranges produced by 'rangeUntil' operator
- ranges of unsigned values
- more elements in ranges produced by `downTo`
2022-08-03 22:18:14 +00:00
Ilya Gorbunov
a044555299
Do not run rangeUntil operator tests in old JVM BE #KT-52933
2022-08-03 22:18:12 +00:00
Steven Schäfer
03aee58585
JVM IR: Avoid IrComposite in ReturnableBlockLowering (KT-53202)
2022-08-03 00:19:31 +02:00
Steven Schäfer
6f0ff6aeb0
IR: Fix scope transparency in ReturnableBlockLowering
...
An IrReturnableBlock introduces a new variable scope and shouldn't be
replaced with a transparent IrComposite block.
2022-07-29 01:06:44 +02:00
Ilya Gorbunov
1addc23b23
Add range iteration tests for rangeUntil
...
#KT-52932
2022-07-26 23:52:10 +00:00
Alexander Udalov
584b70719e
JVM IR: disable SAM conversion in case type has 'in' projection
...
... and the corresponding type parameter has a non-trivial (i.e.
non-`Any?`) upper bound.
The best solution here would be to get rid of
`removeExternalProjections` completely, and just use the type of the
argument at the call site, but see KT-52428.
#KT-51868 Fixed
2022-07-23 01:10:53 +02:00
Pavel Mikhailovskii
fd5800e8b5
KT-53090 Support -Xlambdas=indy for anonymous functions
2022-07-18 08:18:05 +00:00
Steven Schäfer
8014712569
JVM IR: Check that we generate callable references in tests
2022-07-14 23:24:18 +02:00
Pavel Mikhailovskii
b26155dd9e
KT-53007 Fix accessibility checks when calling a protected member via super@Outer
2022-07-14 13:09:42 +02:00
Pavel Kunyavskiy
5cdda48487
[K/N] Extract const val initializers to place of usage
...
This would make behaviour more consistent with jvm. There is still
a difference in behaviour about point where side effects happen.
^KT-52970
2022-07-13 08:49:40 +00:00
Vladimir Sukharev
fd52f475cb
Devirtualization fails to eliminate boxing in function reference context
...
^KT-49847 Fixed
Merge-request: KT-MR-6460
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-07-12 08:26:27 +00:00
Victor Petukhov
cb2dbca0c3
[FE 1.0] Support loading rxjava3 nullability annotations on bounded wildcards
...
^KT-53041 Fixed
2022-07-11 12:44:07 +00:00
Victor Petukhov
2057deb91b
[FE 1.0] Create DONT_CARE type only for callable references with no expected type
...
Otherwise, it can be resolved safety
^KT-52270 Fixed
2022-07-11 12:44:06 +00:00
Nikita Nazarov
7287be6879
Add tests on variable spilling with debug mode enabled
...
#KT-48678 Fixed
2022-07-07 14:51:24 +03:00
Nikolay Krasko
d080297c20
Revert "Add tests on variable spilling with debug mode enabled"
...
This reverts commit 65bb6abae4 .
2022-07-05 11:04:50 +00:00
Pavel Kunyavskiy
c1ec1d9d4c
[K/N] Handle Unit? and Nothing? correctly in finally transformation
...
^KT-52985
2022-07-05 06:54:29 +00:00
Nikita Nazarov
65bb6abae4
Add tests on variable spilling with debug mode enabled
...
#KT-48678 Fixed
2022-07-02 18:29:18 +03:00
Pavel Mikhailovskii
8a402bcacd
KT-52875 Fix extension function literal creation with -Xlambdas=indy
2022-06-30 14:13:05 +00:00
Ilmir Usmanov
a5084c2f69
JVM IR: Make receiver type of IrGetField not null
...
otherwise, it will be mapped to inline class type if underlying type
is primitive of nullable.
#KT-52913 Fixed
2022-06-30 01:28:09 +00:00
Ilmir Usmanov
09c9641e23
FE: Use safe call when searching for suspend modifier
...
The modifier does not exist, when the parameter type is typealias.
#KT-35187 Fixed
2022-06-29 06:12:44 +02:00
Pavel Mikhailovskii
c3c09aa95a
KT-4107 Data objects
2022-06-28 16:58:20 +02:00
Ilmir Usmanov
f34ae686a0
JVM: Make coroutines spilling tests runtime
...
instead of bytecode text ones. Check the content of continuation
object instead of bytecode, since this is less prone to changes during
changes in coroutines codegen.
#KT-48678
2022-06-27 23:11:40 +02:00
Pavel Kunyavskiy
dfcf2cfa84
[K/N] Fix extracting local classes from lambda in cached inline function
...
^KT-52540
2022-06-27 14:09:27 +00:00
Pavel Mikhailovskii
3766698081
KT-52743 IR: Fix null checks in Elvis operators
2022-06-22 09:11:24 +00:00
Dmitriy Novozhilov
b73783b693
Add test for KT-52580
2022-06-21 14:10:37 +00:00
Victor Petukhov
fa7809cd80
[FE] Remove BuilderInference annotation from tests
2022-06-21 15:01:56 +02:00
Steven Schäfer
194a1d1c6a
JVM IR: Start fake variables for default lambdas after initialization
...
KT-52702
2022-06-15 16:49:22 +02:00
Pavel Mikhailovskii
bcd8a28d4c
KT-47823 IR.JVM Fix handling of for loop ranges with inline types and break/continue/return
2022-06-10 18:42:28 +00:00
pyos
27c51f5f88
JVM_IR: skip SAM lambdas when computing enclosing method of objects
...
This is what Java 15+ does, and it permits accessing captured type
parameters via reflection. The alternative is to emit generic signatures
on the lambda methods, but that was disabled and I have no clue why.
^KT-52417 Fixed
2022-06-08 23:59:58 +02:00
Pavel Mikhailovskii
f81d47bad6
KT-46797 Generate generic signatures for suspendImpl
2022-06-08 16:15:08 +02:00
Steven Schäfer
dbb6144ab0
JVM IR: Avoid boxing in generic floating point equality (KT-48635)
2022-06-08 15:38:06 +02:00
Pavel Mikhailovskii
65b2cee913
KT-23397 Optimize out field for property delegate when it's safe (JVM)
2022-06-07 10:46:01 +00:00
Ilmir Usmanov
f922684169
Minor. Add regression test
...
#KT-52561 Fixed
2022-06-02 13:26:24 +00:00
Denis.Zharkov
c1904004c4
FIR: Fix case when smartcast receiver is used for call to private method
...
^KT-54432 Fixed
2022-06-01 16:02:30 +00:00
Pavel Mikhailovskii
3b5179686e
KT-52592 Fix NPE from KProperty.getExtensionDelegate on property delegated to another property; make $delegate methods private
2022-06-01 14:02:28 +00:00
Victor Petukhov
96d1f89836
[BE] Support until operator in back-ends
2022-05-31 08:42:56 +00:00
Pavel Mikhailovskii
2ceccec2b8
KT-52551 Create a static initialization section in case of delegation to a property reference from a file class
2022-05-30 14:16:18 +00:00
Ivan Kochurkin
feb3f41108
[FIR] Fix resolve inside lambda
...
The lambda is passed to extension function with type parameters
that defined inside this lambda
^KT-52197
^KT-52190 Fixed
2022-05-29 23:41:25 +03:00
Ivan Kochurkin
ad7c213ab2
[FIR] Initialize type for annotation arguments during deserialization
...
Get rid of IrErrorTypeImpl creating in FIR2IR
2022-05-29 23:41:23 +03:00
Ivan Kochurkin
0ef043b074
[FIR2IR] Consider property init value from nested class, ^KT-52057 Fixed
2022-05-29 23:41:23 +03:00
Victor Petukhov
0199c76c06
[FE 1.0] Check callable reference return type safety during resolution
...
^KT-51844
^KT-52503 Fixed
2022-05-27 13:56:34 +00:00
Victor Petukhov
51551998c7
Revert "[FE 1.0] Take care callable reference candidates with recursive candidate return type"
...
This reverts commit d04beaa8bb49c99ceb993f3f7b32169c393b39f4.
2022-05-27 13:56:33 +00:00
Victor Petukhov
b411eb36e8
[FE 1.0] Take care standalone lambdas during updating types in the builder inference
...
^KT-50520 Fixed
2022-05-27 13:56:32 +00:00
Steven Schäfer
90d09dce2c
JVM IR: Mangle overridden symbols in non-inline functions (KT-52394)
2022-05-17 12:13:29 +00:00
pyos
513ef575ce
JVM: correctly merge typed null values
...
1. merge(null of type A, null of type B) = null of unknown type;
2. merge(null of type A, something of type B) = merge(unknown null, B).
^KT-52311 Fixed
2022-05-17 11:58:06 +00:00
Steven Schäfer
0da23198e6
JVM_IR: Add null-checks in SAM wrapper constructors (KT-50108)
2022-05-14 02:01:44 +02:00
Ilmir Usmanov
4f53b085ec
Do not override collection stub, if the override is suspend
...
but the stub is not. The other way around should be OK.
#KT-52237 Fixed
2022-05-09 23:16:58 +00:00
pyos
b19b265735
JVM_IR: generate continuation classes for suspend inline references
...
This is somewhat suboptimal since this results in `::suspendInline`
generating 2 classes while `{ suspendInline() }` only creates 1, but
it's the best allowed by the existing hierarchy of classes in stdlib. At
least it works?
^KT-50832 Fixed
2022-05-09 23:15:05 +00:00
Victor Petukhov
9f31f074da
[FE 1.0] Take care callable reference candidates with recursive candidate return type
...
^KT-51844 Fixed
2022-05-09 19:23:43 +00:00
Victor Petukhov
7675361380
[FE 1.0] Continue completion of calls inside that builder inference call postponed type variables of which has already been inferred
2022-05-09 12:38:39 +00:00